آموزش OpenAI Function Calling

قابلیت Function Calling یکی از ویژگی‌های جدید مدل‌های پیشرفته OpenAI است که امکان تعامل مستقیم با توابع تعریف‌شده توسط توسعه‌دهندگان را فراهم می‌کند. این ویژگی به شما اجازه می‌دهد تا مدل‌ها را به اجرای عملیات خاصی از طریق فراخوانی مستقیم توابع هدایت کنید.

Function Calling چیست؟

Function Calling به شما امکان می‌دهد که توابع خود را به مدل معرفی کنید و مدل بر اساس نیاز، توابع مناسب را فراخوانی کند. این قابلیت برای ساخت ابزارهای هوشمند، ربات‌ها و سیستم‌های اتوماسیون بسیار مفید است.

مزایا:

  • تعامل مؤثرتر بین مدل و نرم‌افزار.
  • کاهش نیاز به پردازش اضافی داده.
  • افزایش دقت خروجی مدل.

چگونه کار می‌کند؟

برای استفاده از این قابلیت، ابتدا باید توابع موردنظر خود را تعریف کنید و سپس آنها را همراه با توضیحات مربوطه به مدل معرفی کنید. این توضیحات شامل نام تابع، پارامترها و هدف آن است. مدل بر اساس ورودی کاربر، تصمیم می‌گیرد که کدام تابع را فراخوانی کند.

{
  "name": "get_weather",
  "description": "دریافت اطلاعات آب‌وهوا.",
  "parameters": {
    "type": "object",
    "properties": {
      "location": {
        "type": "string",
        "description": "نام شهر یا مکان جغرافیایی."
      },
      "date": {
        "type": "string",
        "description": "تاریخ موردنظر برای اطلاعات آب‌وهوا."
      }
    },
    "required": ["location"]
  }
}

سپس هنگام استفاده از API، توابع به همراه پرسش کاربر ارسال شده و اگر نیاز باشد، مدل تابع مربوطه را اجرا کرده و نتیجه را برمی‌گرداند.

پیاده‌سازی در پروژه‌ها

  1. تعریف توابع: ابتدا تمام توابع موردنیاز پروژه خود را مشخص کنید.
  2. ایجاد JSON Schema: برای هر تابع یک Schema ایجاد کنید که جزئیات ورودی‌ها و خروجی‌ها را مشخص کند.
  3. ارسال به API: هنگام فراخوانی API، توضیحات توابع را همراه با درخواست ارسال کنید.

نمونه کد پیاده‌سازی

// تعریف توابع
const functions = [
  {
    name: 'get_weather',
    description: 'دریافت اطلاعات آب‌وهوا.',
    parameters: {
      type: 'object',
      properties: {
        location: { type: 'string', description: 'نام شهر یا مکان.' },
        date: { type: 'string', description: 'تاریخ اطلاعات.' }
      },
      required: ['location']
    }
  }
];

// ارسال درخواست
fetch('https://api.openai.com/v1/chat/completions', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${API_KEY}` },
  body: JSON.stringify({ model: 'gpt-4-0613', messages, functions })
}).then(response => response.json()).then(data => console.log(data));

کاربردهای Function Calling

  • ساخت دستیارهای هوشمند شخصی.
  • مدیریت عملیات پیچیده در نرم‌افزارها.
  • ایجاد سیستم‌های پاسخ‌دهی پویا.

نتیجه‌گیری

قابلیت Function Calling گامی بزرگ در توسعه ابزارهای هوش مصنوعی است که امکان تعامل بهتر بین کاربران و ماشین‌ها را فراهم می‌کند. با استفاده از این ویژگی می‌توانید برنامه‌های قدرتمندتری بسازید که نیازهای کاربران را دقیق‌تر پاسخ دهند.