AI agentikoa inplementatzea Proba deterministikoen automatizazioan LangChain eta DSPyrekin
Sarrera
Software-sistemen gero eta konplexutasun handiagoak probaren automatizazioa software garapenaren alderdi erabakigarria bihurtu du. Ohiko probak automatizatzeko esparruak scripted ikuspegietan oinarritzen dira, hauskorrak eta mantentzen zailak izan daitezkeenak. Azken urteotan, Agentic AI eta Orkestrazio Tresnen sorrerak aukera berriak ireki ditu proba-eszenatoki konplexuak automatizatzeko. Artikulu honetan, Agentic AI, Orkestrazio Tresnak eta Software Ingeniaritzaren arteko elkargunea aztertuko dugu LangChain eta DSPy erabiliz proba konplexuak automatizatzeko.
Zer da Agentic AI?
Agentic AI adimen artifizial mota bati egiten zaio erreferentzia, erabiltzaile edo sistema baten izenean ekintzak egiteko diseinatuta dagoena. AI agentikoaren sistemak erabakiak hartzeko, esperientziatik ikasteko eta egoera berrietara egokitzeko gai dira. Proben automatizazioaren testuinguruan, Agentic AI probaren eszenatoki konplexuak automatizatzeko erabil daiteke, erabiltzaileen interakzioak simulatuz, probaren datuetan oinarritutako erabakiak hartuz eta proba-baldintzetara egokituz.
Zer da LangChain?
LangChain kode irekiko Orkestrazio Tresna bat da, eta garatzaileek AI sistema konplexuak eraiki ditzakete hainbat programazio lengoaia erabiliz, Python, Rust eta Go barne. LangChain-ek arkitektura malgu eta modularra eskaintzen du, garatzaileei AI osagai desberdinak integratzeko aukera ematen diena, hala nola, hizkuntza naturalaren prozesamendua (NLP) eta ordenagailu bidezko ikusmena, AI sistema sofistikatuak eraikitzeko.
Zer da DSPy?
DSPy AI sistemak eraikitzeko eta zabaltzeko tresna multzo bat eskaintzen duen Python liburutegia da. DSPy LangChain-ekin ezin hobeto lan egiteko diseinatuta dago eta hainbat funtzio eskaintzen ditu, besteak beste, datuen prozesamendua, ikaskuntza automatikoa eta ikaskuntza sakona.
AI agentikoa ezartzea Proba Deterministikoen Automatizazioan
Agentic AI probaren automatizazio deterministikoan ezartzeko, LangChain eta DSPy erabil ditzakegu probaren automatizazio-esparru bat eraikitzeko, erabiltzaileen elkarrekintzak simulatzen dituena, probaren datuetan oinarritutako erabakiak hartzen dituena eta proba-baldintza aldakorretara egokitzen dena.
Hona hemen LangChain eta DSPy probako eszenatoki bat automatizatzeko nola erabil ditzakegun adibide sinple bat:
inportatu langchain
langchain.chains-tik inportatu LLMChain
langchain.llms-tik inportatu DSPyLLM
proba_eszenarioa = {
"user_input": "saioa",
"expected_output": "saioa ongi hasi"
}
# Definitu Agentic AI agentea
agente = LLMChain(
llm=DSpyLLM(),
input_type="testua",
output_type="testua"
)
# Definitu probaren automatizazio funtzioa
def test_automation(proba_eszenarioa):
# Simulatu erabiltzailearen interakzioa
user_input = proba_eszenarioa["erabiltzailea_sarrera"]
# Hartu erabakia probaren datuetan oinarrituta
erabakia = agent.run(erabiltzailea_sarrera)
# Egokitu proba-baldintzetara
erabakia == "saioa arrakastatsua" bada:
print("Proba gainditua")
bestela:
print("Probak huts egin du")
# Exekutatu probaren automatizazio funtzioa
test_automatizazioa(proba_eszenarioa)
Adibide honetan, erabiltzailearen interakzioa simulatzea, probaren datuetan oinarritutako erabakia hartzea eta proba-baldintzetara egokitzea dakar proba-eszenatoki bat definitzen dugu. Ondoren, Agentic AI agente bat definitzen dugu LangChain eta DSPy erabiliz, eta probaren eszenatokia automatizatzeko erabiltzen dugu.
Erabiltzen diren 5-10 komando/zati nagusiak
Hona hemen LangChain eta DSPy-ren gehien erabiltzen diren 5-10 komando/zatienak:
langchain.LLMCain(llm=DSPyLLM()): Agentic AI agente bat sortzen du LangChain eta DSPy erabiliz.DSPyLLM(): DSPy LLM (Large Language Model) instantzia bat hasten du.LLMCain(input_type="text", output_type="text"): Agentic AI agente bat sortzen du testu sarrera eta irteera motekin.agent.run(user_input): Agentic AI agentea exekutatzen du erabiltzailearen sarrerarekin.test_scenario = {"user_input": "login", "expected_output": "saioa arrakastatsua"}: erabiltzailearen sarrerarekin eta espero den irteerarekin proba-egoera bat definitzen du.langchain.chains.LLMCain(llm=DSPyLLM()): Agentic AI agente bat sortzen du LangChain eta DSPy erabiliz.DSPyLLM().predict(user_input): DSPy LLM-ren irteera iragartzen du erabiltzailearen sarrerarekin.LLMCain(input_type="text", output_type="text").run(user_input): Agentic AI agentea exekutatzen du testu sarrera eta irteera motekin.test_automation(test_scenario): probaren automatizazio funtzioa exekutatzen du probako eszenatoki batekin.langchain.chains.LLMCain(llm=DSPyLLM()).run(user_input): Agentic AI agentea erabiltzailearen sarrerarekin exekutatzen du.
Bistaratzea
Hona hemen Chart.js erabiliz Agentic AI agentearen bistaratzea:
{
"mota": "barra",
"datuak": {
"labels": ["Erabiltzaileen sarrera", "Erabakia", "Egokitzapena"],
"datu multzoak": [
{
"label": "AI Agentearen Agentea",
"datuak": [10, 20, 30],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
}
]
},
"aukerak": {
"titulua": {
"bistaratu": egia,
"text": "AI Agentearen Agentea"
},
"eskalak": {
"yAxes": [
{
"ticks": {
"beginAtZero": egia
}
}
]
}
}
}
Ikuspegi honek Agentic AI agentearen errendimendua erakusten du erabiltzaileen interakzioak simulatzeko, probaren datuetan oinarritutako erabakiak hartzeko eta probako baldintzetara egokitzeko.
Ondorioa
Artikulu honetan, Agentic AI, Orkestrazio Tresnak eta Software Ingeniaritzaren arteko elkargunea aztertu dugu LangChain eta DSPy erabiliz proba konplexuak automatizatzeko. Agentic AI-ren adibide sinple bat inplementatu dugu test deterministikoen automatizazioan eta komando/zati batzuk eman ditugu LangChain eta DSPy-rentzat. Agentic AI agentearen errendimendua ere ikusi dugu Chart.js erabiliz. Agentic AI eta Orkestrazio Tresnak aprobetxatuz, garatzaileek probaren automatizazio esparru sofistikatuak eraiki ditzakete, erabiltzaileen interakzioak simulatzen dituztenak, probaren datuetan oinarritutako erabakiak hartzeko eta proba-baldintza aldakorretara egokitzeko.