LangChain və DSPy ilə Deterministik Test Avtomatlaşdırmasında Agent AI-nin tətbiqi | B4N1

LangChain və DSPy ilə Deterministik Test Avtomatlaşdırmasında Agent AI-nin tətbiqi

6 months ago · b4n1 Read time: 3 min

LangChain və DSPy ilə Deterministik Test Avtomatlaşdırmasında Agent AI-nin tətbiqi

Giriş

Proqram sistemlərinin artan mürəkkəbliyi testlərin avtomatlaşdırılmasını proqram təminatının inkişafının mühüm aspektinə çevirdi. Ənənəvi sınaq avtomatlaşdırma çərçivələri kövrək və saxlanması çətin ola bilən skriptli yanaşmalara əsaslanır. Son illərdə Agentic AI və Orchestration Tools-un ortaya çıxması mürəkkəb sınaq ssenarilərinin avtomatlaşdırılması üçün yeni imkanlar açdı. Bu yazıda biz LangChain və DSPy istifadə edərək mürəkkəb sınaq ssenarilərini avtomatlaşdırmaq üçün Agentic AI, Orchestration Tools və Software Engineering-in kəsişməsini araşdıracağıq.

Agentic AI nədir?

Agentlik süni intellekt istifadəçi və ya sistem adından hərəkətlər etmək üçün nəzərdə tutulmuş bir növ süni intellektə aiddir. Agentlik AI sistemləri qərar qəbul etmək, təcrübədən öyrənmək və yeni vəziyyətlərə uyğunlaşmaq qabiliyyətinə malikdir. Test avtomatlaşdırılması kontekstində, Agentic AI istifadəçi qarşılıqlı əlaqəsini simulyasiya edərək, test məlumatlarına əsaslanaraq qərarlar qəbul edərək və dəyişən test şərtlərinə uyğunlaşaraq mürəkkəb test ssenarilərini avtomatlaşdırmaq üçün istifadə edilə bilər.

LangChain nədir?

LangChain, tərtibatçılara Python, Rust və Go daxil olmaqla müxtəlif proqramlaşdırma dillərindən istifadə edərək mürəkkəb süni intellekt sistemləri qurmağa imkan verən açıq mənbəli Orkestrasiya Alətidir. LangChain, inkişaf etdiricilərə mürəkkəb süni intellekt sistemləri qurmaq üçün təbii dil emalı (NLP) və kompüter görmə kimi müxtəlif AI komponentlərini inteqrasiya etməyə imkan verən çevik və modul arxitektura təqdim edir.

DSPy nədir?

DSPy, süni intellekt sistemlərinin qurulması və tətbiqi üçün alətlər dəsti təqdim edən Python kitabxanasıdır. DSPy LangChain ilə problemsiz işləmək üçün nəzərdə tutulmuşdur və məlumatların işlənməsi, maşın öyrənməsi və dərin öyrənmə daxil olmaqla bir sıra funksiyaları təmin edir.

Deterministik Test Avtomatlaşdırmasında Agent AI-nin tətbiqi

Deterministik test avtomatlaşdırmasında Agentic AI tətbiq etmək üçün biz LangChain və DSPy-dən istifadəçi qarşılıqlı əlaqəsini simulyasiya edən, test məlumatlarına əsasən qərarlar qəbul edən və dəyişən test şərtlərinə uyğunlaşan test avtomatlaşdırma çərçivəsi qurmaq üçün istifadə edə bilərik.

Test ssenarisini avtomatlaşdırmaq üçün LangChain və DSPy-dən necə istifadə edə biləcəyimizə dair sadə bir nümunə:

idxal langchain
langchain.chains-dən LMChain idxal edir
langchain.llms-dən DSPyLLM idxal edin


test_ssenari = {
    "user_input": "giriş",
    "expected_output": "giriş uğurlu oldu"
}

# Agent AI agentini müəyyənləşdirin
agent = LMCchain(
    llm=DSPyLLM(),
    input_type="mətn",
    output_type="mətn"
)

# Test avtomatlaşdırma funksiyasını təyin edin
def test_automation(test_ssenari):
    # İstifadəçi qarşılıqlı əlaqəsini simulyasiya edin
    user_input = test_scenario["user_input"]
    # Test məlumatlarına əsasən qərar verin
    qərar = agent.run(user_input)
    # Dəyişən sınaq şərtlərinə uyğunlaşma
    əgər qərar == "giriş uğurludur":
        çap ("Sınaqdan keçdi")
    başqa:
        çap ("Sınaq alınmadı")

# Test avtomatlaşdırma funksiyasını işə salın
test_avtomatlaşdırma(test_ssenarisi)

Bu nümunədə biz istifadəçinin qarşılıqlı əlaqəsini simulyasiya etməyi, test məlumatlarına əsaslanaraq qərar qəbul etməyi və dəyişən test şərtlərinə uyğunlaşmağı əhatə edən test ssenarisini müəyyən edirik. Daha sonra LangChain və DSPy istifadə edərək Agentic AI agenti təyin edirik və ondan test ssenarisini avtomatlaşdırmaq üçün istifadə edirik.

Ən çox istifadə olunan 5-10 əmr/parça

LangChain və DSPy üçün ən çox istifadə olunan 5-10 əmr/parçalar bunlardır:

  1. langchain.LLMCain(llm=DSPyLLM()): LangChain və DSPy istifadə edərək Agent AI agenti yaradır.
  2. DSPyLLM(): DSPy LLM (Böyük Dil Modeli) nümunəsini işə salır.
  3. LLMCain(input_type="text", output_type="text"): Mətn daxiletmə və çıxış növləri ilə Agentic AI agenti yaradır.
  4. agent.run(user_input): İstifadəçi daxiletməsi ilə Agentic AI agentini işə salır.
  5. test_scenario = {"user_input": "login", "expected_output": "giriş uğurlu"}: İstifadəçi girişi və gözlənilən çıxışı ilə sınaq ssenarisini müəyyən edir.
  6. langchain.chains.LLMCain(llm=DSPyLLM()): LangChain və DSPy istifadə edərək Agent AI agenti yaradır.
  7. DSPyLLM().predict(user_input): İstifadəçi daxiletməsi ilə DSPy LLM çıxışını proqnozlaşdırır.
  8. LLMCain(input_type="text", output_type="text").run(user_input): Agentic AI agentini mətn daxiletmə və çıxış növləri ilə işlədir.
  9. test_automation(test_scenario): Testin avtomatlaşdırılması funksiyasını sınaq ssenarisi ilə işə salır.
  10. langchain.chains.LLMCain(llm=DSPyLLM()).run(user_input): İstifadəçi daxiletməsi ilə Agentic AI agentini işə salır.

Vizuallaşdırma

Budur, Chart.js istifadə edərək Agentic AI agentinin vizualizasiyası:

{
  "növ": "bar",
  "data": {
    "etiketlər": ["İstifadəçi Girişi", "Qərar", "Uyğunlaşma"],
    "verilənlər dəsti": [
      {
        "label": "Agent AI Agent",
        "data": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "seçimlər": {
    "başlıq": {
      "ekran": doğru,
      "text": "Agent AI Agent"
    },
    "tərəzi": {
      "yAxes": [
        {
          "gənə": {
            "beginAtZero": doğrudur
          }
        }
      ]
    }
  }
}

Bu vizuallaşdırma Agentic AI agentinin istifadəçi qarşılıqlı əlaqələrini simulyasiya etmək, test məlumatlarına əsaslanaraq qərarlar qəbul etmək və dəyişən test şərtlərinə uyğunlaşmaqda performansını göstərir.

Nəticə

Bu yazıda biz LangChain və DSPy-dən istifadə edərək mürəkkəb test ssenarilərini avtomatlaşdırmaq üçün Agentic AI, Orchestration Tools və Software Engineering-in kəsişməsini araşdırdıq. Deterministik test avtomatlaşdırmasında sadə Agent AI nümunəsini tətbiq etdik və LangChain və DSPy üçün bir sıra əmrlər/parçalar təqdim etdik. Biz həmçinin Chart.js-dən istifadə edərək Agentic AI agentinin performansını vizuallaşdırdıq. Agentic AI və Orchestration Tools-dan istifadə etməklə tərtibatçılar istifadəçi qarşılıqlı əlaqəsini simulyasiya edən, test məlumatlarına əsasən qərarlar qəbul edən və dəyişən test şərtlərinə uyğunlaşan mürəkkəb sınaq avtomatlaşdırma çərçivələri qura bilərlər.


Have Questions?

Let's Talk

Contact me on LinkedIn