Agentinio AI diegimas deterministiniame testų automatizavime naudojant „LangChain“ ir „DSPy“
Įvadas
Dėl didėjančio programinės įrangos sistemų sudėtingumo testų automatizavimas tapo esminiu programinės įrangos kūrimo aspektu. Tradicinės testavimo automatizavimo sistemos remiasi scenarijais metodais, kurie gali būti trapūs ir sunkiai prižiūrimi. Pastaraisiais metais „Agentic AI“ ir „Orchestration Tools“ atsiradimas atvėrė naujų galimybių automatizuoti sudėtingus bandymų scenarijus. Šiame straipsnyje mes ištirsime Agentinio AI, Orchestration Tools ir Software Engineering sankirtą, kad automatizuotume sudėtingus bandymo scenarijus naudojant LangChain ir DSPy.
Kas yra agentinis AI?
Agentinis AI reiškia dirbtinio intelekto tipą, kuris yra sukurtas atlikti veiksmus vartotojo ar sistemos vardu. Agentinės AI sistemos gali priimti sprendimus, mokytis iš patirties ir prisitaikyti prie naujų situacijų. Testavimo automatizavimo kontekste „Agentic AI“ gali būti naudojamas automatizuoti sudėtingus bandymų scenarijus, imituojant vartotojų sąveiką, priimant sprendimus remiantis bandymų duomenimis ir prisitaikant prie kintančių bandymo sąlygų.
Kas yra „LangChain“?
LangChain yra atvirojo kodo orkestravimo įrankis, leidžiantis kūrėjams kurti sudėtingas AI sistemas naudojant įvairias programavimo kalbas, įskaitant Python, Rust ir Go. „LangChain“ suteikia lanksčią ir modulinę architektūrą, leidžiančią kūrėjams integruoti įvairius AI komponentus, tokius kaip natūralios kalbos apdorojimas (NLP) ir kompiuterinė vizija, kad sukurtų sudėtingas AI sistemas.
Kas yra DSPy?
DSPy yra Python biblioteka, kurioje yra įrankių rinkinys AI sistemoms kurti ir diegti. DSPy sukurtas sklandžiai dirbti su „LangChain“ ir siūlo daugybę funkcijų, įskaitant duomenų apdorojimą, mašininį mokymąsi ir gilųjį mokymąsi.
Agentinio AI diegimas deterministiniame testų automatizavime
Norėdami įdiegti „Agentic AI“ deterministiniame testų automatizavime, galime naudoti „LangChain“ ir „DSPy“, kad sukurtume testavimo automatizavimo sistemą, kuri imituoja vartotojų sąveiką, priima sprendimus, pagrįstus bandymo duomenimis, ir prisitaiko prie kintančių bandymo sąlygų.
Štai paprastas pavyzdys, kaip galime naudoti „LangChain“ ir DSPy automatizuoti bandymo scenarijų:
importuoti langchain
iš langchain.chains importuoti LLMChain
iš langchain.llms importuoti DSPyLLM
test_scenario = {
"user_input": "prisijungti",
"expected_output": "prisijungimas sėkmingas"
}
# Apibrėžkite agento AI agentą
agentas = LLMchain(
llm=DSPyLLM(),
input_type="tekstas",
output_type="tekstas"
)
# Apibrėžkite testavimo automatizavimo funkciją
def test_automation(test_scenario):
# Imituoti vartotojo sąveiką
user_input = testo_scenarijus["vartotojo_įvestis"]
# Priimkite sprendimą remdamiesi bandymo duomenimis
sprendimas = agent.run(user_input)
# Prisitaikykite prie besikeičiančių bandymo sąlygų
jei sprendimas == "prisijungimas sėkmingas":
spausdinti ("testas išlaikytas")
kitaip:
spausdinti ("Bandymas nepavyko")
# Vykdykite testavimo automatizavimo funkciją
bandymo_automatizacija(testo_scenarijus)
Šiame pavyzdyje apibrėžiame bandymo scenarijų, kuris apima vartotojo sąveikos modeliavimą, sprendimo priėmimą remiantis bandymo duomenimis ir prisitaikymą prie kintančių bandymo sąlygų. Tada mes apibrėžiame Agentišką AI agentą naudodami „LangChain“ ir „DSPy“ ir naudojame jį automatizuoti bandymo scenarijų.
5–10 dažniausiai naudojamų komandų / fragmentų
Čia yra 5–10 dažniausiai naudojamų „LangChain“ ir „DSPy“ komandų / fragmentų:
- „langchain.LLMChain(llm=DSPyLLM())“: sukuria „Agentic AI“ agentą naudojant „LangChain“ ir „DSPy“.
- „DSPyLLM()“: inicijuoja DSPy LLM (didelės kalbos modelio) egzempliorių.
LLMChain(input_type="text", output_type="text"): sukuria Agentišką AI agentą su teksto įvesties ir išvesties tipais.- „agent.run(user_input)“: paleidžia „Agentic AI“ agentą su vartotojo įvestimi.
test_scenario = {"user_input": "prisijungimas", "expected_output": "prisijungimas sėkmingas"}: apibrėžia bandymo scenarijų su vartotojo įvestimi ir numatoma išvestimi.- „langchain.chains.LLMChain(llm=DSPyLLM())“: sukuria Agentišką AI agentą naudojant „LangChain“ ir „DSPy“.
- „DSPyLLM().predict(user_input)“: numato DSPy LLM išvestį su vartotojo įvestimi.
LLMChain(input_type="text", output_type="text").run(user_input): paleidžia Agentišką AI agentą su teksto įvesties ir išvesties tipais.- „test_automation(test_scenario)“: paleidžia testavimo automatizavimo funkciją su bandymo scenarijumi.
- „langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input)“: paleidžia „Agentic AI“ agentą su vartotojo įvestimi.
Vizualizacija
Štai „Agentic AI“ agento vizualizacija naudojant Chart.js:
{
"tipas": "juosta",
"duomenys": {
"etiketės": ["Vartotojo įvestis", "Sprendimas", "Pritaikymas"],
"duomenų rinkiniai": [
{
"etiketė": "Agentinis AI agentas",
"duomenys": [10, 20, 30],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
}
]
},
"parinktys": {
"pavadinimas": {
"display": tiesa,
"text": "Agentinis AI agentas"
},
"svarstyklės": {
„yAxes“: [
{
"erkės": {
"beginAtZero": tiesa
}
}
]
}
}
}
Ši vizualizacija parodo „Agentic AI“ agento našumą imituojant vartotojų sąveiką, priimant sprendimus remiantis bandymo duomenimis ir prisitaikant prie kintančių bandymo sąlygų.
Išvada
Šiame straipsnyje mes ištyrėme Agentinio AI, Orchestration Tools ir Software Engineering sankirtą, kad galėtume automatizuoti sudėtingus bandymo scenarijus naudojant „LangChain“ ir „DSPy“. Įdiegėme paprastą Agentinio AI pavyzdį deterministiniame testų automatizavime ir pateikėme daugybę komandų / fragmentų, skirtų „LangChain“ ir „DSPy“. Taip pat vizualizavome „Agentic AI“ agento veikimą naudodami Chart.js. Naudodami „Agentic AI“ ir „Orchestration Tools“ kūrėjai gali sukurti sudėtingas testavimo automatizavimo sistemas, kurios imituoja vartotojų sąveiką, priima sprendimus, pagrįstus bandymo duomenimis, ir prisitaiko prie kintančių bandymo sąlygų.