فراخوانی Toolها در NodeJS با هوش مصنوعی
برخی از مدلها به توسعهدهندگان اجازه میدهند که فهرستی از Toolها را فراهم کنند که در هر زمان از فرآیند تولید، قابل فراخوانی باشند. این قابلیت برای گسترش تواناییهای LLM بسیار مفید است، زیرا مدل میتواند برای انجام منطق یا دسترسی به دادهها، با سیستمهای خارجی تعامل برقرار کند.
یک فایل به نام main.js در پوشه پروژه خود ایجاد کنید و کد زیر را در آن قرار دهید:
متغیرهای محیطی BASE_URL و LIARA_API_KEY همان baseUrl سرویس هوش مصنوعی لیارا و کلید API لیارا هستند که باید در بخش متغیرهای محیطی برنامه خود، آنها را تنظیم کنید.
دسترسی به Tool Callها و Tool Resultها
اگر مدل تصمیم بگیرد که یک Tool را فراخوانی کند، یک tool call تولید خواهد کرد. شما میتوانید با بررسی پارامتر toolCalls در خروجی مدل، به این فراخوانی دسترسی پیدا کنید. یک فایل به نام main.js در پوشه پروژه خود ایجاد کنید و کد زیر را در آن قرار دهید:
دسترسی به Tool Results
شما میتوانید با بررسی پارامتر toolResults در خروجی، به نتیجهی فراخوانی Tool دسترسی پیدا کنید. یک فایل به نام main.js در پوشه پروژه خود ایجاد کنید و کد زیر را در آن قرار دهید:
toolResultsها تنها در صورتی در دسترس خواهند بود که Tool، دارای یک تابع execute باشد.
پروژه فوق را میتوانید بهصورت کامل در گیتهاب لیارا، مشاهده کنید.
پاسخ مدل
هنگام استفاده از Toolها، توجه به این نکته مهم است که مدل بهصورت پیشفرض پاسخی با نتایج Tool ارائه نمیدهد. دلیل این موضوع آن است که مدل، از نظر فنی، پاسخ خود به پرامپت را در قالب یک tool call تولید کرده است. در بسیاری از کاربردها، لازم است که مدل نتایج حاصل از tool call را خلاصه کرده و آن را در زمینهی پرامپت اصلی ارائه دهد. برای دستیابی به این هدف، میتوانید از فیلد maxSteps استفاده کنید؛ این پارامتر بهطور خودکار toolResultها را به مدل بازمیگرداند تا یک مرحلهی تولید دیگر را فعال کند.