LangChain va DSPy bilan deterministik testlarni avtomatlashtirishda agentlik AIni qo'llash | B4N1

LangChain va DSPy bilan deterministik testlarni avtomatlashtirishda agentlik AIni qo'llash

6 months ago · b4n1 Read time: 3 min

LangChain va DSPy bilan deterministik testlarni avtomatlashtirishda agentlik AIni qo'llash

Kirish

Dasturiy ta'minot tizimlarining ortib borayotgan murakkabligi testlarni avtomatlashtirishni dasturiy ta'minotni ishlab chiqishning muhim jihatiga aylantirdi. Sinovlarni avtomatlashtirishning an'anaviy tizimlari skriptli yondashuvlarga tayanadi, ular mo'rt va parvarish qilish qiyin bo'lishi mumkin. So'nggi yillarda Agentic AI va Orchestration Toolsning paydo bo'lishi murakkab sinov stsenariylarini avtomatlashtirish uchun yangi imkoniyatlar ochdi. Ushbu maqolada biz LangChain va DSPy-dan foydalangan holda murakkab sinov stsenariylarini avtomatlashtirish uchun Agentic AI, Orchestration Tools va Software Engineering kesishmasini o'rganamiz.

Agentic AI nima?

Agentik AI foydalanuvchi yoki tizim nomidan harakatlarni amalga oshirish uchun mo'ljallangan sun'iy intellekt turiga ishora qiladi. Agentlik AI tizimlari qaror qabul qilish, tajribadan o'rganish va yangi vaziyatlarga moslashishga qodir. Sinovlarni avtomatlashtirish kontekstida Agentic AI foydalanuvchilarning o'zaro aloqalarini simulyatsiya qilish, test ma'lumotlari asosida qarorlar qabul qilish va o'zgaruvchan test sharoitlariga moslashish orqali murakkab test stsenariylarini avtomatlashtirish uchun ishlatilishi mumkin.

LangChain nima?

LangChain ochiq manbali Orkestratsiya vositasi boʻlib, ishlab chiquvchilarga Python, Rust va Go kabi turli xil dasturlash tillaridan foydalangan holda murakkab AI tizimlarini yaratishga imkon beradi. LangChain moslashuvchan va modulli arxitekturani taqdim etadi, bu esa ishlab chiquvchilarga murakkab AI tizimlarini yaratish uchun tabiiy tilni qayta ishlash (NLP) va kompyuterni ko'rish kabi turli AI komponentlarini birlashtirishga imkon beradi.

DSPy nima?

DSPy - bu Python kutubxonasi bo'lib, u AI tizimlarini yaratish va o'rnatish uchun vositalar to'plamini taqdim etadi. DSPy LangChain bilan uzluksiz ishlash uchun mo'ljallangan va ma'lumotlarni qayta ishlash, mashinani o'rganish va chuqur o'rganish kabi bir qator xususiyatlarni taqdim etadi.

Deterministik testlarni avtomatlashtirishda agent AIni qo'llash

Deterministik testlarni avtomatlashtirishda Agentic AI ni tatbiq etish uchun biz LangChain va DSPy-dan foydalanuvchilarning o'zaro ta'sirini simulyatsiya qiladigan, test ma'lumotlari asosida qarorlar qabul qiladigan va o'zgaruvchan test sharoitlariga moslashadigan test avtomatizatsiyasi tizimini yaratish uchun foydalanishimiz mumkin.

Test stsenariysini avtomatlashtirish uchun LangChain va DSPy dan qanday foydalanishimiz mumkinligiga oddiy misol:

import langchain
langchain.chains dan LMChain import qiladi
langchain.llms import DSPyLLM dan


test_stsenariysi = {
    "user_input": "kirish",
    "expected_output": "kirish muvaffaqiyatli"
}

# Agentic AI agentini aniqlang
agent = LMCchain (
    llm=DSPyLLM(),
    input_type = "matn",
    output_type="matn"
)

# Sinovni avtomatlashtirish funksiyasini aniqlang
def test_automation (test_stsenariysi):
    # Foydalanuvchi o'zaro ta'sirini simulyatsiya qilish
    user_input = test_scenario["user_input"]
    # Test ma'lumotlari asosida qaror qabul qiling
    qaror = agent.run(user_input)
    # O'zgaruvchan sinov sharoitlariga moslashish
    agar qaror == "kirish muvaffaqiyatli" bo'lsa:
        chop etish ("Sinovdan o'tdi")
    boshqa:
        chop etish ("Sinov muvaffaqiyatsiz tugadi")

# Sinovni avtomatlashtirish funksiyasini ishga tushiring
test_automation(test_stsenariy)

Ushbu misolda biz foydalanuvchi shovqinini simulyatsiya qilish, test ma'lumotlari asosida qaror qabul qilish va o'zgaruvchan test sharoitlariga moslashishni o'z ichiga olgan test stsenariysini aniqlaymiz. Keyin biz LangChain va DSPy yordamida Agentic AI agentini aniqlaymiz va undan test stsenariysini avtomatlashtirish uchun foydalanamiz.

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.LLMCain(llm=DSPyLLM()): LangChain va DSPy yordamida Agentic AI agentini yaratadi.
  2. DSPyLLM(): DSPy LLM (katta til modeli) misolini ishga tushiradi.
  3. LLMCain(input_type="text", output_type="text"): Matn kiritish va chiqarish turlari bilan Agentic AI agentini yaratadi.
  4. agent.run(user_input): Agentic AI agentini foydalanuvchi kiritishi bilan ishga tushiradi.
  5. test_scenario = {"user_input": "login", "expected_output": "login muvaffaqiyatli"}: Foydalanuvchi kiritishi va kutilgan chiqishi bilan sinov stsenariysini belgilaydi.
  6. langchain.chains.LLMCain(llm=DSPyLLM()): LangChain va DSPy yordamida Agentic AI agentini yaratadi.
  7. DSPyLLM().predict(user_input): DSPy LLM chiqishini foydalanuvchi kiritishi bilan bashorat qiladi.
  8. LLMCain(input_type="text", output_type="text").run(user_input): Matn kiritish va chiqarish turlari bilan Agentic AI agentini ishga tushiradi.
  9. test_automation(test_scenario): Sinov stsenariysi bilan sinovni avtomatlashtirish funksiyasini ishga tushiradi.
  10. langchain.chains.LLMCain(llm=DSPyLLM()).run(user_input): Agentic AI agentini foydalanuvchi kiritishi bilan ishga tushiradi.

Vizualizatsiya

Mana Chart.js yordamida Agentic AI agentining vizualizatsiyasi:

{
  "turi": "bar",
  "ma'lumotlar": {
    "yorliqlar": ["Foydalanuvchi kiritishi", "Qaror", "Moslashuv"],
    "ma'lumotlar to'plami": [
      {
        "label": "Agent AI agenti",
        "ma'lumotlar": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "variantlar": {
    "sarlavha": {
      "displey": rost,
      "text": "Agent AI agenti"
    },
    "tarozi": {
      "yAxes": [
        {
          "tiklash": {
            "beginAtZero": rost
          }
        }
      ]
    }
  }
}

Ushbu vizualizatsiya Agentic AI agentining foydalanuvchilarning o'zaro ta'sirini simulyatsiya qilish, test ma'lumotlari asosida qarorlar qabul qilish va o'zgaruvchan test sharoitlariga moslashishda ishlashini ko'rsatadi.

Xulosa

Ushbu maqolada biz LangChain va DSPy-dan foydalangan holda murakkab test stsenariylarini avtomatlashtirish uchun Agentic AI, Orchestration Tools va Software Engineering kesishmasini o'rganib chiqdik. Biz deterministik testlarni avtomatlashtirishda Agentic AI ning oddiy namunasini joriy qildik va LangChain va DSPy uchun bir qator buyruqlar/parchalarni taqdim etdik. Shuningdek, biz Chart.js yordamida Agentic AI agentining ishlashini tasavvur qildik. Agentic AI va Orchestration Tools’dan foydalanib, ishlab chiquvchilar foydalanuvchilarning o‘zaro ta’sirini taqlid qiluvchi, test ma’lumotlari asosida qarorlar qabul qiladigan va o‘zgaruvchan test sharoitlariga moslashuvchi murakkab sinov avtomatlashtirish tizimini yaratishi mumkin.


Have Questions?

Let's Talk

Contact me on LinkedIn