თვითმმართველობის სამკურნალო პროგრამული სისტემების აგება Multi-Agent AI Architectures-ით და LangChain-ით | B4N1

თვითმმართველობის სამკურნალო პროგრამული სისტემების აგება Multi-Agent AI Architectures-ით და LangChain-ით

5 months ago · b4n1 Tiempo de lectura: 4 min

** თვითგანკურნების პროგრამული სისტემების აგება Multi-Agent AI Architectures-ით და LangChain**

შესავალი

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

** რა არის Multi-Agent AI Architectures?**

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

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

რა არის LangChain?

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

** თვითგანკურნების პროგრამული სისტემების შექმნა LangChain-ით**

LangChain-თან ერთად თვითგანკურნების პროგრამული სისტემის ასაშენებლად, ჩვენ უნდა შევქმნათ მრავალ აგენტიანი AI არქიტექტურა, რომელსაც შეუძლია რეალურ დროში აღმოაჩინოს შეცდომები, წარუმატებლობა და სხვა ანომალიები. აქ არის არქიტექტურის მაღალი დონის მიმოხილვა:

  1. **აგენტის დიზაინი **: ჩვენ უნდა შევქმნათ ავტონომიური აგენტების ნაკრები, რომლებსაც შეუძლიათ ურთიერთქმედება ერთმანეთთან და მათ გარემოსთან საერთო მიზნის მისაღწევად. თითოეულ აგენტს უნდა ჰქონდეს გადაწყვეტილების მიღების საკუთარი შესაძლებლობები, ცოდნა და რესურსები.
  2. ცოდნის გრაფიკი: ჩვენ უნდა შევქმნათ ცოდნის გრაფიკი, რომელიც წარმოადგენს აგენტებს, გარემოსა და სისტემის მიზნებს შორის ურთიერთობებს. ეს გრაფიკი შეიძლება გამოყენებულ იქნას სისტემის მდგომარეობის შესახებ მსჯელობისა და გადაწყვეტილების მისაღებად.
  3. გადაწყვეტილების მიღება: ჩვენ უნდა განვახორციელოთ გადაწყვეტილების მიღების პროცესი, რომელიც საშუალებას აძლევს აგენტებს მსჯელონ სისტემის მდგომარეობის შესახებ და მიიღონ გადაწყვეტილებები ცოდნის გრაფიკის საფუძველზე.
  4. მოქმედების შესრულება: ჩვენ უნდა განვახორციელოთ მოქმედების შესრულების პროცესი, რომელიც საშუალებას აძლევს აგენტებს შეასრულონ თავიანთი გადაწყვეტილებები და ურთიერთქმედონ გარემოსთან.

აი LangChain-ით აგებული თვითგანკურნების პროგრამული სისტემის მარტივი მაგალითი: ``პითონი იმპორტის ლანგჯაინი langchain.agents-ის იმპორტის აგენტიდან langchain.llms import LLM-დან

გრაფიკი = { 'აგენტები': ['agent1', 'agent2', 'agent3'], 'გარემო': ['მონაცემთა ბაზა', 'API', 'IoT მოწყობილობა'], 'მიზნები': ['შეცდომების აღმოჩენა', 'შეცდომებზე რეაგირება', 'შეცდომებისგან აღდგენა'] }

განსაზღვრეთ გადაწყვეტილების მიღების პროცესი

გადაწყვეტილების_მიღება (აგენტი, ცოდნა_გრაფი): # მიზეზი სისტემის მდგომარეობის შესახებ სახელმწიფო = ცოდნის_გრაფი ['აგენტები'][აგენტი] # მიიღეთ გადაწყვეტილება სახელმწიფოზე დაყრდნობით გადაწყვეტილება = 'პასუხი წარუმატებლობაზე' დაბრუნების გადაწყვეტილება

განსაზღვრეთ მოქმედების შესრულების პროცესი

def action_execution (აგენტი, გადაწყვეტილება): # შეასრულეთ გადაწყვეტილება თუ გადაწყვეტილება == 'უპასუხე წარუმატებლობას': # უპასუხეთ წარუმატებლობას ბეჭდვა ("პასუხი წარუმატებლობაზე...") დაბრუნება

შექმენით LangChain აგენტი

აგენტი = აგენტი( name='თვით სამკურნალო აგენტი', გადაწყვეტილება_მიღება=გადაწყვეტილების_მიღება, action_execution=action_execution, ცოდნა_გრაფი=გრაფი )

შექმენით LangChain LLM

llm = LLM( name='self-healing-llm', მოდელი='დავინცი' )

შექმენით LangChain სისტემა

system = langchain.System( აგენტი = აგენტი, llm=llm )

გაუშვით სისტემა

system.run()

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

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

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

1. `langchain.Agent()`: ქმნის ახალ LangChain აგენტს.
2. `langchain.LLM()`: ქმნის ახალ LangChain LLM-ს.
3. `langchain.System()`: ქმნის ახალ LangChain სისტემას.
4. `agent.decision_making()`: აწარმოებს გადაწყვეტილების მიღების პროცესს აგენტისთვის.
5. `agent.action_execution()`: აწარმოებს მოქმედების შესრულების პროცესს აგენტისთვის.
6. `llm.predict()`: აკეთებს პროგნოზს LLM-ის გამოყენებით.
7. `system.run()`: აწარმოებს LangChain სისტემას.
8. `graph.add_node()`: ამატებს ახალ კვანძს ცოდნის გრაფაში.
9. `graph.add_edge()`: ამატებს ახალ ზღვარს ცოდნის გრაფიკს.
10. `graph.remove_node()`: აშორებს კვანძს ცოდნის გრაფიკიდან.

** ვიზუალიზაცია **

აქ მოცემულია ცოდნის გრაფიკის მარტივი ვიზუალიზაცია Chart.js-ის გამოყენებით:
``ჯსონ
{
  "ტიპი": "გრაფიკი",
  "მონაცემები": {
    "კვანძები": [
      {"id": "agent1", "label": "აგენტი 1"},
      {"id": "agent2", "label": "აგენტი 2"},
      {"id": "agent3", "label": "აგენტი 3"},
      {"id": "მონაცემთა ბაზა", "label": "მონაცემთა ბაზა"},
      {"id": "API", "label": "API"},
      {"id": "IoT მოწყობილობა", "label": "IoT Device"}
    ],
    "კიდეები": [
      {"source": "agent1", "target": "მონაცემთა ბაზა"},
      {"source": "agent2", "target": "API"},
      {"source": "agent3", "target": "IoT მოწყობილობა"},
      {"source": "agent1", "target": "agent2"},
      {"source": "agent2", "target": "agent3"}
    ]
  },
  "ოფციები": {
    "განლაგება": {
      "ტიპი": "წრიული"
    },
    "კვანძები": {
      "ზომა": 50
    },
    "კიდეები": {
      "სიგანე": 2
    }
  }
}

ეს ვიზუალიზაცია გვიჩვენებს ურთიერთობებს აგენტებს, გარემოსა და სისტემის მიზნებს შორის.

დასკვნა

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


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn