LangChain agentini yarating | B4N1

LangChain agentini yarating

8 months ago · b4n1 Read time: 5 min

** Avtomatlashtirilgan dasturiy ta'minotni yetkazib berish uchun AI agentlaridan foydalanish: DevOps quvurlarida LangChain va DSPy integratsiyasi**

Kirish

Dasturiy ta'minotni ishlab chiqish landshafti jadal sur'atlar bilan rivojlanmoqda, buning natijasida sun'iy intellekt (AI) va Machine Learning (ML) rivojlanishning turli jihatlarida tobora ko'payib bormoqda. Sun'iy intellektni qo'llashning eng istiqbolli yo'nalishlaridan biri bu dasturiy ta'minotni yetkazib berish jarayonlarini avtomatlashtirish, jumladan telemetriya va uzluksiz integratsiya/uzluksiz joylashtirish (CI/CD). Ushbu maqolada biz AI agentlarining dasturiy ta'minotni etkazib berish jarayonlarini avtomatlashtirishdagi rolini o'rganamiz va LangChain va DSPy kabi orkestratsiya vositalarini amaliy qo'llashni ko'rib chiqamiz.

Dasturiy ta'minotni yetkazib berishda AI agentlarining roli

AI agentlari - bu ma'lumotlar va qoidalar asosida qarorlar qabul qiladigan, vazifalarni avtonom tarzda bajarishi mumkin bo'lgan dasturiy ta'minot dasturlari. Dasturiy ta'minotni etkazib berish kontekstida AI agentlari turli jarayonlarni avtomatlashtirish uchun ishlatilishi mumkin, masalan:

  1. Telemetriya: AI agentlari ilovaning xatti-harakati va ishlashi haqida tushuncha berish uchun ilovalar jurnallari, ishlash ko'rsatkichlari va foydalanuvchilarning fikr-mulohazalari kabi turli manbalardan ma'lumotlarni to'plashi va tahlil qilishi mumkin.
  2. Uzluksiz integratsiya: AI agentlari dastur har doim joylashtiriladigan holatda bo'lishini ta'minlab, kod o'zgarishlarini yaratish, sinovdan o'tkazish va joylashtirishni avtomatlashtirishi mumkin.
  3. Uzluksiz joylashtirish: AI agentlari ishlab chiqarishga o‘zgartirishlarni kiritishni avtomatlashtirishi mumkin, bu esa foydalanuvchilarga yangi funksiyalar va tuzatishlarni olish uchun zarur bo‘lgan vaqt va kuchni kamaytiradi.
  4. Monitoring va ogohlantirish: AI agentlari ilovaning ishlashini kuzatishi va ishlab chiquvchilar va operatorlarni yuzaga kelishi mumkin bo‘lgan muammolar haqida ular muhim bo‘lishidan oldin ogohlantirishi mumkin.

LangChain: AI agentlarini yaratish uchun asos

LangChain - bu turli xil ma'lumotlar manbalari bilan o'zaro aloqada bo'lishi va vazifalarni avtonom tarzda bajarishi mumkin bo'lgan AI agentlarini yaratish uchun Python asosidir. LangChain agentlarni qurish uchun oddiy va intuitiv API taqdim etadi, ular:

  1. Maʼlumotlar manbalari bilan oʻzaro aloqa qilish: LangChain agentlar oʻzaro aloqada boʻlishi mumkin boʻlgan bir qator maʼlumotlar manbalarini, jumladan, maʼlumotlar bazalari, API va fayl tizimlarini taqdim etadi.
  2. Vazifalarni bajarish: LangChain agentlar bajarishi mumkin boʻlgan bir qator vazifalarni, jumladan, matnni qayta ishlash, tasvirni aniqlash va tabiiy tilni qayta ishlashni taʼminlaydi.
  3. Maʼlumotlardan oʻrganish: LangChain agentlar maʼlumotlardan oʻrganish uchun foydalanishi mumkin boʻlgan bir qator mashina oʻrganish algoritmlarini taqdim etadi.

DSPy: Taqsimlangan AI agentlarini yaratish uchun asos

DSPy keng miqyosli ilovalar ehtiyojlarini qondirish uchun kengaytira oladigan taqsimlangan AI agentlarini yaratish uchun Python ramkasidir. DSPy bir qator xususiyatlarni taqdim etadi, jumladan:

  1. Taqsimlangan hisoblash: DSPy agentlarga bir nechta mashinalarda ishlash imkonini beradi, bu esa uni keng miqyosli ilovalar uchun ideal qiladi.
  2. Ma'lumotlar parallelligi: DSPy agentlarga ma'lumotlarni parallel ravishda qayta ishlash imkonini beradi, bu esa uni yuqori unumdorlikdagi hisoblashni talab qiladigan ilovalar uchun ideal qiladi.
  3. Scalability: DSPy agentlarga keng miqyosli ilovalar ehtiyojlarini qondirish uchun masshtablash imkonini beradi.

LangChain va DSPy-ni DevOps Pipelines-ga integratsiya qilish

LangChain va DSPy-ni DevOps quvurlariga integratsiya qilish uchun biz quyidagi bosqichlardan foydalanishimiz mumkin:

  1. LangChain va DSPy-ni o'rnating: LangChain va DSPy-ni pip yordamida o'rnating.
pip o'rnatish langchain dspy
  1. LangChain agentini yaratish: Maʼlumotlar manbalari bilan oʻzaro aloqada boʻlishi va vazifalarni bajarishi mumkin boʻlgan LangChain agentini yarating.
import langchain


agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)
  1. DSPy agentini yaratish: Bir nechta mashinalarda ishlay oladigan va ma'lumotlarni parallel ravishda qayta ishlay oladigan DSPy agentini yarating.
dspy import

# DSPy agentini yarating
agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)
  1. LangChain va DSPy agentlarini integratsiyalash: Jenkins yoki GitLab CI/CD kabi asbobdan foydalanib, LangChain va DSPy agentlarini DevOps quvur liniyasiga integratsiyalash.
import langchain
dspy import

# LangChain agentini yarating
langchain_agent = langchain.Agent(
    name="mening_langchain_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)

# DSPy agentini yarating
dspy_agent = dspy.Agent(
    name="mening_dspya_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)

# Agentlarni DevOps quvur liniyasiga integratsiyalash
quvur liniyasi = [
    langchain_agent,
    dspy_agent
]

Eng koʻp ishlatiladigan 5-10 ta buyruq/parchalar

LangChain va DSPy uchun eng ko'p ishlatiladigan 5-10 ta eng yaxshi buyruqlar/parchalar:

  1. LangChain: LangChain agentini yarating
import langchain

agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)
  1. DSPy: DSPy agentini yarating
dspy import

agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)
  1. LangChain: maʼlumotlar manbai bilan aloqa oʻrnatish
import langchain

agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)

ma'lumotlar = agent.data_sources[0].get_data()
  1. DSPy: maʼlumotlar manbai bilan oʻzaro aloqada boʻlish
dspy import

agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)

ma'lumotlar = agent.data_sources[0].get_data()
  1. LangChain: vazifani bajaring
import langchain

agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)

natija = agent.tasks[0].perform_task(ma'lumotlar)
  1. DSPy: vazifani bajarish
dspy import

agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)

natija = agent.tasks[0].perform_task(ma'lumotlar)
  1. LangChain: Maʼlumotlardan oʻrganing
import langchain

agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)

agent.learn_from_data(ma'lumotlar)
  1. DSPy: Ma'lumotlardan o'rganing
dspy import

agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)

agent.learn_from_data(ma'lumotlar)
  1. LangChain: DevOps quvur liniyasi bilan integratsiyalash
import langchain

agent = langchain.Agent(
    name="mening_agentim",
    data_sources=[langchain.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[langchain.Task("matnni_qayta ishlash", "mening_matnni_ishlovlash")]
)

quvur liniyasi = [
    agent
]
  1. DSPy: DevOps quvur liniyasi bilan integratsiyalash
dspy import

agent = dspy.Agent(
    name="mening_agentim",
    data_sources=[dspy.DataSource("ma'lumotlar bazasi", "mening_ma'lumotlar bazasi")],
    tasks=[dspy.Task("matnni_qayta ishlash", "mening_matnni_qayta ishlash")]
)

quvur liniyasi = [
    agent
]

Vizualizatsiya

Mana DevOps quvuridagi LangChain va DSPy agentlarining vizualizatsiyasi:

{
  "turi": "bar",
  "ma'lumotlar": {
    "yorliqlar": ["LangChain", "DSPy"],
    "ma'lumotlar to'plami": [
      {
        "label": "Agent",
        "ma'lumotlar": [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)"],
        "borderWidth": 1
      }
    ]
  },
  "variantlar": {
    "sarlavha": {
      "displey": rost,
      "matn": "DevOps quvur liniyasidagi LangChain va DSPy agentlari"
    },
    "tarozi": {
      "yAxes": [
        {
          "tiklash": {
            "beginAtZero": rost
          }
        }
      ]
    }
  }
}

Ushbu vizualizatsiya LangChain va DSPy agentlarini DevOps quvur liniyasida ko'rsatadi, LangChain agentida 10 ta vazifa va DSPy agentida 20 ta vazifa mavjud.

Xulosa

Ushbu maqolada biz AI agentlarining dasturiy ta'minotni etkazib berish jarayonlarini avtomatlashtirishdagi rolini o'rganib chiqdik va LangChain va DSPy kabi orkestratsiya vositalarini amaliy qo'llashni o'rganib chiqdik. Biz LangChain va DSPy-dan ma'lumotlar manbalari bilan o'zaro aloqada bo'lishi, vazifalarni bajarishi va ma'lumotlardan o'rganishi mumkin bo'lgan AI agentlarini yaratish uchun qanday ishlatilishini ko'rdik. Shuningdek, biz LangChain va DSPy-ni Jenkins yoki GitLab CI/CD kabi vositalar yordamida DevOps quvurlariga qanday qilib birlashtirish mumkinligini ko'rdik. Dasturiy ta'minotni ishlab chiqishda sun'iy intellekt va ML ning tobora ortib borishi bilan LangChain va DSPy dasturiy ta'minotni etkazib berish jarayonlarini avtomatlashtirishga intilayotgan ishlab chiquvchilar va operatorlar uchun tobora muhim vositalarga aylanmoqda.


Have Questions?

Let's Talk

Contact me on LinkedIn