AI აგენტების ორკესტრირება LangChain-ით და DSPy-ით გაუმჯობესებული პროგრამული არქიტექტურისთვის | B4N1

AI აგენტების ორკესტრირება LangChain-ით და DSPy-ით გაუმჯობესებული პროგრამული არქიტექტურისთვის

8 months ago · b4n1 Read time: 3 min

AI აგენტების ორკესტრირება LangChain-ით და DSPy-ით გაუმჯობესებული პროგრამული არქიტექტურისთვის

შესავალი

დღევანდელ ციფრულ ლანდშაფტში, პროგრამული სისტემები სულ უფრო რთული ხდება, ხელოვნური ინტელექტის (AI) და მანქანათმცოდნეობის (ML) შესაძლებლობების ინტეგრირებით. შედეგად, მასშტაბური და ელასტიური სისტემების დაპროექტება, რომლებსაც შეუძლიათ AI აგენტების ეფექტურად ორკესტრირება, პროგრამული უზრუნველყოფის ინჟინრების მწვავე პრობლემად იქცა. ეს სტატია იკვლევს ხელოვნური ინტელექტის, პროგრამული უზრუნველყოფის ინჟინერიისა და საორკესტრო ინსტრუმენტების კვეთას პროგრამული უზრუნველყოფის ეფექტური არქიტექტურის შესაქმნელად, ფოკუსირებულია AI აგენტების დანერგვაზე LangChain-ისა და DSPy-ის გამოყენებით.

ხელოვნური ინტელექტის ორკესტრირების საჭიროება

ტრადიციული პროგრამული სისტემები ხშირად შექმნილია მონოლითური არქიტექტურით, სადაც ყველა კომპონენტი მჭიდროდ არის დაკავშირებული და ერთად მუშაობს ხაზოვანი გზით. თუმცა, ხელოვნური ინტელექტისა და ML-ის მოსვლასთან ერთად, პროგრამული სისტემები სულ უფრო მეტად ნაწილდება და ხდება დეცენტრალიზებული, მრავალი აგენტი ერთად მუშაობს საერთო მიზნის მისაღწევად. ამან გამოიწვია ხელოვნური ინტელექტის ორკესტრირების აუცილებლობა, რაც გულისხმობს სისტემების დიზაინს, რომლებსაც შეუძლიათ ეფექტურად მართონ და კოორდინაცია გაუწიონ ურთიერთქმედებას რამდენიმე AI აგენტს შორის.

LangChain: ჩარჩო AI აგენტების შესაქმნელად

LangChain არის Python-ის ჩარჩო AI აგენტების შესაქმნელად, რომლებსაც შეუძლიათ ურთიერთქმედება ერთმანეთთან და გარე სისტემებთან. ის უზრუნველყოფს ინსტრუმენტებისა და ბიბლიოთეკების ერთობლიობას, რომელიც დეველოპერებს საშუალებას აძლევს შექმნან აგენტები, რომლებსაც შეუძლიათ მსჯელობა, სწავლა და ცვალებად გარემოსთან ადაპტირება. LangChain აგებულია Rust პროგრამირების ენაზე და უზრუნველყოფს მაღალი დონის API-ს AI აგენტების შესაქმნელად.

DSPy: ჩარჩო ორკესტრირებისთვის

DSPy არის პითონის ჩარჩო განაწილებული სისტემების შესაქმნელად, რომლებსაც შეუძლიათ მრავალი AI აგენტის ორკესტრირება. ის უზრუნველყოფს ინსტრუმენტებისა და ბიბლიოთეკების ერთობლიობას, რომელიც დეველოპერებს საშუალებას აძლევს შეიმუშავონ და განათავსონ მასშტაბური და გამძლე სისტემები, რომლებსაც შეუძლიათ მართონ კომპლექსური ურთიერთქმედება მრავალ აგენტს შორის. DSPy აგებულია Apache Kafka შეტყობინებების სისტემის თავზე და უზრუნველყოფს მაღალი დონის API-ს განაწილებული სისტემების შესაქმნელად.

AI აგენტების დანერგვა LangChain-თან და DSPy-თან

AI აგენტების განსახორციელებლად LangChain-ისა და DSPy-ის გამოყენებით, ჩვენ უნდა მივყვეთ ამ ნაბიჯებს:

  1. განსაზღვეთ აგენტის არქიტექტურა: განსაზღვრეთ ხელოვნური ინტელექტის აგენტის არქიტექტურა, მათ შორის შეყვანები, გამომავალი და სხვა აგენტებთან ურთიერთქმედება.
  2. Agent Logic-ის დანერგვა: განახორციელეთ AI აგენტის ლოგიკა LangChain-ის გამოყენებით, მსჯელობის, სწავლისა და ადაპტაციის მექანიზმების ჩათვლით.
  3. აგენტის ურთიერთქმედების ორკესტრირება: გამოიყენეთ DSPy რამდენიმე AI აგენტს შორის ურთიერთქმედების ორკესტრირებისთვის, მათ შორის საკომუნიკაციო პროტოკოლებსა და მონაცემთა გაცვლის მექანიზმებს შორის.
  4. სისტემის დანერგვა: სისტემის დანერგვა ღრუბლოვანი პლატფორმის ან კონტეინერიზაციის ჩარჩოს გამოყენებით, როგორიცაა Docker.

** კოდის მაგალითი: მარტივი AI აგენტის დანერგვა LangChain-ით**

აქ არის მარტივი კოდის მაგალითი, რომელიც აჩვენებს, თუ როგორ უნდა განახორციელოთ AI აგენტი LangChain-ის გამოყენებით: ``პითონი იმპორტის ლანგჯაინი langchain.chains-დან იმპორტი LLMChain

აგენტი = langchain.Agent( input_schema={"ტექსტი": str}, output_schema={"ტექსტი": str}, ჯაჭვი=LLMCchain( model="davinci:instructix", max_length=2048, ტემპერატურა = 0.7, ), )

განახორციელეთ აგენტური ლოგიკა

def agent_logic (შეყვანის_ტექსტი): output_text = agent.run(input_text) გამომავალი_ტექსტის დაბრუნება

შეამოწმეთ აგენტი

input_text = "რა არის ცხოვრების აზრი?" გამომავალი_ტექსტი = აგენტის_ლოგიკა (შეყვანის_ტექსტი) ბეჭდვა (გამომავალი_ტექსტი)

კოდის ეს მაგალითი გვიჩვენებს, თუ როგორ უნდა განვსაზღვროთ AI აგენტი LangChain-ის გამოყენებით, შეყვანის და გამომავალი სქემების ჩათვლით და აგენტის ლოგიკა. აგენტი დანერგილია Large Language Model (LLM) ჯაჭვის გამოყენებით, რომელიც არის AI აგენტის ტიპი, რომელსაც შეუძლია მსჯელობა და ტექსტის გენერირება.

** ტოპ 5-10 ყველაზე ხშირად გამოყენებული ბრძანება/ნაწყვეტი LangChain-ისა და DSPy-სთვის**

აქ არის ტოპ 5-10 ყველაზე ხშირად გამოყენებული ბრძანება/ნაწყვეტი LangChain-ისა და DSPy-სთვის:

1. **langchain.Agent()**: ქმნის ახალ AI აგენტს.
``პითონი
აგენტი = langchain.Agent(
    input_schema={"ტექსტი": str},
    output_schema={"ტექსტი": str},
    ჯაჭვი=LLMCchain(
        model="davinci:instructix",
        max_length=2048,
        ტემპერატურა = 0.7,
    ),
)
  1. agent.run(): აწარმოებს AI აგენტს მოცემული შეყვანით. ``პითონი output_text = agent.run(input_text)
3. **DSPy.create_cluster()**: ქმნის კვანძების ახალ კლასტერს განაწილებული სისტემისთვის.
``პითონი
კლასტერი = DSPy.create_cluster(
    კვანძების_რაოდენობა=5,
    node_type="მუშა",
)
  1. DSPy.create_agent(): ქმნის ახალ AI აგენტს განაწილებული სისტემისთვის. ``პითონი აგენტი = DSPy.create_agent( კლასტერი = კლასტერი, აგენტი_ტიპი = "LLM", )
5. **DSPy.deploy_agent()**: ავრცელებს AI აგენტს განაწილებულ სისტემაში.
``პითონი
DSPy.deploy_agent(
    აგენტი = აგენტი,
    კლასტერი = კლასტერი,
)
  1. DSPy.get_agent_status(): ამოიღებს AI აგენტის სტატუსს. ``პითონი სტატუსი = DSPy.get_agent_status( აგენტი = აგენტი, კლასტერი = კლასტერი, )
7. **DSpy.update_agent()**: აახლებს AI აგენტს ახალი მონაცემებით ან პარამეტრებით.
``პითონი
DSPy.update_agent(
    აგენტი = აგენტი,
    კლასტერი = კლასტერი,
    new_data={"ტექსტი": "ახალი შეყვანილი ტექსტი"},
)
  1. DSPy.delete_agent(): შლის AI აგენტს განაწილებული სისტემიდან. ``პითონი DSPy.delete_agent( აგენტი = აგენტი, კლასტერი = კლასტერი, )
9. **DSPy.create_chain()**: ქმნის AI აგენტების ახალ ჯაჭვს განაწილებული სისტემისთვის.
``პითონი
ჯაჭვი = DSPy.create_chain(
    აგენტები=[აგენტი1, აგენტი2, აგენტი3],
)
  1. DSPy.deploy_chain(): ავრცელებს AI აგენტების ჯაჭვს განაწილებულ სისტემაში. ``პითონი DSPy.deploy_chain( ჯაჭვი = ჯაჭვი, კლასტერი = კლასტერი, )
** ვიზუალიზაცია **

აქ არის LangChain და DSPy არქიტექტურის ვიზუალიზაცია Chart.js-ის გამოყენებით:
``ჯსონ
{
  "type": "pieChart",
  "მონაცემები": {
    "labels": ["LangChain", "DSPy"],
    "მონაცემთა ნაკრები": [
      {
        "ლეიბლი": "AI აგენტები",
        "მონაცემები": [50, 50],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "ოფციები": {
    "სათაური": {
      "ჩვენება": მართალია,
      "text": "LangChain და DSPy Architecture"
    },
    "ლეგენდა": {
      "ჩვენება": მართალია
    }
  }
}

ეს ვიზუალიზაცია აჩვენებს AI აგენტების განაწილებას LangChain-სა და DSPy-ს შორის, აგენტების 50% მუშაობს LangChain-ზე და 50% მუშაობს DSPy-ზე.

დასკვნა

LangChain და DSPy უზრუნველყოფს ძლიერ ჩარჩოს ხელოვნური ინტელექტის აგენტების შესაქმნელად და ორკესტრირებისთვის, რაც დეველოპერებს საშუალებას აძლევს შექმნან მასშტაბური და გამძლე სისტემები, რომლებსაც შეუძლიათ ეფექტურად მართონ კომპლექსური ურთიერთქმედება მრავალ აგენტს შორის. ამ სტატიაში აღწერილი ნაბიჯების დაცვით, დეველოპერებს შეუძლიათ განახორციელონ AI აგენტები LangChain-ისა და DSPy-ის გამოყენებით და განათავსონ ისინი განაწილებულ სისტემაში DSPy-ის გამოყენებით. მოწოდებული კოდის მაგალითები და ვიზუალიზაცია ასახავს LangChain-ისა და DSPy-ის შესაძლებლობებს, ხოლო ყველაზე ხშირად გამოყენებული 5-10 ბრძანება/სნიპეტი უზრუნველყოფს სწრაფ მითითებას დეველოპერებისთვის.


Have Questions?

Let's Talk

Contact me on LinkedIn