බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ වාද්ය වෘන්දය සහිත ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම
හැඳින්වීම
වර්තමාන වේගවත් හා නිරන්තරයෙන් වෙනස් වන මෘදුකාංග භූ දර්ශනය තුළ, නිෂ්පාදනයෙන් බේරී සිටීමට හැකි ශක්තිමත් සහ අනුවර්තන පද්ධති ගොඩනැගීම මෘදුකාංග ඉංජිනේරුවන් සහ DevOps කණ්ඩායම් සඳහා ප්රමුඛතාවයකි. මෘදුකාංග සංවර්ධනය සඳහා සාම්ප්රදායික ප්රවේශයන් බොහෝ විට අවධානය යොමු කරන්නේ අසාර්ථකත්වයට සහ අක්රීය වීමට ඉඩ ඇති ඒකලිතික පද්ධති ගොඩනැගීම කෙරෙහි ය. කෙසේ වෙතත්, බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ වාද්ය වෘන්දය මෙවලම් පැමිණීමත් සමඟ, වෙනස්වන තත්වයන්ට අනුවර්තනය වීමට සහ අසාර්ථකත්වයන්ගෙන් යථා තත්ත්වයට පත් කළ හැකි ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති නිර්මාණය කිරීමට දැන් හැකි වේ.
මෙම ලිපියෙන් අපි බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ වාද්ය වෘන්ද මෙවලම් පිළිබඳ සංකල්පය සහ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති තැනීමට ඒවා භාවිතා කළ හැකි ආකාරය ගවේෂණය කරන්නෙමු. අපි AI, මෘදුකාංග ඉංජිනේරු විද්යාව සහ DevOps හි නවතම ප්රවණතා ගැන සොයා බලනු ඇත, සහ ශක්තිමත් සහ අනුවර්තන මෘදුකාංග පද්ධති නිර්මාණය කිරීමේදී LangChain සහ DSPy වැනි මෙවලම්වල කාර්යභාරය පරීක්ෂා කරන්නෙමු.
Multi-Agent AI ගෘහ නිර්මාණ ශිල්පය යනු කුමක්ද?
බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය යනු පොදු අරමුණක් සාක්ෂාත් කර ගැනීම සඳහා එකිනෙකා සමඟ අන්තර් ක්රියා කරන බහු ස්වයංක්රීය නියෝජිතයන්ගෙන් සමන්විත AI පද්ධති වර්ගයකි. සෑම නියෝජිතයෙකුටම තමන්ගේම හැකියාවන්, දැනුම සහ ඉලක්ක ඇති අතර, ඔවුන් ඉහළ මට්ටමේ අරමුණක් සාක්ෂාත් කර ගැනීම සඳහා එක්ව කටයුතු කරයි. බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය විශේෂයෙන් ප්රයෝජනවත් වන්නේ බහු පාර්ශ්වකරුවන්, පරස්පර අරමුණු සහ අවිනිශ්චිත ප්රතිඵල ඇති සංකීර්ණ පද්ධතිවල ය.
මෘදුකාංග ඉංජිනේරු විද්යාවේදී, තත්ය කාලීනව අසාර්ථක වීම් හඳුනාගෙන ඒවාට ප්රතිචාර දැක්විය හැකි ස්වයං-සුව කිරීමේ පද්ධති තැනීමට බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය භාවිතා කළ හැක. උදාහරණයක් ලෙස, බහු-නියෝජිත AI පද්ධතියක් පද්ධතියක විවිධ සංරචක නිරීක්ෂණය කරන, අසාර්ථක වීම් හඳුනාගන්නා සහ පද්ධතිය සෞඛ්ය සම්පන්න තත්ත්වයකට ප්රතිසාධන ක්රියාවන් ආරම්භ කරන බහු නියෝජිතයන්ගෙන් සමන්විත විය හැක.
ඕකෙස්ට්රේෂන් මෙවලම් යනු මොනවාද?
වාද්ය වෘන්දය මෙවලම් යනු යෙදුම් සහ සේවා යෙදවීම, පරිමාණය කිරීම සහ කළමනාකරණය ස්වයංක්රීය කරන මෘදුකාංග පද්ධති වේ. ඔවුන් බහු සංරචක, සේවා සහ යෙදුම් කළමනාකරණය කිරීම සඳහා මධ්යගත වේදිකාවක් සපයන අතර සංවර්ධකයින්ට සංකීර්ණ කාර්ය ප්රවාහ සහ ස්වයංක්රීයකරණයන් නිර්වචනය කිරීමට හැකියාව ලබා දේ.
ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම සඳහා වාද්ය වෘන්දය මෙවලම් අත්යවශ්ය වේ, මන්ද ඒවා ප්රතිසාධන කාර්ය ප්රවාහයන් සහ අසාර්ථකත්වයන්ට ප්රතිචාර වශයෙන් ක්රියාරම්භ කළ හැකි ස්වයංක්රීයකරණයන් නිර්වචනය කිරීමට සංවර්ධකයින්ට හැකි වේ. උදාහරණයක් ලෙස, උපස්ථ පද්ධතියක් යෙදවීම ස්වයංක්රීය කිරීමට හෝ පද්ධති සංරචකයක් අසාර්ථක වූ විට ප්රතිසාධන ක්රියාවක් අවුලුවාලීමට වාද්ය වෘන්ද මෙවලමක් භාවිතා කළ හැක.
LangChain සහ DSPy: බහු නියෝජිත AI ගෘහ නිර්මාණ සඳහා වාද්ය වෘන්දය මෙවලම්
LangChain සහ DSPy යනු බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සමඟ වැඩ කිරීමට නිර්මාණය කර ඇති ජනප්රිය වාදක මෙවලම් දෙකකි. LangChain යනු බහු නියෝජිත AI පද්ධති ගොඩනැගීම සඳහා සරල සහ අවබෝධාත්මක API සපයන Python පුස්තකාලයක් වන අතර DSPy යනු කාර්ය ප්රවාහයන් නිර්වචනය කිරීම සහ ක්රියාත්මක කිරීම සඳහා ඉහළ මට්ටමේ API සපයන Python පුස්තකාලයකි.
LangChain සහ DSPy සංවර්ධකයින්ට තත්ය කාලීනව අසාර්ථකවීම් හඳුනාගෙන ඒවාට ප්රතිචාර දැක්විය හැකි ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති තැනීමට හැකියාව ලබා දේ. ඒවා ඇතුළුව විශේෂාංග පරාසයක් සපයයි:
- ** නියෝජිත කළමනාකරණය**: LangChain සහ DSPy බහු නියෝජිත AI පද්ධතියක නියෝජිතයන් නිර්මාණය කිරීම, කළමනාකරණය කිරීම සහ අන්තර් ක්රියා කිරීම සඳහා API සපයයි.
- Workflow නිර්වචනය: LangChain සහ DSPy මඟින් සංවර්ධකයන්ට සංකීර්ණ කාර්ය ප්රවාහයන් සහ අසාර්ථකත්වයන්ට ප්රතිචාර වශයෙන් ක්රියාරම්භ කළ හැකි ස්වයංක්රීයකරණයන් නිර්වචනය කිරීමට හැකියාව ලැබේ.
- ප්රතිසාධන ක්රියා: LangChain සහ DSPy උපස්ථ පද්ධතියක් යෙදවීම හෝ පද්ධති සංරචකයක් අසමත් වූ විට ප්රතිසාධන ක්රියාවක් ක්රියාරම්භ කිරීම වැනි ප්රතිසාධන ක්රියා අවුලුවාලීම සඳහා API සපයයි.
LangChain සහ DSPy සමඟ ස්වයං-සුව කිරීමේ පද්ධතියක් ගොඩනැගීම
LangChain සහ DSPy හි බලය ප්රදර්ශනය කිරීම සඳහා, වෙබ් යෙදුමක අසාර්ථක වීම් හඳුනාගෙන ඒවාට ප්රතිචාර දැක්විය හැකි සරල ස්වයං-සුව කිරීමේ පද්ධතියක් ගොඩනඟමු. යෙදුමේ ක්රියාකාරීත්වය නිරීක්ෂණය කරන සහ අසාර්ථක වීමක් අනාවරණය වූ විට ප්රතිසාධන ක්රියාවක් ක්රියාරම්භ කරන බහු-නියෝජිත AI පද්ධතියක් නිර්මාණය කිරීමට අපි LangChain භාවිතා කරන්නෙමු.
LangChain සහ DSPy සමඟ ස්වයං-සුව කිරීමේ පද්ධතියක් ගොඩනඟන්නේ කෙසේද යන්න පෙන්නුම් කරන සරල කේත බ්ලොක් එකක් මෙන්න:
langchain ආනයනය කරන්න
langchain ආනයන නියෝජිත, Chain වෙතින්
නියෝජිත = නියෝජිත(
නම = "ස්වයං-සුව කිරීමේ නියෝජිතයා",
chain=දාමය(
නම = "ස්වයං-සුව කිරීමේ-දාමය",
පියවර =[
{"name": "Monitor", "func": monitor_performance},
{"name": "recover", "func": recover_system},
],
),
)
# යෙදුමේ ක්රියාකාරිත්වය නිරීක්ෂණය කිරීමට ශ්රිතයක් නිර්වචනය කරන්න
def monitor_performance():
# අසාර්ථක හඳුනාගැනීමක් අනුකරණය කරන්න
random.random() < 0.5:
ආපසු {"අසාර්ථක": සත්ය}
වෙනත්:
ආපසු {"අසාර්ථක": අසත්ය}
# පද්ධතිය ප්රතිසාධනය කිරීමට ශ්රිතයක් නිර්වචනය කරන්න
def recover_system(අසාර්ථක):
# ප්රතිසාධන ක්රියාවක් ක්රියාරම්භ කරන්න
අසාර්ථක නම්["අසාර්ථක"]:
මුද්රණය ("ප්රතිසාධන ක්රියාව අවුලුවාලීම...")
# උපස්ථ පද්ධතියක් යෙදවීම හෝ ප්රතිසාධන ක්රියාවක් ආරම්භ කරන්න
#...
# DSPy කාර්ය ප්රවාහයක් සාදන්න
වැඩ ප්රවාහය = DSPy.Workflow(
name="self-healing-workflow",
පියවර =[
{"name": "Monitor", "func": monitor_performance},
{"name": "recover", "func": recover_system},
],
)
# කාර්ය ප්රවාහය ක්රියාත්මක කරන්න
workflow.execute()
මෙම කේත අවහිර කිරීම මඟින් යෙදුමේ ක්රියාකාරීත්වය නිරීක්ෂණය කරන සහ අසාර්ථක වීමක් අනාවරණය වූ විට ප්රතිසාධන ක්රියාවක් ක්රියාත්මක කරන LangChain නියෝජිතයෙකු නිර්මාණය කරන්නේ කෙසේදැයි පෙන්වයි. DSPy කාර්ය ප්රවාහය ප්රතිසාධන ක්රියාව නිර්වචනය කිරීමට සහ අසාර්ථක වීමට ප්රතිචාර වශයෙන් එය ක්රියාත්මක කිරීමට භාවිතා කරයි.
ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets
LangChain සහ DSPy සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන සහ කොටස් 5-10 මෙන්න:
langchain.Agent(): නව LangChain නියෝජිතයෙකු නිර්මාණය කරයි.langchain.Chain(): නව LangChain දාමයක් නිර්මාණය කරයි.dspypy.Workflow(): නව DSPy කාර්ය ප්රවාහයක් නිර්මාණය කරයි.agent.execute(): LangChain නියෝජිතයා ක්රියාත්මක කරයි.workflow.execute(): DSPy කාර්ය ප්රවාහය ක්රියාත්මක කරයි.agent.chain.steps.append({"name": "step", "func": func}): LangChain දාමයට නව පියවරක් එක් කරයි.workflow.steps.append({"name": "step", "func": func}): DSPy කාර්ය ප්රවාහයට නව පියවරක් එක් කරයි.agent.chain.steps.remove({"name": "step"}): LangChain දාමයෙන් පියවරක් ඉවත් කරයි.workflow.steps.remove({"name": "step"}): DSPy කාර්ය ප්රවාහයෙන් පියවරක් ඉවත් කරයි.agent.chain.steps.insert(0, {"name": "step", "func": func}): LangChain දාමයේ ආරම්භයේ නව පියවරක් ඇතුල් කරයි.
දෘෂ්යකරණය
මෙන්න Chart.js භාවිතයෙන් LangChain සහ DSPy කාර්ය ප්රවාහයේ දෘශ්යකරණයකි: ''''ජේසන් { "වර්ගය": "බාර්", "දත්ත": { "ලේබල්": ["මොනිටරය", "ප්රතිසාධනය"], "දත්ත කට්ටල": [ { "ලේබලය": "LangChain", "දත්ත": [10, 20], "backgroundColor": "rgba(255, 99, 132, 0.2)", "borderColor": "rgba(255, 99, 132, 1)", "දේශසීමා පළල": 1 }, { "ලේබලය": "DSPy", "දත්ත": [20, 30], "backgroundColor": "rgba(54, 162, 235, 0.2)", "borderColor": "rgba(54, 162, 235, 1)", "දේශසීමා පළල": 1 } ] }, "විකල්ප": { "මාතෘකාව": { "දර්ශණය": ඇත්ත, "පෙළ": "LangChain සහ DSPy Workflow" }, "පරිමාණ": { "yAxes": [ { "කිනිතුල්ලන්": { "beginAtZero": ඇත්ත } } ] } } }
මෙම දෘශ්යකරණය LangChain සහ DSPy කාර්ය ප්රවාහය පෙන්වයි, වම් පසින් "Monitor" පියවර සහ දකුණේ "Recover" පියවර සමඟින්. LangChain කාර්ය ප්රවාහය රතු තීරුවකින් නිරූපණය වන අතර DSPy කාර්ය ප්රවාහය නිල් තීරුවකින් නියෝජනය වේ.
** නිගමනය **
බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ වාද්ය වෘන්දය මෙවලම් සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම නිෂ්පාදනයට ඔරොත්තු දිය හැකි ශක්තිමත් සහ අනුවර්තන පද්ධති නිර්මාණය කිරීමට ප්රබල ප්රවේශයකි. LangChain සහ DSPy යනු ජනප්රිය වාද්ය වෘන්ද මෙවලම් දෙකකි, එමඟින් සංවර්ධකයින්ට තත්ය කාලීනව අසාර්ථකවීම් හඳුනාගෙන ඒවාට ප්රතිචාර දැක්විය හැකි ස්වයං-සුව කිරීමේ පද්ධති තැනීමට හැකි වේ.
මෙම ලිපියෙන්, අපි බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ වාද්ය වෘන්දය පිළිබඳ සංකල්පය ගවේෂණය කර ඇති අතර, LangChain සහ DSPy සමඟ ස්වයං-සුව කිරීමේ පද්ධතියක් ගොඩනඟන්නේ කෙසේද යන්න නිරූපණය කර ඇත. අපි සංවර්ධකයින්ට ඔවුන්ගේම ස්වයං-සුව කිරීමේ පද්ධති ගොඩ නැගීම ආරම්භ කිරීමට උපකාර කිරීම සඳහා ප්රායෝගික උදාහරණ සහ කේත කොටස් රාශියක් ද සපයා ඇත.
ඔබ මෘදුකාංග ඉංජිනේරුවෙකු, DevOps ඉංජිනේරුවෙකු හෝ AI පර්යේෂකයෙකු වුවද, LangChain සහ DSPy සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම නිෂ්පාදනයට ඔරොත්තු දිය හැකි ශක්තිමත් සහ අනුවර්තන පද්ධති නිර්මාණය කිරීමට ප්රබල ප්රවේශයකි.