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

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

8 months ago · b4n1 Read time: 5 min

** AI აგენტების გამოყენება პროგრამული უზრუნველყოფის ავტომატური მიწოდებისთვის: LangChain-ისა და DSPy-ის ინტეგრირება DevOps Pipelines-ში**

შესავალი

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

AI აგენტების როლი პროგრამული უზრუნველყოფის მიწოდებაში

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

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

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

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

  1. ურთიერთქმედება მონაცემთა წყაროებთან: LangChain უზრუნველყოფს მონაცემთა მრავალრიცხოვან წყაროებს, მათ შორის მონაცემთა ბაზებს, API-ებს და ფაილურ სისტემებს, რომლებთანაც აგენტებს შეუძლიათ ურთიერთქმედება.
  2. ** ამოცანების შესრულება **: LangChain გთავაზობთ დავალებების მთელ რიგს, რომელთა შესრულებაც აგენტებს შეუძლიათ, მათ შორის ტექსტის დამუშავება, სურათის ამოცნობა და ბუნებრივი ენის დამუშავება.
  3. ისწავლეთ მონაცემებიდან: LangChain გთავაზობთ მანქანათმცოდნეობის ალგორითმების მთელ რიგს, რომლებიც აგენტებს შეუძლიათ გამოიყენონ მონაცემებიდან სწავლისთვის.

**DSPy: ჩარჩო განაწილებული AI აგენტების შესაქმნელად **

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

  1. განაწილებული გამოთვლები: DSPy საშუალებას აძლევს აგენტებს იმუშაონ მრავალ მანქანაზე, რაც მას იდეალურს ხდის ფართომასშტაბიანი აპლიკაციებისთვის.
  2. მონაცემთა პარალელიზმი: DSPy აგენტებს საშუალებას აძლევს დაამუშავონ მონაცემები პარალელურად, რაც მას იდეალურს ხდის აპლიკაციებისთვის, რომლებიც საჭიროებენ მაღალი ხარისხის გამოთვლას.
  3. Scalability: DSPy საშუალებას აძლევს აგენტებს გააფართოვონ მასშტაბური აპლიკაციების საჭიროებები.

** LangChain-ისა და DSPy-ის ინტეგრირება DevOps Pipelines-ში**

LangChain-ისა და DSPy-ის ინტეგრირებისთვის DevOps მილსადენებში, შეგვიძლია გამოვიყენოთ შემდეგი ნაბიჯები:

  1. დააინსტალირეთ LangChain და DSPy: დააინსტალირეთ LangChain და DSPy პიპის გამოყენებით. ``ბაშ pip install langchain dspy
2. **შექმენით LangChain აგენტი**: შექმენით LangChain აგენტი, რომელსაც შეუძლია მონაცემთა წყაროებთან ურთიერთობა და დავალებების შესრულება.
``პითონი
იმპორტის ლანგჯაინი


აგენტი = langchain.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)
  1. DSPy აგენტის შექმნა: შექმენით DSPy აგენტი, რომელსაც შეუძლია იმუშაოს მრავალ მანქანაზე და პარალელურად დაამუშავოს მონაცემები. ``პითონი იმპორტი dspy

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

აგენტი = dspy.Agent( სახელი = "ჩემი_აგენტი", data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

4. ** LangChain და DSPy აგენტების ინტეგრირება **: LangChain და DSPy აგენტების ინტეგრირება DevOps მილსადენში ისეთი ხელსაწყოს გამოყენებით, როგორიცაა Jenkins ან GitLab CI/CD.
``პითონი
იმპორტის ლანგჯაინი
იმპორტი dspy

# შექმენით LangChain აგენტი
langchain_agent = langchain.Agent(
    სახელი = "my_langchain_agent",
    data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

# შექმენით DSPy აგენტი
dspy_agent = dspy.Agent(
    სახელი = "my_dspya_agent",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

# აგენტების ინტეგრირება DevOps მილსადენში
მილსადენი = [
    langchain_agent,
    dspy_agent
]

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

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

  1. LangChain: შექმენით LangChain აგენტი ``პითონი იმპორტის ლანგჯაინი

აგენტი = langchain.Agent( სახელი = "ჩემი_აგენტი", data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

2. **DSPy: შექმენით DSPy აგენტი**
``პითონი
იმპორტი dspy

აგენტი = dspy.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)
  1. **LangChain: ურთიერთქმედება მონაცემთა წყაროსთან ** ``პითონი იმპორტის ლანგჯაინი

აგენტი = langchain.Agent( სახელი = "ჩემი_აგენტი", data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

data = agent.data_sources[0].get_data()

4. **DSPy: ინტერაქცია მონაცემთა წყაროსთან **
``პითონი
იმპორტი dspy

აგენტი = dspy.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

data = agent.data_sources[0].get_data()
  1. **LangChain: შეასრულეთ დავალება ** ``პითონი იმპორტის ლანგჯაინი

აგენტი = langchain.Agent( სახელი = "ჩემი_აგენტი", data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

შედეგი = agent.tasks[0].perform_task(მონაცემები)

6. **DSPy: შეასრულეთ დავალება **
``პითონი
იმპორტი dspy

აგენტი = dspy.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

შედეგი = agent.tasks[0].perform_task(მონაცემები)
  1. LangChain: ისწავლეთ მონაცემებიდან ``პითონი იმპორტის ლანგჯაინი

აგენტი = langchain.Agent( სახელი = "ჩემი_აგენტი", data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

agent.learn_from_data(data)

8. **DSPy: ისწავლეთ მონაცემებიდან**
``პითონი
იმპორტი dspy

აგენტი = dspy.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

agent.learn_from_data(data)
  1. **LangChain: ინტეგრირება DevOps მილსადენთან ** ``პითონი იმპორტის ლანგჯაინი

აგენტი = langchain.Agent( სახელი = "ჩემი_აგენტი", data_sources=[langchain.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")], tasks=[langchain.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")] )

მილსადენი = [ აგენტი ]

10. **DSPy: ინტეგრირება DevOps მილსადენთან**
``პითონი
იმპორტი dspy

აგენტი = dspy.Agent(
    სახელი = "ჩემი_აგენტი",
    data_sources=[dspy.DataSource("მონაცემთა ბაზა", "ჩემი_მონაცემთა ბაზა")],
    tasks=[dspy.Task("ტექსტის_დამუშავება", "ჩემი_ტექსტის_დამუშავება")]
)

მილსადენი = [
    აგენტი
]

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

აქ არის LangChain და DSPy აგენტების ვიზუალიზაცია DevOps მილსადენში: `` დიაგრამა { "ტიპი": "ბარი", "მონაცემები": { "labels": ["LangChain", "DSPy"], "მონაცემთა ნაკრები": [ { "label": "აგენტი", "მონაცემები": [10, 20], "backgroundColor": ["rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)"], "borderColor": ["rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)"], "საზღვრის სიგანე": 1 } ] }, "ოფციები": { "სათაური": { "ჩვენება": მართალია, "text": "LangChain და DSPy აგენტები DevOps Pipeline-ში" }, "სასწორები": { "yAxes": [ { "ტკიპები": { "beginAtZero": მართალია } } ] } } }

ეს ვიზუალიზაცია აჩვენებს LangChain და DSPy აგენტებს DevOps მილსადენში, სადაც LangChain აგენტს აქვს 10 ამოცანა, ხოლო DSPy აგენტს აქვს 20 დავალება.

** დასკვნა **

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

Have Questions?

Let's Talk

Contact me on LinkedIn