Agentse AI rakendamine deterministlikus testimise automatiseerimises LangChaini ja DSPy abil
Sissejuhatus
Tarkvarasüsteemide kasvav keerukus on muutnud testimise automatiseerimise tarkvaraarenduse oluliseks aspektiks. Traditsioonilised testimise automatiseerimise raamistikud tuginevad skriptitud lähenemisviisidele, mis võivad olla rabedad ja raskesti hooldatavad. Viimastel aastatel on Agentic AI ja Orchestration Toolsi ilmumine avanud uusi võimalusi keeruliste katsestsenaariumide automatiseerimiseks. Selles artiklis uurime agentuuri AI, orkestreerimistööriistade ja tarkvaratehnika ristumiskohta, et automatiseerida keerulisi katsestsenaariume LangChaini ja DSPy abil.
Mis on agent AI?
Agent AI viitab teatud tüüpi tehisintellektile, mis on loodud kasutaja või süsteemi nimel toiminguid tegema. Agentsed AI-süsteemid on võimelised tegema otsuseid, õppima kogemustest ja kohanema uute olukordadega. Testide automatiseerimise kontekstis saab Agentic AI-d kasutada keerukate testistsenaariumide automatiseerimiseks, simuleerides kasutajate interaktsioone, tehes otsuseid katseandmete põhjal ja kohanedes muutuvate katsetingimustega.
Mis on LangChain?
LangChain on avatud lähtekoodiga orkestreerimistööriist, mis võimaldab arendajatel luua keerulisi AI-süsteeme, kasutades erinevaid programmeerimiskeeli, sealhulgas Python, Rust ja Go. LangChain pakub paindlikku ja modulaarset arhitektuuri, mis võimaldab arendajatel integreerida erinevaid AI-komponente, nagu loomuliku keele töötlemine (NLP) ja arvutinägemine, et luua keerukaid AI-süsteeme.
Mis on DSPy?
DSPy on Pythoni teek, mis pakub AI-süsteemide ehitamiseks ja juurutamiseks tööriistade komplekti. DSPy on loodud töötama sujuvalt koos LangChainiga ja pakub mitmeid funktsioone, sealhulgas andmetöötlust, masinõpet ja süvaõpet.
Agentse AI rakendamine deterministlikus testimise automatiseerimises
Agentilise AI rakendamiseks deterministlikus testimise automatiseerimises saame kasutada LangChaini ja DSPy-d, et luua testimise automatiseerimise raamistik, mis simuleerib kasutajate interaktsioone, teeb otsuseid testandmete põhjal ja kohandub muutuvate testitingimustega.
Siin on lihtne näide sellest, kuidas saame testistsenaariumi automatiseerimiseks kasutada LangChaini ja DSPy:
importida langchain
saidilt langchain.chains impordi LLMChain
saidilt langchain.llms importige DSPyLLM
test_scenario = {
"user_input": "sisselogimine",
"expected_output": "sisselogimine õnnestus"
}
# Määratlege Agent AI agent
agent = LLMchain(
llm=DSPyLLM(),
input_type="tekst",
output_type="tekst"
)
# Määratlege testimise automatiseerimise funktsioon
def test_automation(test_scenario):
# Simuleerige kasutaja interaktsiooni
kasutaja_sisend = test_stsenaarium["kasutaja_sisend"]
# Tehke otsus katseandmete põhjal
otsus = agent.run(kasutaja_sisend)
# Kohandage muutuvate katsetingimustega
kui otsus == "sisselogimine õnnestus":
print ("Test läbitud")
muu:
print ("Test ebaõnnestus")
# Käivitage testimise automatiseerimise funktsioon
test_automaatika (testi_stsenaarium)
Selles näites määratleme testistsenaariumi, mis hõlmab kasutaja interaktsiooni simuleerimist, testandmete põhjal otsuse tegemist ja muutuvate katsetingimustega kohanemist. Seejärel defineerime LangChaini ja DSPy abil agendi AI agendi ning kasutame seda testistsenaariumi automatiseerimiseks.
5–10 enimkasutatavat käsku/lõigu
Siin on 5–10 enimkasutatavat käsku/juppi LangChaini ja DSPy jaoks:
- "langchain.LLMChain(llm=DSPyLLM())": loob agentide AI agendi, kasutades LangChaini ja DSPy.
- "DSPyLLM()": lähtestab DSPy LLM-i (suure keele mudeli) eksemplari.
LLMChain(input_type="text", output_type="text"): loob tekstisisestus- ja väljundtüüpidega Agent AI agendi.- "agent.run(user_input)": käivitab Agenti AI agendi kasutaja sisendiga.
test_scenario = {"user_input": "sisselogimine", "expected_output": "sisselogimine õnnestus"}: määratleb testistsenaariumi kasutaja sisendi ja eeldatava väljundiga.- "langchain.chains.LLMChain(llm=DSPyLLM())": loob agentide AI agendi, kasutades LangChaini ja DSPy.
- "DSPyLLM().predict(user_input)": ennustab DSPy LLM-i väljundit kasutaja sisendiga.
LLMChain(input_type="text", output_type="text").run(user_input): käivitab Agentic AI agendi tekstisisestus- ja väljundtüüpidega.test_automation(test_scenario): käivitab testimise automatiseerimise funktsiooni koos teststsenaariumiga.langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): Käitab agendi AI agendi kasutaja sisendiga.
Visualiseerimine
Siin on agentuuri AI agendi visualiseerimine Chart.js-i abil:
{
"type": "bar",
"andmed": {
"sildid": ["Kasutaja sisend", "Otsus", "Kohandus"],
"andmestikud": [
{
"label": "Agent AI agent",
"andmed": [10, 20, 30],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
}
]
},
"valikud": {
"pealkiri": {
"ekraan": tõsi,
"text": "Agent AI agent"
},
"kaalud": {
"yAxes": [
{
"puugid": {
"beginAtZero": tõsi
}
}
]
}
}
}
See visualiseerimine näitab Agentic AI agendi jõudlust kasutaja interaktsioonide simuleerimisel, testandmete põhjal otsuste tegemisel ja muutuvate katsetingimustega kohanemisel.
Järeldus
Selles artiklis uurisime agentide AI, orkestreerimistööriistade ja tarkvaratehnika ristumiskohta, et automatiseerida keerulisi testistsenaariume LangChaini ja DSPy abil. Rakendasime lihtsa näite Agentic AI-st deterministlikus testimise automatiseerimises ja pakkusime LangChaini ja DSPy jaoks mitmesuguseid käske/juppe. Samuti visualiseerisime agentuurse AI agendi jõudlust Chart.js-i abil. Agentic AI ja Orchestration Toolsi võimendamisega saavad arendajad luua keerukaid testimise automatiseerimise raamistikke, mis simuleerivad kasutajate interaktsioone, langetavad katseandmete põhjal otsuseid ja kohanevad muutuvate katsetingimustega.