Ko‘p agentli AI arxitekturasi va LangChain yordamida o‘z-o‘zini davolash dasturiy tizimlarini yaratish
Kirish
Bugungi kunda dasturiy ta'minotni ishlab chiqishning jadal sur'atlarida o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratish murakkab dasturiy ta'minot tizimlarining ishonchliligi, kengaytirilishi va chidamliligini ta'minlashning muhim talabiga aylandi. An'anaviy monolit arxitekturalar zamonaviy dasturiy ta'minotni ishlab chiqish talablarini qondirish uchun endi etarli emas, bu erda tizimlar o'zgaruvchan talablarga moslasha olishi, kutilmagan nosozliklarni bartaraf etishi va xatolardan tezda tiklanishi kerak. Aynan shu erda ko'p agentli AI arxitekturalari va LangChain o'ynaydi va o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini o'rganish, moslashish va o'zgaruvchan sharoitlarga javob berish uchun kuchli yechim taklif qiladi.
Ko‘p agentli AI arxitekturalari nima?
Ko'p agentli AI arxitekturalari umumiy maqsadga erishish uchun bir-biri va ularning muhiti bilan o'zaro ta'sir qiluvchi bir nechta avtonom agentlardan iborat bo'lgan taqsimlangan AI tizimining bir turidir. Har bir agent o'zining qaror qabul qilish qobiliyatiga, bilimiga va resurslariga ega va ular ma'lumot almashish, harakatlarni muvofiqlashtirish va o'zgaruvchan sharoitlarga moslashish uchun bir-biri bilan muloqot qilishlari mumkin.
Dasturiy ta'minot tizimlari kontekstida ko'p agentli AI arxitekturalari real vaqt rejimida xatolar, nosozliklar va boshqa anomaliyalarni aniqlay oladigan va ularga javob beradigan o'z-o'zini davolash tizimlarini yaratish uchun ishlatilishi mumkin. Qaror qabul qilish jarayonini bir nechta agentlarga taqsimlash orqali ushbu tizimlar tajribadan o'rganishi, o'zgaruvchan sharoitlarga moslashishi va xatolardan tezda tiklanishi mumkin.
LangChain nima?
LangChain ko'p agentli AI tizimlarini yaratish uchun ochiq manba Python kutubxonasidir. U o'rganadigan, moslasha oladigan va o'zgaruvchan sharoitlarga javob beradigan murakkab AI tizimlarini yaratish uchun oddiy, moslashuvchan va kengaytiriladigan asosni taqdim etadi. LangChain TensorFlow, PyTorch va Keras kabi keng ko'lamli sun'iy intellekt ramkalari bilan ishlash uchun mo'ljallangan va turli ma'lumotlar manbalari, jumladan, ma'lumotlar bazalari, API va IoT qurilmalari bilan integratsiyalashgan tizimlarni yaratish uchun ishlatilishi mumkin.
LangChain yordamida o'z-o'zini davolash dasturiy tizimlarini yaratish
LangChain bilan oʻz-oʻzini tiklaydigan dasturiy taʼminot tizimini yaratish uchun biz real vaqtda xatolar, nosozliklar va boshqa anomaliyalarni aniqlay oladigan va ularga javob beradigan koʻp agentli AI arxitekturasini loyihalashimiz kerak. Bu erda arxitekturaning yuqori darajadagi umumiy ko'rinishi:
- Agent dizayni: Biz umumiy maqsadga erishish uchun bir-biri va atrof-muhit bilan o'zaro aloqada bo'lishi mumkin bo'lgan avtonom agentlar to'plamini loyihalashimiz kerak. Har bir agentning qaror qabul qilish qobiliyati, bilimi va resurslari bo'lishi kerak.
- Bilimlar grafigi: Biz agentlar, atrof-muhit va tizim maqsadlari o'rtasidagi munosabatlarni ifodalovchi bilimlar grafigini yaratishimiz kerak. Ushbu grafik tizimning holati haqida fikr yuritish va qaror qabul qilish uchun ishlatilishi mumkin.
- Qaror qabul qilish: Biz agentlarga tizim holati haqida fikr yuritish va bilim grafigi asosida qaror qabul qilish imkonini beruvchi qaror qabul qilish jarayonini amalga oshirishimiz kerak.
- Harakatni bajarish: Biz agentlarga o'z qarorlarini bajarish va atrof-muhit bilan o'zaro munosabatda bo'lish imkonini beruvchi harakatni bajarish jarayonini amalga oshirishimiz kerak.
LangChain yordamida yaratilgan o'z-o'zini davolash dasturiy ta'minot tizimining oddiy misoli:
import langchain
langchain.agents import agentidan
langchain.llms import LLM dan
grafik = {
"agentlar": ['agent1', 'agent2', 'agent3'],
'atrof-muhit': ['ma'lumotlar bazasi', 'API', 'IoT qurilmasi'],
"maqsadlar": ["xatolarni aniqlash", "muvaffaqiyatsizliklarga javob berish", "xatolarni tiklash"]
}
# Qaror qabul qilish jarayonini aniqlang
def qaror qabul qilish (agent, bilim_grafigi):
# Tizimning holati haqida sabab
davlat = bilim_grafigi['agentlar'][agent]
# Davlatga qarab qaror qabul qiling
qaror = "muvaffaqiyatsizlikka javob berish"
qaytarish qarori
# Harakatni bajarish jarayonini aniqlang
def action_execution(agent, qaror):
# Qarorni ijro eting
agar qaror == "muvaffaqiyatsizlikka javob bering":
# Muvaffaqiyatsizlikka javob bering
print ('Muvaffaqiyatsizlikka javob berilmoqda...')
qaytish
# LangChain agentini yarating
agent = Agent (
name='o'z-o'zini davolovchi-agent',
qaror_qabul qilish=qaror_qabul qilish,
action_execution=harakat_bajarish,
bilim_grafigi = grafik
)
# LangChain LLM yarating
llm = LLM(
name='self-healing-llm',
model = 'davinci'
)
# LangChain tizimini yarating
tizim = langchain.System(
agent=agent,
llm=llm
)
# Tizimni ishga tushiring
system.run()
Ushbu misol xatolarni aniqlay oladigan, nosozliklarga javob beradigan va xatolardan tezda tiklanadigan oddiy o'z-o'zini tiklaydigan dasturiy ta'minot tizimini namoyish etadi. Tizim umumiy maqsadga erishish uchun bir-biri va atrof-muhit bilan o'zaro ta'sir qiluvchi avtonom agentlar to'plamidan iborat. Agentlar tizim holati haqida fikr yuritish va grafik asosida qaror qabul qilish uchun bilim grafigidan foydalanadilar.
Eng koʻp ishlatiladigan 5-10 ta buyruq/parchalar
LangChain uchun eng ko'p ishlatiladigan 5-10 ta eng yaxshi buyruqlar/parchalar:
langchain.Agent(): Yangi LangChain agentini yaratadi.langchain.LLM(): Yangi LangChain LLM yaratadi.langchain.System(): Yangi LangChain tizimini yaratadi.agent.decision_making(): agent uchun qaror qabul qilish jarayonini boshqaradi.agent.action_execution(): agent uchun amalni bajarish jarayonini ishga tushiradi.llm.predict(): LLM yordamida bashorat qiladi.system.run(): LangChain tizimini ishga tushiradi.graph.add_node(): bilimlar grafigiga yangi tugun qo'shadi.graph.add_edge(): bilimlar grafigiga yangi chekka qo'shadi.graph.remove_node(): bilimlar grafigidan tugunni olib tashlaydi.
Vizualizatsiya
Mana Chart.js yordamida bilimlar grafigining oddiy vizualizatsiyasi:
{
"turi": "grafik",
"ma'lumotlar": {
"tugunlar": [
{"id": "agent1", "yorliq": "1-agent"},
{"id": "agent2", "yorliq": "Agent 2"},
{"id": "agent3", "yorliq": "Agent 3"},
{"id": "ma'lumotlar bazasi", "yorliq": "Ma'lumotlar bazasi"},
{"id": "API", "yorliq": "API"},
{"id": "IoT qurilmasi", "yorliq": "IoT qurilmasi"}
],
"qirralar": [
{"manba": "agent1", "target": "ma'lumotlar bazasi"},
{"manba": "agent2", "target": "API"},
{"manba": "agent3", "target": "IoT qurilmasi"},
{"manba": "agent1", "target": "agent2"},
{"manba": "agent2", "target": "agent3"}
]
},
"variantlar": {
"tartib": {
"turi": "dumaloq"
},
"tugunlar": {
"hajmi": 50
},
"qirralar": {
"kenglik": 2
}
}
}
Ushbu vizualizatsiya agentlar, atrof-muhit va tizim maqsadlari o'rtasidagi munosabatlarni ko'rsatadi.
Xulosa
Ko'p agentli AI arxitekturalari va LangChain bilan o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratish murakkab dasturiy ta'minot tizimlarining ishonchliligi, kengaytirilishi va chidamliligini ta'minlash uchun kuchli yechim taklif qiladi. Qaror qabul qilish jarayonini bir nechta agentlarga taqsimlash orqali ushbu tizimlar tajribadan o'rganishi, o'zgaruvchan sharoitlarga moslashishi va xatolardan tezda tiklanishi mumkin. LangChain yordamida ishlab chiquvchilar maʼlumotlar bazalari, API va IoT qurilmalari kabi keng turdagi maʼlumotlar manbalari bilan integratsiyalashgan murakkab AI tizimlarini yaratishi mumkin. Misol kodiga rioya qilish va eng ko'p ishlatiladigan 5-10 ta eng ko'p ishlatiladigan buyruqlar/parchalardan foydalangan holda, ishlab chiquvchilar LangChain yordamida o'z-o'zini davolash dasturiy tizimlarini yaratishi mumkin.