برنامه نویسی

الگوهای عامل AI با AI بهار

همانطور که برنامه های کاربردی AI محور تکامل می یابند ، توسعه دهندگان به طور فزاینده ای از عوامل مدل بزرگ زبان (LLM) استفاده می کنند تا کارهای پیچیده را به طور کارآمد انجام دهند. با این حال ، مؤثرترین پیاده سازی ها نه به چارچوب های بیش از حد پیچیده بلکه به الگوهای طراحی ساده و سازنده متکی هستند.

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

عوامل AI چیست؟

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

  • گردش کار: توالی های ساختاری که در آن LLM ها و ابزارهای خارجی از مسیرهای اجرای از پیش تعریف شده پیروی می کنند. این سیستم ها پیش بینی را در اولویت قرار می دهند و برای کارهای خوب و تکرار شونده ایده آل هستند.

  • نمایندگان: سیستم های پویاتر و خودمختار که در آن LLM ها فرآیندهای خاص خود را دیکته می کنند ، ابزار را انتخاب می کنند و نحوه انجام وظایف را تعیین می کنند. این امکان انعطاف پذیری و سازگاری بیشتر را فراهم می کند.

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

جریان عامل AI

الگوهای کلیدی در سیستم های عامل AI

  1. گردش کار زنجیره ای

یک گردش کار زنجیره ای چندین مرحله را در یک دنباله خطی ترتیب می دهد ، جایی که خروجی یک مرحله به مرحله بعدی می رسد. این وضوح و کنترل را تضمین می کند در حالی که امکان سازگاری جزئی را فراهم می کند.

چه زمانی استفاده کنید:

  • وظایف با مراحل متوالی روشن
  • هنگامی که می خواهید با دقت بیشتر با تأخیر تجارت کنید
  • هنگامی که هر مرحله بر روی خروجی مرحله قبلی ساخته می شود

گردش کار زنجیره ای

  1. گردش کار موازی سازی

این الگوی شامل اجرای چندین کار به طور همزمان و افزایش کارایی در عملیات فشرده داده است. هنگام واکشی یا پردازش مقادیر زیادی از اطلاعات به طور همزمان مفید است.

چه زمانی استفاده کنید:

  • پردازش حجم زیادی از موارد مشابه اما مستقل
  • کارهایی که به چندین دیدگاه مستقل نیاز دارند
  • هنگامی که زمان پردازش بسیار مهم است و وظایف به صورت موازی است

گردش کار موازی سازی

  1. گردش کار مسیریابی

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

چه زمانی استفاده کنید:

  • کارهای پیچیده با دسته های متمایز ورودی
  • هنگامی که ورودی های مختلف به پردازش تخصصی نیاز دارند
  • هنگامی که طبقه بندی را می توان به طور دقیق انجام داد

گردش کار مسیریابی

  1. کارگران ارکستر

ارکستور AI وظایف را به چندین عامل متخصص کارگر واگذار می کند ، هر یک مسئول یک عملکرد مجزا (به عنوان مثال ، بازیابی داده ها ، تجزیه و تحلیل ، خلاصه).

چه زمانی استفاده کنید:

  • کارهای پیچیده ای که در آن زیرنویس ها نمی توانند پیش بینی شوند
  • وظایفی که نیاز به رویکردها یا دیدگاههای مختلف دارند
  • موقعیت هایی که نیاز به حل مسئله سازگار دارند

گردش کار ارکستراتور-کارگران

  1. ارزیاب-بهینه کننده

این الگوی شامل یک ارزیاب است که کیفیت خروجی یک عامل را ارزیابی می کند و بهینه ساز پاسخهای آینده را بر اساس بازخورد ، بهبود دقت در طول زمان می کند.

چه زمانی استفاده کنید:

  • معیارهای ارزیابی روشن وجود دارد
  • پالایش تکراری مقدار قابل اندازه گیری را فراهم می کند
  • وظایف از دورهای مختلف انتقاد بهره مند می شوند

گردش کار ارزیاب-بهینه ساز

الگوهای عامل AI استفاده شده است

از الگوهای در پروژه استفاده شد:

1 گردش کار زنجیره ای

  • شرح: زنجیره ای برای بهبود دقت.
  • برنامه در پروژه: گردش کار شامل بازیابی ترجیحات کاربر و سپس واکشی و تجزیه و تحلیل اخبار بر اساس آن ترجیحات است. این می تواند به عنوان زنجیره ای از کارها باشد ، که در آن از خروجی یک کار (ترجیحات کاربر) به عنوان ورودی برای بعدی (بازیابی خبری) استفاده می شود.

2 گردش کار مسیریابی

  • شرح: مسیریابی هوشمند ورودی به جریان های تخصصی.
  • برنامه در پروژه: GetNewsByUserPreferences سرویس درخواست را به نقاط پایانی API (رمزنگاری یا سهام) بر اساس موضوع مورد علاقه کاربر هدایت می کند. این نمونه ای از گردش کار مسیریابیبشر

3 کارگران ارکستر

  • شرح: یک AI مرکزی (ارکستر) وظایف را به زیر فرآیندهای تخصصی (کارگران) توزیع می کند.
  • برنامه در پروژه: NewsService به عنوان یک ارکستر ، با هماهنگی اخبار و تجزیه و تحلیل با مدل AI عمل می کند. مدل AI (OpenAichatModel) به عنوان یک کارگر تخصصی برای تجزیه و تحلیل متن عمل می کند.

4 ارزیاب-بهینه کننده

  • شرح: استفاده از LLMS برای ارزیابی تکراری و پالایش.
  • برنامه در پروژه: extractNewsAndGiveOpinion روش از یک مدل AI برای خلاصه و تجزیه و تحلیل اخبار استفاده می کند ، که می تواند به عنوان نوعی ارزیابی محتوا و پالایش تلقی شود.

بهار شما چارچوبی است که ادغام عملکردهای AI را در برنامه های بهار تسهیل می کند. یکی از ویژگی های اصلی آن است ابزار تماس، که به مدل های AI اجازه می دهد تا با API های خارجی (ابزارها) در تعامل باشند تا قابلیت های خود را گسترش دهند. این ابزارها را می توان برای:

جزئیات اجرای فراخوانی ابزار در بهار هوش مصنوعی ، با تمرکز بر ایجاد عوامل هوش مصنوعی که از ابزارهایی برای بازیابی اطلاعات و انجام اقدامات استفاده می کنند. علاوه بر این ، ما ارزیابی می کنیم که آیا برخی از الگوهای گردش کار مشترک در سیستم های AI استفاده شده است ، مانند گردش کار زنجیره ایبا گردش کار موازی سازیبا گردش کار مسیریابیبا کارگران ارکستروت ارزیاب-بهینه کنندهبشر


ساختار پروژه

1 userpreferencesservice

این سرویس وظیفه بازیابی ترجیحات کاربر را از یک مخزن (به عنوان مثال ، یک پایگاه داده) دارد. به عنوان یک تابع اجرا می شود (Function) و به عنوان لوبیای بهار در معرض دید قرار گرفته است.

@Bean(name = GET_USER_PREFERENCES_FUNCTION_NAME)
@Description("Get topic by userId")
public Function<UserPreferenceRequest, UserPreferenceResponse> getUserPreferencesInfo(
        UserPreferencesRepository userPreferencesRepository) {
    return new UserPreferencesService(userPreferencesRepository);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ویژگی ها:

  • می گیرد userId به عنوان ورودی
  • برای بازیابی ترجیحات کاربر ، مخزن را پرس و جو کنید.
  • موضوع مورد علاقه کاربر را برمی گرداند (به عنوان مثال ، “رمزنگاری” یا “سهام”).

2 getNewsByUserPreferences

این سرویس اخبار را بر اساس موضوع مورد علاقه کاربر بازیابی می کند و آنها را با استفاده از یک مدل هوش مصنوعی تجزیه و تحلیل می کند. همچنین به عنوان یک تابع اجرا می شود (Function).

@Bean(name = GET_LATEST_NEWS_BY_TOPIC_FUNCTION_NAME)
@Description("Get latest news from user topic")
public Function<GetNewsByPreferenceRequest, GetNewsByPreferenceResponse> getNewsFromPreference(NewsService newsService) {
    return new GetNewsByUserPreferences(newsService);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ویژگی ها:

  • موضوع مورد علاقه (به عنوان مثال ، “رمزنگاری” یا “سهام”) را به عنوان ورودی می گیرد.
  • یک سرویس خارجی (به عنوان مثال ، alphaclientnewssentimentals) برای بازیابی اخبار مرتبط.
  • برای خلاصه و تجزیه و تحلیل اخبار از یک مدل AI (به عنوان مثال OpenAI) استفاده می کند.
  • اخبار خلاصه و تجزیه و تحلیل را برمی گرداند.

3 اخبار اخبار

این سرویس مسئول:

  • بازیابی اخبار از یک API خارجی (alphaclientnewssentimentals).
  • با استفاده از یک مدل AI (OpenAichatModel) برای خلاصه و تجزیه و تحلیل اخبار.
@Service
public class NewsService {

    private final AlphaClientNewsSentimentals alphaClient;
    private final OpenAiChatModel chatModel;

    public NewsService(AlphaClientNewsSentimentals alphaClient, OpenAiChatModel chatModel) {
        this.alphaClient = alphaClient;
        this.chatModel = chatModel;
    }

    public List<NewsAndSentimentals> getNews(GetNewsRequest request) {
        if (request.category().equals("crypto")) {
            return alphaClient.requestCrypto(CryptoEnum.BITCOIN.getTicker());
        } else {
            return alphaClient.requestStock(StockEnum.APPLE.getTicker());
        }
    }

    public GetNewsByPreferenceResponse extractNewsAndGiveOpinion(List<NewsAndSentimentals> newsResponses) {
        return ChatClient.create(chatModel)
                .prompt()
                .system(s -> s.text("You are a professional financial analyst..."))
                .user(u -> u.text("{news}").param("news", newsResponses))
                .call()
                .entity(GetNewsByPreferenceResponse.class);
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مراحل بعدی

  • اجرا گردش کار موازی سازی برای بهبود کارآیی در بازیابی اخبار.
  • کاوش در استفاده از ارزیاب-بهینه کننده برای پالایش تکراری تجزیه و تحلیل های تولید شده توسط مدل AI.

نحوه اجرای پروژه

  1. پیش نیازهای:

    • جاوا 17+
    • بوت بهار 3.x
    • کلید API Openai (برای مدل AI)
    • پیکربندی مخزن تنظیمات کاربر (به عنوان مثال ، یک پایگاه داده).
  2. راه اندازی:

    • کلید API OpenAi را در آن اضافه کنید application.properties:
     spring.ai.openai.api-key=YOUR_KEY_HERE
    
  1. اعدام:

     ./mvnw spring-boot:run
    
  2. تست:

    – از نقاط پایانی استراحت برای آزمایش اولویت و بازیابی اخبار استفاده کنید.

مخابری

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا