لاراول AI SDK به نسخهٔ ۱.۰ رسید
خلاصهٔ کاملتر
تیم لاراول نسخهٔ ۱.۰ بستهٔ رسمی Laravel AI SDK رو منتشر کرد، همون پکیجی که فوریه معرفی شد و یه API واحد برای کار با ارائهدهندههای مختلف هوش مصنوعی میده. تو این نسخه یه قابلیت تازه به اسم Classification اضافه شده که کنار متن، تصویر، صدا و embedding میشینه و برای تصمیمهای کوتاهه: اینکه یه تیکت پشتیبانی بره سمت کدوم تیم، یا یه کامنت فلگ بشه یا نه.
به نوشتهٔ لاراول نیوز، این قابلیت روی مدلهای Jev از TypeSafe اجرا میشه و تو پست رسمی اومده که Jev این جور سوالها رو «در حد میلیثانیه و با کسری از قیمت LLMهای معمول» جواب میده. تو کد یه سری سوال میدی و برای هرکدوم یه جواب تایپدار میگیری:
$response = Classification::of($ticket->body)->questions([
'is_urgent' => new Boolean('Does this message convey urgency?'),
'department' => new Choice('Which team should handle this?', [
'billing' => 'Payments, invoicing, refunds',
'technical' => 'Bugs, outages, integrations',
]),
])->classify();
$response['department']->choice; // 'technical'یه نوع سوال Score هم هست که عددی بین ۰.۰ تا ۱.۰ برمیگردونه. برای یه سوال سادهٔ بلهیاخیر هم مکرو تازهٔ Str::decide بولین میده و آرگومان threshold تعیین میکنه مدل چقدر باید مطمئن باشه:
Str::of($message)->decide('Is this spam?');فعلاً Classification فقط با TypeSafe و OpenRouter کار میکنه و تیم میگه بقیهٔ ارائهدهندهها رو پشت همین API اضافه میکنه. جدا از اون، SDK حالا پروتکلهای Vercel Chat و AG-UI رو میخونه و استریم میکنه، پس میشه مستقیم با کتابخونههای فرانتاندی که همین پروتکلها رو میفهمن (مثل CopilotKit) جفتش کرد. تولکالهای نیازمند تأیید هم با قرارداد Approvable و تریت InteractsWithApprovals ایجنت رو نگه میدارن تا یکی تأیید کنه، رد کنه یا آرگومانها رو قبل از اجرا ویرایش کنه.
بقیهٔ تغییرها: میدلور ایجنت حالا تو هر مرحلهٔ تولید اجرا میشه نه یه بار برای هر prompt، ToolSearch ابزارهای کماستفاده رو فقط وقتی لازم شد لود میکنه (روی OpenAI و Anthropic) و CodeExecution کد رو تو سندباکس خود ارائهدهنده اجرا میکنه. پیامها هم تو یه ستون JSON به اسم steps ذخیره میشن و promptTokens و completionTokens شدن inputTokens و outputTokens. اگه SQL خام روی tool_calls یا tool_results داری باید ببریش سراغ steps و قبل از دیپلوی مایگریشن بکفیل رو یه بار اجرا کنی.
نکات کلیدی:
- Classification روی مدلهای Jev از TypeSafe اجرا میشه و فعلاً با TypeSafe و OpenRouter کار میکنه.
- نوع سوالها Boolean، Choice و Score (بین ۰.۰ تا ۱.۰) هستن، بهعلاوهٔ مکرو Str::decide با آرگومان threshold.
- پروتکلهای Vercel Chat و AG-UI پشتیبانی میشن؛ برای کلاینتهای AG-UI متد usingAgentUserInteractionProtocol() رو صدا میزنی.
- promptTokens و completionTokens به inputTokens و outputTokens تغییر اسم دادن.
- قبل از دیپلوی ۱.۰ باید مایگریشن بکفیل یه بار اجرا بشه و SQL خام روی tool_calls و tool_results به ستون steps منتقل بشه.




