ساخت عاملهای هوش مصنوعی با LangChain
عاملهای LangChain برای کار از LangGraph استفاده میکنند. مدل در یک حلقه (loop) ابزارها را فراخوانی میکند. این فرآیند تا زمانی که پاسخ نهایی پیدا شود ادامه مییابد.
شما میتوانید با استفاده از createAgent یک عامل اولویتبندی پشتیبانی (support triage agent) بسازید. شما به سه مورد نیاز دارید:
- یک مدل
- فهرستی از ابزارها
- یک سیستم پرامپت (system prompt)
نحوه عملکرد حلقه: مدل در هر مرحله (turn) یکی از دو کار زیر را انجام میدهد:
- متنی را برای پایان دادن به اجرا برمیگرداند.
- یک ابزار را فراخوانی میکند. LangChain ابزار را اجرا کرده و مرحله جدیدی را با نتیجهی آن شروع میکند.
شما باید یک recursionLimit تنظیم کنید. این کار از حلقهی بینهایتِ عامل جلوگیری میکند.
نحوه تعریف ابزارها:
از تابع tool به همراه یک Zod schema استفاده کنید. به هر ابزار یک نام و یک توضیحات (description) اختصاص دهید. این کار به مدل کمک میکند تا تصمیم بگیرد چه زمانی از آن استفاده کند.
جریان نمونه برای یک عامل پشتیبانی:
- کاربر سوالی میپرسد.
- مدل
get_customerرا فراخوانی میکند. - مدل
get_invoiceرا فراخوانی میکند. - مدل
search_knowledge_baseرا فراخوانی میکند. - مدل یک تیکت ایجاد میکند یا پاسخی میدهد.
مقایسه SDKها:
LangChain:
- بهترین گزینه برای RAG و پشتههای (stacks) پیچیده عاملها.
- از
tool()باZod schemasاستفاده میکند. - از
agent.invokeیاagent.streamاستفاده میکند. - از LangGraph برای حافظه (memory) استفاده میکند.
Vercel AI SDK:
- بهترین گزینه برای اپلیکیشنهای TypeScript.
- از
tool()باinputSchemaاستفاده میکند. - از
generateTextاستفاده میکند.
OpenAI Agents SDK:
- بهترین گزینه برای جریانهای کاری مبتنی بر OpenAI.
- از
tool()با پارامترهای Zod استفاده میکند. - از
run()استفاده میکند.
اگر به بارگذارهای اسناد (document loaders) و بازیابها (retrievers) در یک جا نیاز دارید، LangChain را انتخاب کنید. اگر یک لایه عامل ساده میخواهید، Vercel یا OpenAI را انتخاب کنید.
Source: https://dev.to/zsevic/building-ai-agents-with-langchain-5e69
Optional learning community: https://t.me/GyaanSetuAi