شروع به کار با هوش مصنوعی Perplexity


Perplexity یک سامانه پیشرفته مبتنی بر زبان طبیعی است که با استفاده از مدل‌های قدرتمند یادگیری ماشینی، امکان جستجوی هوشمند، پاسخ‌گویی دقیق و تحلیل عمیق اطلاعات را فراهم می‌کند. این AI با ترکیب قابلیت‌های جستجوی زنده و پردازش زبان طبیعی، تجربه‌ای سریع و قابل اعتماد برای کاربران فراهم می‌سازد؛ به‌طوری‌که هم می‌تواند مانند یک موتور جستجو عمل کند و هم مانند یک دستیار هوشمند، پاسخ‌های قابل فهم و کاربردی ارائه دهد. Perplexity در تحلیل متون پیچیده و ارائه نتایج همراه با منابع معتبر، در میان ابزارهای مشابه برجسته شده است.

در حال حاضر، لیارا، مدل‌های زیر از Perplexity را در API خود پشتیبانی می‌کند:

  • مدل perplexity/sonar-pro
  • مدل perplexity/sonar
  • مدل perplexity/sonar-reasoning-pro

پس از ایجاد سرویس هوش مصنوعی و دریافت baseUrl و کلید API، می‌توانید از مدل‌های Grok استفاده کنید.

در قطعه کدهای ارائه‌شده توسط لیارا برای اتصال به مدل، از OpenAI SDK استفاده می‌شود. تمامی مدل‌هایی که لیارا ارائه می‌دهد؛ سازگار با OpenAI SDK هستند.

اتصال به مدل

برای اتصال به مدل در سطح کد، می‌توانید از دو ابزار استفاده کنید:

  • OpenAI SDK: ابزار رسمی ارائه‌شده توسط OpenAI. تمامی مدل‌های ارائه‌شده در لیارا، با این SDK سازگار هستند.
  • AI SDK: ابزار ارائه‌شده توسط Vercel. این SDK، تنها برای جاوااسکریپت و تایپ‌اسکریپت در دسترس است.

در ادامه، نحوه اتصال به مدل، هم با OpenAI SDK و هم با AI SDK، بررسی شده است.

برای اتصال به مدل با OpenAI SDK، می‌توانید از قطعه کدهای زیر، استفاده کنید.

در ابتدا، برای استفاده از مدل هوش مصنوعی مدنظر خود در جاوااسکریپت، باید پکیج openai را نصب کنید. برای این کار، می‌توانید از npm یا yarn استفاده کنید:

کپی
npm install openai # or yarn add openai

سپس، می‌توانید مانند قطعه کد زیر، به مدل هوش مصنوعی خود متصل شوید:

کپی
const OpenAI = require('openai');

const openai = new OpenAI({
  baseURL: '<baseUrl>',
  apiKey: '<LIARA_API_KEY>',
});

async function main() {
  const completion = await openai.chat.completions.create({
    model: '<model_name>',
    messages: [
      {
        role: 'user',
        content: 'Hello!',
      },
    ],
  });

  console.log(completion.choices[0].message);
}

main();

در قطعه کد‌های فوق، به‌جای <baseUrl>، آدرس سرویس هوش مصنوعی خود را قرار دهید و به‌جای <LIARA_API_TOKEN>، کلید API خود را وارد کنید. همچنین، به‌جای <model_name>، نام یکی از مدل‌های فوق را قرار دهید.

پارامترهای قابل تنظیم

در OpenAI SDK، شما می‌توانید پارامترهای زیر را تنظیم کنید.

در نظر داشته باشید که پارامترهای زیر، ممکن است در برخی از مدل‌ها، پشتیبانی نشوند.

  • frequency_penalty: عددی بین -2 تا 2. کاهش یا افزایش احتمال تکرار کلمات پرتکرار در پاسخ. هرچه بالاتر باشد؛ تنوع بیشتر است
  • logit_bias: تغییر احتمال ظاهر شدن توکن‌های خاص
  • n: تعداد پاسخ‌هایی که قرار است مدل همزمان تولید کند.
  • response_format: مدل را مجبور می‌کند خروجی را به فرمت خاصی برگرداند
  • seed: مقدار عددی ثابت برای شروع تولید تصادفی، در صورت نیاز، به خروجی‌های قابل تکرار
  • stop: آرایه‌ای از رشته‌ها برای اینکه مدل هنگام رسیدن به آن‌ها پاسخ را متوقف کند
  • stream: اگر true باشد، پاسخ مدل به صورت استریم ارسال می‌شود. برای پیاده‌سازی‌های real-time یا رابط کاربری، این حالت مفید است
  • stream_options: تنظیمات مربوط به حالت stream. فقط وقتی استفاده می‌شود که stream: true باشد
  • temperature: عددی بین 0 تا 2. کنترل میزان تصادفی بودن خروجی؛ عدد کمتر، واقع‌گرایی بیشتر و عدد بیشتر، خلاقیت بیشتر
  • tool_choice: تعیین کردن اینکه مدل چه زمانی Tool را فراخوانی کند (به‌صورت هوشمند یا همیشه)
  • tools: مشخص کردن یک‌سری Tool که مدل در صورت نیاز، آن‌ها را فراخوانی کند
  • user: شناسه‌ی کاربر نهایی. برای دسته‌بندی بهتر درخواست‌ها و جلوگیری از سوءاستفاده، به‌کار می‌رود

در ادامه، مثال استفاده از این پارامترها، در زبان‌های مختلف، قرار گرفته است:

کپی
from openai import OpenAI

client = OpenAI(
  base_url='<baseUrl>',
  api_key='<LIARA_API_KEY>',
)

response = client.chat.completions.create(
    model="<model_name>",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "write a short article about Machine Learning in json"}
    ],
    frequency_penalty=1.2,
    presence_penalty=1.0,
    temperature=0.8,
    top_p=0.9,
    n=2,
    seed=42,
    stop=["\nUser:", "\nSystem:"],
    logit_bias={"50256": -100}, 
    stream=False,
    stream_options=None,
    response_format={"type": "json_object"},
    tool_choice="auto",
    tools=[
        {
            "type": "function",
            "function": {
                "name": "summarize_text",
                "description": "summarizing a long text",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "text": {"type": "string", "description": "the text should be summarized"}
                    },
                    "required": ["text"]
                }
            }
        }
    ],
)

print(response)

در قطعه کد‌ فوق، به‌جای <baseUrl>، آدرس سرویس هوش مصنوعی خود را قرار دهید و به‌جای <LIARA_API_TOKEN>، کلید API خود را وارد کنید. همچنین، به‌جای <model_name>، نام یکی از مدل‌های فوق را قرار دهید.