Aģentiskā AI ieviešana deterministiskā testa automatizācijā ar LangChain un DSPy | B4N1

Aģentiskā AI ieviešana deterministiskā testa automatizācijā ar LangChain un DSPy

3 months ago · b4n1 Read time: 3 min

Aģentiskā AI ieviešana deterministiskā testa automatizācijā ar LangChain un DSPy

Ievads

Programmatūras sistēmu pieaugošā sarežģītība ir padarījusi testēšanas automatizāciju par būtisku programmatūras izstrādes aspektu. Tradicionālās testēšanas automatizācijas sistēmas balstās uz skriptu pieejām, kas var būt trauslas un grūti uzturējamas. Pēdējos gados Agentic AI un Orchestration Tools parādīšanās ir pavērusi jaunas iespējas sarežģītu testēšanas scenāriju automatizēšanai. Šajā rakstā mēs izpētīsim Aģentiskā AI, Orchestration Tools un Software Engineering krustpunktu, lai automatizētu sarežģītus testa scenārijus, izmantojot LangChain un DSPy.

Kas ir aģents AI?

Aģentiskais AI attiecas uz mākslīgā intelekta veidu, kas ir paredzēts, lai veiktu darbības lietotāja vai sistēmas vārdā. Aģentiskās AI sistēmas spēj pieņemt lēmumus, mācīties no pieredzes un pielāgoties jaunām situācijām. Testu automatizācijas kontekstā Agentic AI var izmantot, lai automatizētu sarežģītus testa scenārijus, simulējot lietotāju mijiedarbību, pieņemot lēmumus, pamatojoties uz testa datiem, un pielāgojoties mainīgajiem testa apstākļiem.

Kas ir LangChain?

LangChain ir atvērtā pirmkoda orķestrēšanas rīks, kas ļauj izstrādātājiem izveidot sarežģītas AI sistēmas, izmantojot dažādas programmēšanas valodas, tostarp Python, Rust un Go. LangChain nodrošina elastīgu un modulāru arhitektūru, kas ļauj izstrādātājiem integrēt dažādus AI komponentus, piemēram, dabiskās valodas apstrādi (NLP) un datora redzējumu, lai izveidotu sarežģītas AI sistēmas.

Kas ir DSPy?

DSPy ir Python bibliotēka, kas nodrošina rīku komplektu AI sistēmu izveidei un izvietošanai. DSPy ir paredzēts nevainojamam darbam ar LangChain un nodrošina virkni funkciju, tostarp datu apstrādi, mašīnmācīšanos un dziļo mācīšanos.

Aģentiskā AI ieviešana deterministiskā testa automatizācijā

Lai ieviestu aģentu AI deterministiskā testa automatizācijā, mēs varam izmantot LangChain un DSPy, lai izveidotu testa automatizācijas sistēmu, kas simulē lietotāju mijiedarbību, pieņem lēmumus, pamatojoties uz testa datiem, un pielāgojas mainīgajiem testa apstākļiem.

Šeit ir vienkāršs piemērs tam, kā mēs varam izmantot LangChain un DSPy, lai automatizētu testa scenāriju:

importēt langchain
no langchain.chains importēt LLMChain
no langchain.llms importēt DSPyLLM


test_scenario = {
    "user_input": "pieteikšanās",
    "expected_output": "pieteikšanās veiksmīga"
}

# Definējiet aģenta AI aģentu
aģents = LLMChain(
    llm=DSPyLLM(),
    ievades_tips = "teksts",
    output_type = "teksts"
)

# Definējiet testa automatizācijas funkciju
def test_automation(test_scenario):
    # Simulēt lietotāja mijiedarbību
    user_input = testa_scenārijs["lietotāja_ievade"]
    # Pieņemiet lēmumu, pamatojoties uz testa datiem
    lēmums = agent.run(lietotāja_ievade)
    # Pielāgojieties mainīgajiem testa apstākļiem
    ja lēmums == "pieteikšanās veiksmīga":
        drukāt ("Pārbaude nokārtota")
    cits:
        drukāt ("Pārbaude neizdevās")

# Palaidiet testa automatizācijas funkciju
testa_automatizācija(testa_scenārijs)

Šajā piemērā mēs definējam testa scenāriju, kas ietver lietotāja mijiedarbības simulāciju, lēmuma pieņemšanu, pamatojoties uz testa datiem, un pielāgošanos mainīgajiem testa apstākļiem. Pēc tam mēs definējam aģenta AI aģentu, izmantojot LangChain un DSPy, un izmantojam to, lai automatizētu testa scenāriju.

5–10 populārākās komandas/fragmenti

Šeit ir 5–10 populārākās LangChain un DSPy visbiežāk izmantotās komandas/fragmenti:

  1. "langchain.LLMChain(llm=DSPyLLM())": izveido aģenta AI aģentu, izmantojot LangChain un DSPy.
  2. "DSPyLLM()": inicializē DSPy LLM (lielās valodas modeļa) instanci.
  3. LLMChain(input_type="text", output_type="text"): izveido aģentu AI aģentu ar teksta ievades un izvades veidiem.
  4. "agent.run(user_input)": palaiž aģentu AI aģentu ar lietotāja ievadi.
  5. test_scenario = {"user_input": "pieteikšanās", "expected_output": "pieteikšanās veiksmīga"}: definē testa scenāriju ar lietotāja ievadi un paredzamo izvadi.
  6. "langchain.chains.LLMChain(llm=DSPyLLM())": izveido aģenta AI aģentu, izmantojot LangChain un DSPy.
  7. "DSPyLLM().predict(user_input)": paredz DSPy LLM izvadi ar lietotāja ievadi.
  8. LLMChain(input_type="text", output_type="text").run(user_input): palaiž aģentu AI aģentu ar teksta ievades un izvades veidiem.
  9. test_automation(test_scenario): palaiž testa automatizācijas funkciju ar testa scenāriju.
  10. langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): palaiž aģentu AI aģentu ar lietotāja ievadi.

Vizualizācija

Šeit ir Agentiskā AI aģenta vizualizācija, izmantojot Chart.js:

{
  "tips": "josla",
  "dati": {
    "iezīmes": ["Lietotāja ievade", "Lēmums", "Adaptācija"],
    "datu kopas": [
      {
        "label": "Aģentiskais AI aģents",
        "dati": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "opcijas": {
    "title": {
      "displejs": patiess,
      "text": "Aģentiskais AI aģents"
    },
    "svari": {
      "yAxes": [
        {
          "ērces": {
            "beginAtZero": taisnība
          }
        }
      ]
    }
  }
}

Šī vizualizācija parāda aģenta AI aģenta veiktspēju, simulējot lietotāju mijiedarbību, pieņemot lēmumus, pamatojoties uz testa datiem, un pielāgojoties mainīgajiem testa apstākļiem.

Secinājums

Šajā rakstā mēs izpētījām Aģentiskā AI, Orchestration Tools un Software Engineering krustpunktu, lai automatizētu sarežģītus testēšanas scenārijus, izmantojot LangChain un DSPy. Mēs ieviesām vienkāršu Aģentiskā AI piemēru deterministiskā testa automatizācijā un nodrošinājām virkni komandu/fragmentu LangChain un DSPy. Mēs arī vizualizējām aģenta AI aģenta veiktspēju, izmantojot Chart.js. Izmantojot Agentic AI un Orchestration Tools, izstrādātāji var izveidot sarežģītas testēšanas automatizācijas sistēmas, kas simulē lietotāju mijiedarbību, pieņem lēmumus, pamatojoties uz testa datiem, un pielāgojas mainīgajiem testa apstākļiem.


Have Questions?

Let's Talk

Contact me on LinkedIn