aisuite؛ یک API واحد برای همهٔ LLMها
خلاصهٔ کاملتر
aisuite یه کتابخانهٔ سبک پایتون برای ساختن با مدلهای زبانیه که در دو لایه طراحی شده: یه Chat Completions API یکسان روی چند provider، و یه Agents API با tool و toolkit روی اون. به گفتهٔ توضیحات پروژه، هدفش اینه که تفاوت SDKهای مختلف رو پنهان کنه تا روی منطق تمرکز کنی نه جزئیات هر provider.
لایهٔ Chat Completions یه interface به سبک OpenAI روی OpenAI، Anthropic، Google، Mistral، Hugging Face، AWS، Cohere، Ollama، OpenRouter و بقیه میذاره. اسم مدل به شکل : نوشته میشه و کتابخونه خودش درخواست رو به provider درست میفرسته؛ یعنی برای عوضکردن provider فقط کافیه همون یه رشته رو عوض کنی:
import aisuite as ai
client = ai.Client()
models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]
for model in models:
response = client.chat.completions.create(model=model, messages=messages)
print(response.choices[0].message.content)لایهٔ Agents API فراخوانی tool رو به یه کار ساده تبدیل میکنه: توابع عادی پایتون رو پاس میدی و خودِ aisuite schema رو میسازه، فراخوانیها رو اجرا میکنه و نتیجه رو به مدل برمیگردونه. با تنظیم max_turns این حلقهٔ رفتوبرگشتی خودکار انجام میشه، ولی اگه کنترل دستی بخوای میتونی اون رو حذف کنی و خودت حلقه رو اجرا کنی.
نویسنده اشاره میکنه که Agents API چیزهایی که یه harness واقعیِ production لازم داره رو هم میده: سیاستهای ابزار (مثل نیازمندیِ تأیید یا لیست مجاز/ممنوع)، state store برای ذخیره و ازسرگیریِ اجراها، و artifact و tracing. علاوهبر این، aisuite بهصورت بومی از MCP (Model Context Protocol) پشتیبانی میکنه، پس ابزارهای هر MCP server رو میشه بدون boilerplate به مدل داد.
همین ریپازیتوری خونهٔ OpenCoworker هم هست؛ یه ایجنت دسکتاپ که با aisuite ساخته شده و میتونه علاوهبر چت، تحقیق عمیق کنه و کارهای واقعی روی کامپیوترت انجام بده: خوندن فایلها با اجازه، خوندن/فرستادن پیام (Slack، ایمیل و غیره) و ساخت خروجی واقعی مثل PDF و صفحهگسترده. کلیدِ API خودت رو میبری (OpenAI، Anthropic، Google) یا کاملاً محلی با Ollama اجراش میکنی، و دادهت روی دستگاه خودت میمونه. خودِ کتابخونه هم تحت مجوز MIT منتشر شده.
نکات کلیدی:
- یه API یکسان روی چند provider؛ عوضکردن مدل فقط با تغییر یه رشته
- لایهٔ Agents برای tool calling با توابع پایتون و max_turns
- سیاستهای ابزار، state store و پشتیبانی بومی از MCP
- OpenCoworker: ایجنت دسکتاپِ ساختهشده با aisuite برای کارهای روزمره
- امکان اجرای محلی با Ollama و ماندن داده روی دستگاه؛ مجوز MIT




