Kuvaka Self-Healing Software Systems ine Multi-Agent AI Architectures uye LangChain
Introduction
Mumazuva ano anokurumidza kukurumidza kusimudzira software, kuvaka-kuzviporesa masoftware masisitimu zvave chinhu chakakosha chinodiwa kuti uve nechokwadi chekuvimbika, scalability, uye kusimba kwemasoftware masystem. Chinyakare monolithic architectures haichakwani kuti isangane nezvinodiwa zvemazuva ano software yekuvandudza, uko masisitimu anofanirwa kukwanisa kuchinjika kune anochinja zvinodiwa, kubata kutadza kusingatarisirwe, uye kupora kubva mukukanganisa nekukurumidza. Apa ndipo panowanikwa akawanda-agent AI architectures uye LangChain, ichipa mhinduro ine simba yekuvaka-yega-yekupora software masisitimu anogona kudzidza, kugadzirisa, uye kupindura kune shanduko mamiriro.
** Chii chinonzi Multi-Agent AI Architectures?**
Multi-agent AI architecture imhando yakagoverwa AI sisitimu iyo ine akawanda anozvimiririra maajenti anodyidzana pamwe nekwavanogara kuzadzisa chinangwa chakafanana. Mumiririri wega wega ane kwaanogona kuita sarudzo, ruzivo, uye zviwanikwa, uye vanogona kutaurirana kuti vagovane ruzivo, kuronga zviito, uye kuenderana nekuchinja kwemamiriro.
Mumamiriro ezvinhu ehurongwa hwesoftware, akawanda-agent AI architecture anogona kushandiswa kuvaka-anozviporesa masisitimu anogona kuona uye kupindura kune zvikanganiso, kutadza, uye zvimwe zvinokanganisa munguva chaiyo. Nekugovera maitiro ekuita sarudzo kune akawanda maajenti, masisitimu aya anogona kudzidza kubva kune ruzivo, anoenderana nekuchinja mamiriro, uye kupora kubva mukukanganisa nekukurumidza.
Chii chinonzi LangChain?
LangChain ndeye yakavhurika-sosi Python raibhurari yekuvaka akawanda-agent AI masisitimu. Inopa yakapfava, inochinjika, uye scalable chimiro chekuvaka yakaoma AI masisitimu anogona kudzidza, kugadzirisa, uye kupindura kune kuchinja mamiriro. LangChain yakagadzirirwa kushanda nemhando dzakasiyana-siyana dzeAI, kusanganisira TensorFlow, PyTorch, uye Keras, uye inogona kushandiswa kuvaka masisitimu anobatanidza nemhando dzakasiyana dze data, kusanganisira dhatabhesi, APIs, uye IoT zvishandiso.
Kuvaka Self-Healing Software Systems neLangChain
Kuti tivake kuzvirapa kwesoftware system neLangChain, isu tinofanirwa kugadzira akawanda-agent AI architecture anogona kuona uye kupindura kune zvikanganiso, kutadza, uye zvimwe zvinokanganisa munguva chaiyo. Heino mhedziso yepamusoro-soro yezvivakwa:
- Agent Design: Tinoda kugadzira seti yevamiririri vanozvimirira vanogona kudyidzana pamwe chete uye nenharaunda yavo kuti vawane chinangwa chakafanana. Mumiriri wega wega anofanirwa kuve neayo ekuita sarudzo, ruzivo, uye zviwanikwa.
- Kuziva Girafu: Tinofanira kugadzira girafu yezivo inomiririra hukama pakati pevamiririri, zvakatipoteredza, uye zvinangwa zvehurongwa. Iyi girafu inogona kushandiswa kufunga nezve mamiriro ehurongwa uye kuita sarudzo.
- **Kuita Sarudzo **: Tinofanira kushandisa nzira yekuita sarudzo inobvumira vamiririri kufunga nezvemamiriro ehurongwa uye kuita sarudzo zvichienderana neruzivo rwegirafu.
- Action Execution: Tinofanira kuita chiito chekuita maitiro chinobvumira vamiririri kuita zvisarudzo zvavo uye kupindirana nemhoteredzo.
Heino muenzaniso wakapfava we-self-healing software system yakavakwa neLangChain:
import langchain
kubva langchain.agents import Agent
kubva ku langchain.llms import LLM
girafu = {
'agent': ['agent1', 'agent2', 'agent3'],
'zvakatipoteredza': ['database', 'API', 'IoT device'],
'zvinangwa': ['ona zvikanganiso', 'pindura kukundikana', 'kupora kubva mukukanganisa']
}
# Tsanangura maitiro ekuita sarudzo
def decision_making(mumiririri, ruzivo_graph):
# Chikonzero nezve mamiriro eiyo system
state = knowledge_graph['agents'][agent]
# Ita sarudzo zvichienderana nenyika
decision = 'pindura kukundikana'
kudzorera chisarudzo
# Tsanangura maitiro ekuita maitiro
def action_execution (mumiririri, sarudzo):
# Ita sarudzo
kana sarudzo == 'pindura kukundikana':
# Pindura kukundikana
dhinda('Kupindura kukundikana...')
return
# Gadzira LangChain mumiriri
mumiririri = mumiririri (
zita='kuzviporesa-mumiririri',
decision_making=decision_making,
action_execution=action_execution,
ruzivo_girafu=girafu
)
# Gadzira LangChain LLM
llm = LLM(
zita='kuzviporesa-llm',
muenzaniso='davinci'
)
# Gadzira LangChain system
system = langchain.System(
mumiririri = mumiririri,
llm=llm
)
# Mhanya iyo system
system.run()
Uyu muenzaniso unoratidza yakapusa yekuzviporesa software system inogona kuona zvikanganiso, kupindura kukundikana, uye kupora kubva mukukanganisa nekukurumidza. Iyo sisitimu ine seti yevanozvimiririra vamiririri vanodyidzana kune mumwe nemumwe uye nharaunda yavo kuzadzisa chinangwa chakafanana. Vamiririri vanoshandisa girafu yeruzivo kufunga nezve mamiriro ehurongwa uye kuita sarudzo zvichienderana negirafu.
Pamusoro 5-10 Inonyanya Kushandiswa Mirairo/Zvidimbu
Heano epamusoro 5-10 anonyanya kushandiswa mirairo/zvimedu zveLangChain:
langchain.Agent(): Inogadzira mumiriri mutsva weLangChain.langchain.LLM(): Inogadzira LangChain LLM itsva.langchain.System(): Inogadzira itsva LangChain system.agent.decision_making(): Inoita sarudzo dzemumiririri.agent.action_execution(): Inomhanyisa maitiro ekuita zvemumiririri.llm.predict(): Inoita fungidziro uchishandisa LLM.system.run(): Inomhanya iyo LangChain system.graph.add_node(): Inowedzera node itsva kugirafu yezivo.graph.add_edge(): Inowedzera mupendero mutsva kugirafu yeruzivo.graph.remove_node(): Inobvisa nodi kubva paruzivo rwegirafu.
Kuona
Heino ratidziro yakapusa yegirafu yeruzivo uchishandisa Chart.js:
{
"type": "graph",
"data": {
"node": [
{"id": "mumiririri1", "label": "Mumiririri 1"},
{"id": "mumiririri2", "label": "Mumiririri 2"},
{"id": "mumiririri3", "label": "Mumiririri 3"},
{"id": "database", "label": "Database"},
{"id": "API", "label": "API"},
{"id": "IoT mudziyo", "label": "IoT Mudziyo"}
],
"kumucheto": [
{"source": "agent1", "target": "database"},
{"source": "agent2", "target": "API"},
{"source": "agent3", "target": "IoT mudziyo"},
{"source": "mumiririri1", "chinangwa": "mumiririri2"},
{"source": "agent2", "target": "mumiririri3"}
]
},
"sarudzo": {
"chimiro": {
"type": "circular"
},
"node": {
"saizi": 50
},
"mapendero": {
"hupamhi": 2
}
}
}
Iyi yekuona inoratidza hukama pakati pevamiririri, nharaunda, uye zvinangwa zvehurongwa.
Mhedziso
Kuvaka kuzvirapa kwesoftware masisitimu ane akawanda-agent AI architectures uye LangChain inopa mhinduro ine simba yekuve nechokwadi chekuvimbika, scalability, uye kusimba kweakaoma software masisitimu. Nekugovera maitiro ekuita sarudzo kune akawanda maajenti, masisitimu aya anogona kudzidza kubva kune ruzivo, anoenderana nekuchinja mamiriro, uye kupora kubva mukukanganisa nekukurumidza. NeLangChain, vagadziri vanogona kuvaka maitiro eAI akaoma anobatanidza nehuwandu hwemashoko ezvinyorwa, kusanganisira databases, APIs, uye IoT madivayiri. Nekutevera kodhi yemuenzaniso uye kushandisa iyo yepamusoro 5-10 inonyanya kushandiswa mirairo / snippets, vanogadzira vanogona kuvaka yavo yekuzvirapa software masisitimu neLangChain.