Auto-sendatzeko software sistemak eraikitzea Agente anitzeko AI arkitekturekin eta LangChain
Sarrera
Gaur egungo software garapen bizkorra den munduan, auto-sendatzeko software-sistemak eraikitzea ezinbesteko baldintza bihurtu da software-sistema konplexuen fidagarritasuna, eskalagarritasuna eta erresistentzia bermatzeko. Arkitektura monolitiko tradizionalak jada ez dira nahikoa software garapen modernoaren eskakizunei erantzuteko, non sistemak eskakizun aldakorretara egokitu behar diren, ustekabeko hutsegiteei aurre egin eta akatsetatik azkar berreskuratu behar duten. Hor sartzen dira eragile anitzeko AI arkitekturak eta LangChain, eta baldintza aldakorrei ikasi, egokitu eta erantzun dezaketen autosendatzeko software sistemak eraikitzeko irtenbide indartsua eskaintzen dute.
Zer dira agente anitzeko AI arkitekturak?
Agente anitzeko AI arkitekturak elkarren artean eta beren ingurunearekin elkarreragiten duten eragile autonomo anitzek osatzen duten AI sistema banatu bat dira, helburu komun bat lortzeko. Eragile bakoitzak bere erabakiak hartzeko gaitasunak, ezagutzak eta baliabideak ditu, eta elkarren artean komunikatu daitezke informazioa partekatzeko, ekintzak koordinatzeko eta baldintza aldakorretara egokitzeko.
Software-sistemen testuinguruan, agente anitzeko AI arkitekturak erabil daitezke auto-sendatzeko sistemak eraikitzeko, akatsak, hutsegiteak eta bestelako anomaliak denbora errealean detektatu eta erantzuteko. Erabakiak hartzeko prozesua agente anitzetan banatuz, sistema hauek esperientziatik ikas dezakete, baldintza aldakorretara egokitu eta akatsetatik azkar berreskuratu.
Zer da LangChain?
LangChain kode irekiko Python liburutegia da agente anitzeko AI sistemak eraikitzeko. Marko sinple, malgu eta eskalagarria eskaintzen du AI sistema konplexuak eraikitzeko, baldintza aldakorren aurrean ikasi, egokitu eta erantzuteko. LangChain AI esparru ugarirekin lan egiteko diseinatuta dago, TensorFlow, PyTorch eta Keras barne, eta hainbat datu-iturrirekin integratzen diren sistemak eraikitzeko erabil daiteke, datu-baseekin, APIekin eta IoT gailuekin barne.
Auto-sendatzeko software-sistemak eraikitzea LangChain-ekin
LangChain-ekin autosendatzeko software-sistema bat eraikitzeko, agente anitzeko AI arkitektura bat diseinatu behar dugu, akatsak, akatsak eta bestelako anomaliak denbora errealean detektatu eta erantzun diezaiekeen. Hona hemen arkitekturaren goi-mailako ikuspegi orokorra:
- Agenteen Diseinua: Elkarrekin eta beren ingurunearekin elkarreragin dezaketen eragile autonomoen multzoa diseinatu behar dugu helburu komun bat lortzeko. Eragile bakoitzak bere erabakiak hartzeko gaitasunak, ezagutzak eta baliabideak izan behar ditu.
- Ezagutzaren grafikoa: eragileen, ingurunearen eta sistemaren helburuen arteko harremanak adierazten dituen ezagutza grafikoa sortu behar dugu. Grafiko hau sistemaren egoera arrazoitzeko eta erabakiak hartzeko erabil daiteke.
- Erabakiak hartzea: Erabakiak hartzeko prozesu bat ezarri behar dugu, eragileei sistemaren egoera arrazoitzeko eta ezagutza grafikoaren arabera erabakiak hartzeko.
- Ekintza Exekuzioa: Ekintza exekutatzeko prozesu bat ezarri behar dugu, eragileek beren erabakiak gauzatu eta ingurunearekin elkarreragin ditzaten.
Hona hemen LangChain-ekin eraikitako auto-sendatzeko software sistema baten adibide sinple bat:
inportatu langchain
langchain.agents inportatzeko agentea
langchain.llms inportazio LLM-tik
grafikoa = {
'agenteak': ['agent1', 'agent2', 'agent3'],
'ingurunea': ['datu-basea', 'API', 'IoT gailua'],
'helburuak': ['akatsak hauteman', 'hutsegiteei erantzun', 'akatsetatik berreskuratu']
}
# Erabakiak hartzeko prozesua definitu
def erabaki_hartzea(agentea, ezagutza_grafikoa):
# Sistemaren egoerari buruzko arrazoia
egoera = ezagutza_grafikoa['agenteak'][agentea]
# Estatuaren araberako erabakia hartu
erabakia = 'erantzun hutsari'
itzultzeko erabakia
# Ekintzak exekutatzeko prozesua definitu
def action_execution(agentea, erabakia):
# Erabakia bete
erabakia == 'erantzun hutsari':
# Erantzun porrotari
print('Porrotari erantzuten...')
itzuli
# Sortu LangChain agente bat
agente = Agente(
name='auto-sendatzeko-agentea',
erabakiak hartzea=erabakiak hartzea,
action_execution=ekintza_exekuzioa,
ezagutza_grafikoa=grafikoa
)
# Sortu LangChain LLM bat
llm = LLM(
name='auto-sendatzeko-llm',
model='davinci'
)
# Sortu LangChain sistema
sistema = langchain.System(
agente=agente,
llm=llm
)
# Exekutatu sistema
sistema.exekutatu()
Adibide honek auto-sendatzeko software sistema sinple bat erakusten du, akatsak hauteman ditzakeena, hutsegiteei erantzuteko eta akatsetatik azkar berreskuratzeko. Sistema helburu komun bat lortzeko elkarren artean eta beren ingurunearekin elkarreragiten duten eragile autonomo multzo batek osatzen du. Eragileek ezagutza grafiko bat erabiltzen dute sistemaren egoera arrazoitzeko eta grafikoan oinarrituta erabakiak hartzeko.
Erabiltzen diren 5-10 komando/zati nagusiak
Hona hemen LangChain-erako gehien erabiltzen diren 5-10 komando/zatiketak:
langchain.Agent(): LangChain agente berri bat sortzen du.langchain.LLM(): LangChain LLM berria sortzen du.langchain.System(): LangChain sistema berri bat sortzen du.agent.decision_making(): agente baten erabakiak hartzeko prozesua exekutatzen du.agent.action_execution(): agente baten ekintza exekutatzeko prozesua exekutatzen du.llm.predict(): iragarpena egiten du LLM erabiliz.system.run(): LangChain sistema exekutatzen du.graph.add_node(): nodo berri bat gehitzen dio ezagutza grafikoari.graph.add_edge(): ertz berri bat gehitzen dio ezagutza grafikoari.graph.remove_node(): ezagutza grafikotik nodo bat kentzen du.
Bistaratzea
Hona hemen Chart.js erabiliz ezagutza grafikoaren bistaratzea sinple bat:
{
"mota": "grafikoa",
"datuak": {
"nodoak": [
{"id": "agent1", "label": "Agent 1"},
{"id": "agent2", "label": "Agent 2"},
{"id": "agent3", "label": "Agent 3"},
{"id": "database", "label": "Datubase"},
{"id": "API", "label": "API"},
{"id": "IoT gailua", "label": "IoT gailua"}
],
"ertzak": [
{"source": "agent1", "target": "database"},
{"source": "agent2", "target": "API"},
{"source": "agent3", "target": "IoT gailua"},
{"source": "agent1", "target": "agent2"},
{"source": "agent2", "target": "agent3"}
]
},
"aukerak": {
"diseinua": {
"mota": "zirkularra"
},
"nodoak": {
"tamaina": 50
},
"ertzak": {
"zabalera": 2
}
}
}
Ikuspegi honek eragileen, ingurunearen eta sistemaren helburuen arteko harremanak erakusten ditu.
Ondorioa
Agente anitzeko AI arkitekturekin eta LangChain-ek autosendatzeko software sistemak eraikitzea irtenbide indartsua eskaintzen du software-sistema konplexuen fidagarritasuna, eskalagarritasuna eta erresilientzia bermatzeko. Erabakiak hartzeko prozesua agente anitzetan banatuz, sistema hauek esperientziatik ikas dezakete, baldintza aldakorretara egokitu eta akatsetatik azkar berreskuratu. LangChain-ekin, garatzaileek AI sistema konplexuak eraiki ditzakete, datu-iturri ugarirekin integratzen direnak, datu-baseak, APIak eta IoT gailuak barne. Adibide-kodeari jarraituz eta gehien erabiltzen diren 5-10 komando/snippet erabiliz, garatzaileek beren auto-sendatzeko software-sistemak eraiki ditzakete LangChain-ekin.