اجرای همزمان ۱۸ درخواست OpenAI با استفاده از Task.WhenAll در C#
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۲/۰۲ ۱۱:۱۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
iching.rocks برای تولید تفسیرهای جامع I Ching نیاز دارد که ۱۸ بخش مختلف را به طور همزمان تولید کند. رویکرد سنتی، فراخوانی OpenAI به صورت متوالی ۱۸ بار بود که حدود یک دقیقه زمان میبرد.
با استفاده از Task.WhenAll در C#، این فراخوانیها به صورت موازی اجرا میشوند و زمان کل به حدود ۴ ثانیه کاهش مییابد. هر درخواست به طور مستقل ردیابی میشود، رمزگذاری شده و در یک محدوده خطای جداگانه قرار میگیرد تا از خرابی کل سیستم در صورت بروز خطا جلوگیری شود.
معماری این سیستم شامل تجزیه هر تفسیر به بخشهای نامگذاری شده با شناسههای عددی است. این بخشها در فایل DBaseMapping.cs تعریف شدهاند. متد GetAllOpenAIRequests در processing.cshtml.cs لیست بخشها را در زمان اجرا ایجاد میکند و درخواستهای JSON مربوطه را با استفاده از IOpenAIRequestBuilder تولید میکند.
در نهایت، این رویکرد با استفاده از Task.WhenAll امکان اجرای همزمان درخواستهای OpenAI را فراهم میکند و با مدیریت خطا و رمزگذاری دادهها، پایداری و امنیت سیستم را افزایش میدهد. این روش به ویژه برای برنامههایی که نیاز به پردازش موازی دادهها با استفاده از OpenAI دارند، مفید است.