شماره تماس : 09014413449

    ...

  • ...

  • ...

  • ...

ثبت نام / ورود

کیت توسعه نرم‌افزار هوش مصنوعی

mba
31 مرداد 1405
دسته بندی عمومی

Running Laravel AI in Production: A Practical Guide to Building Resilient Laravel AI Systems The Complete Guide

کیت توسعه نرم‌افزار هوش مصنوعی لاراول (Laravel AI SDK) یک API یکپارچه و گویا برای ادغام ارائه‌دهندگان هوش مصنوعی در فریمورک لاراول ارائه میده.

طراح سایت شما - محمدباقر آیرملو

OpenAI Anthropic Gemini Groq xAI DeepSeek Mistral Ollama OpenRouter

فراتر از متن، این SDK تولید تصویر، تبدیل متن به گفتار، تبدیل گفتار به متن، جاسازی‌ها، رتبه‌بندی مجدد، مدیریت فایل و ذخیره‌سازی برداری را در بین ارائه‌دهندگانی از جمله ElevenLabs، Cohere، Jina و VoyageAI مدیریت می‌کند.

 

فراخوانی مدل آسان است.

 

اجرای هوش مصنوعی لاراول در محیط تولید، جایی است که اکثر تیم‌ها با آن مشکل دارند.

درخواست‌های هوش مصنوعی کندتر، مستعد شکست و گران‌تر از عملیات استاندارد CRUD هستند. اگر با هوش مصنوعی لاراول مانند یک فراخوانی HTTP معمولی رفتار کنید، سیستم شما در نهایت زیر بار از کار می‌افتد.

 

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

۱) معماری عامل

بخش اساسی سازنده‌ی SDK هوش مصنوعی لاراول، عامل (Agent) است. به جای پخش کردن فراخوانی‌های هوش مصنوعی در کنترلرها و سرویس‌ها، شما رفتار را در یک کلاس PHP اختصاصی تعریف می‌کنید:

در ترمینال ترجیح من phpstorm یا گیت

php artisan make:agent SalesCoach

هر عامل، قرارداد عامل (Agent Contract) را پیاده‌سازی می‌کند و از ویژگی Promptable (قابلیت ارائه درخواست) استفاده می‌کند. عامل‌ها دستورالعمل‌ها، زمینه مکالمه، ابزارها و طرح‌های خروجی را کپسوله‌سازی می‌کنند:

 

 
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;
 
class SalesCoach implements Agent
{
    use Promptable;
 
    public function instructions(): string
    {
        return 'You are a sales coach...';
    }
}

 

 

اجرای دستور و فراخوانی دستیار

$response = (new SalesCoach)->prompt('Analyse this sales transcript...');

 

عامل‌ها را می‌توان با ویژگی‌های PHP برای ارائه‌دهنده، مدل، زمان انقضا، محدودیت‌های توکن، دما و محدودیت‌های گام پیکربندی کرد:

 

 

 
use Laravel\Ai\Attributes\Provider;
use Laravel\Ai\Attributes\Model;
use Laravel\Ai\Attributes\MaxSteps;
use Laravel\Ai\Attributes\MaxTokens;
use Laravel\Ai\Attributes\Temperature;
use Laravel\Ai\Attributes\Timeout;
 
#[Provider('anthropic')]
#[Model('claude-sonnet-4-5-20250929')]
#[MaxSteps(10)]
#[MaxTokens(4096)]
#[Temperature(0.7)]
#[Timeout(120)]
class SalesCoach implements Agent
{
    use Promptable;
}

       

برای فراخوانی‌های یکباره بدون ایجاد کلاس، SDK عوامل ناشناس را ارائه می‌دهد:

 
use function Laravel\Ai\agent;
 
$response = agent(
    instructions: 'You are an expert at software development.',
)->prompt('Tell me about Laravel');
 
 

 

این معماری مبتنی بر عامل، پایه و اساس هر الگوی تولیدی است که در ادامه می‌آید.

 

۲) زمان‌های انتظار درخواست در محیط تولید

در محیط‌های تولید، چندین لایه زمان انتظار وجود دارد:

 

CDN یا پروکسی معکوس، متعادل‌کننده بار، محدودیت‌های کارگر Nginx یا Apache، محدودیت‌های زمان انتظار PHP-FPM، زمان‌های انتظار Livewire یا Octane، صبر مرورگر

 

حتی اگر دستگاه محلی شما ۶۰ ثانیه منتظر بماند، زیرساخت تولید اغلب این کار را نخواهد کرد.

 

Laravel AI SDK از طریق سه مکانیسم، زمان‌های انتظار درخواست صریح را پشتیبانی می‌کند:

 

ویژگی #[Timeout(120)] در کلاس عامل، یک متد timeout() در عامل، یک پارامتر زمان انتظار که مستقیماً به prompt() یا stream() ارسال می‌شود.

زمان انتظار پیش‌فرض ۶۰ ثانیه است. اگر تکمیل یک فراخوانی هوش مصنوعی در زنجیره زمان انتظار زیرساخت شما تضمین نشود، هرگز نباید درون یک درخواست وب استاندارد اجرا شود.

 
$response = (new SalesCoach)->prompt(
    'Analyse this transcript...',
    timeout: 120,
);
      
 
 

 

هر چیزی که در هوش مصنوعی لاراول مدت زیادی در حال اجرا باشد، باید در صف انتظار قرار گیرد.

 

۳) صف‌ها برای هوش مصنوعی لاراول ضروری هستند

Laravel AI SDK پشتیبانی درجه یک از صف را ارائه می‌دهد. عامل‌ها را می‌توان با یک فراخوانی متد به صف اعزام کرد:

 
use Laravel\Ai\Responses\AgentResponse;
use Throwable;
 
(new SalesCoach)
    ->queue('Analyse this sales transcript...')
    ->then(function (AgentResponse $response) {
        // Handle completed response
    })
    ->catch(function (Throwable $e) {
        // Handle failure
    });

       

در پشت صحنه، queue() یک کار InvokeAgent را که ShouldQueue را پیاده‌سازی می‌کند، ارسال می‌کند. QueuedAgentResponse برگشتی، PendingDispatch لاراول را در بر می‌گیرد و به شما امکان دسترسی به تمام کنترل‌های استاندارد صف را می‌دهد:

 
(new SalesCoach)
    ->queue('Analyse this transcript...')
    ->onQueue('ai')
    ->delay(now()->addSeconds(5))
    ->then(fn ($response) => /* handle */);
       

 

صف‌بندی فقط به تولید متن محدود نمی‌شود. تصاویر، صدا، رونوشت‌ها و جاسازی‌ها، همگی از اجرای صف‌بندی‌شده پشتیبانی می‌کنند:

 
Image::of('A donut on the kitchen counter')
    ->portrait()
    ->queue()
    ->then(fn ($image) => $image->store());

این پایه است.

برای یک سیستم هوش مصنوعی لاراول آماده تولید، شما همچنین به موارد زیر نیاز دارید:

 

یک رکورد کار مداوم برای حسابرسی و بازیابی

ردیابی وضعیت کار را فراتر از نظارت صف پیش‌فرض لاراول پاک کنید

حفاظت‌های Idempotency برای جلوگیری از فراخوانی‌های تکراری هوش مصنوعی در تلاش مجدد

منطق تلاش مجدد کنترل‌شده با backoff (به بخش 8 مراجعه کنید)

 

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

یک گردش کار انعطاف‌پذیر هوش مصنوعی لاراول معمولاً به این شکل است:

کاربر اعلان هوش مصنوعی را ارسال می‌کند

برنامه بلافاصله شناسه کار را برمی‌گرداند

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

 

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

 

چرا یک صف اختصاصی هوش مصنوعی اهمیت دارد

 

 

 

کیت توسعه نرم‌افزار هوش مصنوعی لاراول (Laravel AI SDK) یک API یکپارچه و گویا برای ادغام ارائه‌دهندگان هوش مصنوعی در فریمورک لاراول ارائه میده.

نظرات

برای ارسال نظر شما باید ابتدا وارد حساب کاربری خود شوید.