බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ LangChain සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම | B4N1

බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ LangChain සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම

3 months ago · b4n1 Read time: 4 min

Multi-Agent AI ගෘහ නිර්මාණ ශිල්පය සහ LangChain සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම

හැඳින්වීම

වර්තමාන වේගවත් මෘදුකාංග සංවර්ධන භූ දර්ශනය තුළ, සංකීර්ණ මෘදුකාංග පද්ධතිවල විශ්වසනීයත්වය, පරිමාණය සහ ඔරොත්තු දීමේ හැකියාව සහතික කිරීම සඳහා ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම තීරණාත්මක අවශ්‍යතාවයක් බවට පත්ව ඇත. සාම්ප්‍රදායික මොනොලිතික් ගෘහනිර්මාණ නවීන මෘදුකාංග සංවර්ධනයේ අවශ්‍යතා සපුරාලීමට තවදුරටත් ප්‍රමාණවත් නොවේ, එහිදී පද්ධති වෙනස්වන අවශ්‍යතාවලට අනුවර්තනය වීමට, අනපේක්ෂිත අසාර්ථකවීම් හැසිරවීමට සහ දෝෂ වලින් ඉක්මනින් යථා තත්ත්වයට පත් විය යුතුය. වෙනස්වන තත්වයන්ට ඉගෙනීමට, අනුවර්තනය වීමට සහ ප්‍රතිචාර දැක්විය හැකි ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම සඳහා ප්‍රබල විසඳුමක් ඉදිරිපත් කරමින් බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ LangChain ක්‍රියාත්මක වන්නේ මෙහිදීය.

Multi-Agent AI ගෘහ නිර්මාණ ශිල්පය යනු කුමක්ද?

බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය යනු පොදු අරමුණක් සාක්ෂාත් කර ගැනීම සඳහා එකිනෙකා සහ ඔවුන්ගේ පරිසරය සමඟ අන්තර් ක්‍රියා කරන බහු ස්වයංක්‍රීය නියෝජිතයන්ගෙන් සමන්විත වන බෙදා හරින ලද AI පද්ධති වර්ගයකි. සෑම නියෝජිතයෙකුටම තමන්ගේම තීරණ ගැනීමේ හැකියාවන්, දැනුම සහ සම්පත් ඇති අතර, තොරතුරු හුවමාරු කර ගැනීමට, ක්‍රියාවන් සම්බන්ධීකරණය කිරීමට සහ වෙනස් වන තත්වයන්ට අනුවර්තනය වීමට ඔවුන්ට එකිනෙකා සමඟ සන්නිවේදනය කළ හැකිය.

මෘදුකාංග පද්ධතිවල සන්දර්භය තුළ, බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය ස්වයං-සුව කිරීමේ පද්ධති තැනීමට භාවිතා කළ හැකි අතර ඒවා තත්‍ය කාලීනව දෝෂ, අසාර්ථකවීම් සහ වෙනත් විෂමතා හඳුනාගෙන ඒවාට ප්‍රතිචාර දැක්විය හැක. බහුවිධ නියෝජිතයින් හරහා තීරණ ගැනීමේ ක්‍රියාවලිය බෙදා හැරීමෙන්, මෙම පද්ධතිවලට අත්දැකීම් වලින් ඉගෙන ගැනීමට, වෙනස් වන තත්වයන්ට අනුවර්තනය වීමට සහ දෝෂ වලින් ඉක්මනින් යථා තත්ත්වයට පත් විය හැකිය.

LangChain යනු කුමක්ද?

LangChain යනු බහු නියෝජිත AI පද්ධති ගොඩනැගීම සඳහා විවෘත මූලාශ්‍ර පයිතන් පුස්තකාලයකි. එය ඉගෙනීමට, අනුවර්තනය වීමට සහ වෙනස්වන තත්වයන්ට ප්‍රතිචාර දැක්විය හැකි සංකීර්ණ AI පද්ධති ගොඩනැගීම සඳහා සරල, නම්‍යශීලී සහ පරිමාණය කළ හැකි රාමුවක් සපයයි. LangChain නිර්මාණය කර ඇත්තේ TensorFlow, PyTorch සහ Keras ඇතුළුව පුළුල් පරාසයක AI රාමු සමඟ වැඩ කිරීමට සහ දත්ත සමුදායන්, APIs සහ IoT උපාංග ඇතුළු විවිධ දත්ත ප්‍රභවයන් සමඟ ඒකාබද්ධ වන පද්ධති තැනීමට භාවිතා කළ හැක.

LangChain සමඟින් ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම

LangChain සමඟින් ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධතියක් තැනීමට, අපට තත්‍ය කාලීනව දෝෂ, අසාර්ථකවීම් සහ වෙනත් විෂමතා හඳුනාගෙන ඒවාට ප්‍රතිචාර දැක්විය හැකි බහු-නියෝජිත AI ගෘහ නිර්මාණ ශිල්පයක් නිර්මාණය කිරීමට අවශ්‍ය වේ. මෙන්න ගෘහ නිර්මාණ ශිල්පය පිළිබඳ ඉහළ මට්ටමේ දළ විශ්ලේෂණයක්:

  1. Agent Design: අපි පොදු අරමුණක් සාක්ෂාත් කර ගැනීම සඳහා එකිනෙකා හා ඔවුන්ගේ පරිසරය සමඟ අන්තර් ක්‍රියා කළ හැකි ස්වයංක්‍රීය නියෝජිතයන් කට්ටලයක් සැලසුම් කළ යුතුය. සෑම නියෝජිතයෙකුටම තමන්ගේම තීරණ ගැනීමේ හැකියාවන්, දැනුම සහ සම්පත් තිබිය යුතුය.
  2. දැනුම ප්‍රස්තාරය: අප විසින් නියෝජිතයන්, පරිසරය සහ පද්ධතියේ ඉලක්ක අතර සම්බන්ධතා නියෝජනය කරන දැනුම් ප්‍රස්ථාරයක් නිර්මාණය කළ යුතුය. මෙම ප්‍රස්ථාරය පද්ධතියේ තත්වය ගැන තර්ක කිරීමට සහ තීරණ ගැනීමට භාවිතා කළ හැක.
  3. තීරණ ගැනීම: ක්‍රමයේ තත්ත්වය පිළිබඳව තර්ක කිරීමට සහ දැනුම ප්‍රස්ථාරය මත පදනම්ව තීරණ ගැනීමට නියෝජිතයින්ට ඉඩ සලසන තීරණ ගැනීමේ ක්‍රියාවලියක් අප විසින් ක්‍රියාත්මක කළ යුතුය.
  4. ක්‍රියා ක්‍රියාත්මක කිරීම: නියෝජිතයින්ට ඔවුන්ගේ තීරණ ක්‍රියාත්මක කිරීමට සහ පරිසරය සමඟ අන්තර් ක්‍රියා කිරීමට ඉඩ සලසන ක්‍රියා ක්‍රියාත්මක කිරීමේ ක්‍රියාවලියක් අපි ක්‍රියාත්මක කළ යුතුය.

LangChain සමඟ ගොඩනගා ඇති ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධතියක සරල උදාහරණයක් මෙන්න:

langchain ආනයනය කරන්න
langchain.agents import Agent වෙතින්
langchain.llms වෙතින් LLM ආනයනය කරන්න


ප්රස්තාරය = {
    'නියෝජිතයන්': ['නියෝජිත 1', 'නියෝජිත 2', 'නියෝජිත 3'],
    'පරිසරය': ['දත්ත සමුදාය', 'API', 'IoT උපාංගය'],
    ඉලක්ක
}

# තීරණ ගැනීමේ ක්‍රියාවලිය නිර්වචනය කරන්න
තීරණ_ගැනීම (නියෝජිත, දැනුම_ප්‍රස්ථාරය):
    # පද්ධතියේ තත්වය පිළිබඳ හේතුව
    තත්වය = දැනුම_ප්‍රස්ථාරය['නියෝජිතයින්'][නියෝජිත]
    # රාජ්‍යය මත පදනම්ව තීරණයක් ගන්න
    තීරණය = 'අසාර්ථකත්වයට ප්රතිචාර දැක්වීම'
    ආපසු තීරණය

# ක්‍රියාව ක්‍රියාත්මක කිරීමේ ක්‍රියාවලිය නිර්වචනය කරන්න
def action_execution(නියෝජිතයා, තීරණය):
    # තීරණය ක්‍රියාත්මක කරන්න
    තීරණය නම් == 'අසාර්ථකත්වයට ප්‍රතිචාර දක්වන්න':
        # අසාර්ථකත්වයට ප්‍රතිචාර දක්වන්න
        මුද්‍රණය ('අසාර්ථකත්වයට ප්‍රතිචාර දැක්වීම...')
    ආපසු

# LangChain නියෝජිතයෙකු සාදන්න
නියෝජිත = නියෝජිත(
    name='ස්වයං-සුව කිරීමේ නියෝජිතයා',
    තීරණ_ ගැනීම = තීරණ_ ගැනීම,
    action_execution=ක්‍රියාව_ක්‍රියාත්මක කිරීම,
    දැනුම_graph=ප්‍රස්තාරය
)

# LangChain LLM නිර්මාණය කරන්න
llm = LLM(
    name='self-healing-llm',
    model='davinci'
)

# LangChain පද්ධතියක් සාදන්න
පද්ධතිය = langchain.System(
    නියෝජිත = නියෝජිත,
    llm=llm
)

# පද්ධතිය ධාවනය කරන්න
system.run()

මෙම උදාහරණය සරල ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධතියක් පෙන්නුම් කරයි, එය දෝෂ හඳුනා ගැනීමට, අසාර්ථකත්වයට ප්රතිචාර දැක්වීම සහ දෝෂ වලින් ඉක්මනින් යථා තත්ත්වයට පත් වේ. පද්ධතිය පොදු අරමුණක් සාක්ෂාත් කර ගැනීම සඳහා එකිනෙකා සහ ඔවුන්ගේ පරිසරය සමඟ අන්තර් ක්‍රියා කරන ස්වාධීන නියෝජිතයන් සමූහයකින් සමන්විත වේ. නියෝජිතයන් පද්ධතියේ තත්ත්වය ගැන තර්ක කිරීමට සහ ප්‍රස්ථාරය මත පදනම්ව තීරණ ගැනීමට දැනුම ප්‍රස්ථාරයක් භාවිතා කරයි.

ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets

LangChain සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 මෙන්න:

  1. langchain.Agent(): නව LangChain නියෝජිතයෙකු නිර්මාණය කරයි.
  2. langchain.LLM(): නව LangChain LLM නිර්මාණය කරයි.
  3. langchain.System(): නව LangChain පද්ධතියක් නිර්මාණය කරයි.
  4. agent.decision_making(): නියෝජිතයෙකු සඳහා තීරණ ගැනීමේ ක්‍රියාවලිය ක්‍රියාත්මක කරයි.
  5. agent.action_execution(): නියෝජිතයෙකු සඳහා ක්‍රියා ක්‍රියාත්මක කිරීමේ ක්‍රියාවලිය ක්‍රියාත්මක කරයි.
  6. llm.predict(): LLM භාවිතයෙන් අනාවැකියක් කරයි.
  7. system.run(): LangChain පද්ධතිය ධාවනය කරයි.
  8. graph.add_node(): දැනුම ප්‍රස්ථාරයට නව නෝඩයක් එක් කරයි.
  9. graph.add_edge(): දැනුම ප්‍රස්ථාරයට නව දාරයක් එක් කරයි.
  10. graph.remove_node(): දැනුම ප්‍රස්ථාරයෙන් නෝඩයක් ඉවත් කරයි.

දෘෂ්‍යකරණය

මෙන්න Chart.js භාවිතයෙන් දැනුම ප්‍රස්ථාරයේ සරල දෘශ්‍යකරණයක්: ''''ජේසන් { "වර්ගය": "ප්‍රස්තාරය", "දත්ත": { "නෝඩ්": [ {"id": "agent1", "label": "Agent 1"}, {"id": "agent2", "label": "Agent 2"}, {"id": "agent3", "label": "Agent 3"}, {"id": "database", "label": "Database"}, {"id": "API", "label": "API"}, {"id": "IoT උපාංගය", "ලේබලය": "IoT උපාංගය"} ], "දාර": [ {"source": "agent1", "ඉලක්කය": "database"}, {"source": "agent2", "ඉලක්කය": "API"}, {"source": "agent3", "ඉලක්කය": "IoT උපාංගය"}, {"source": "agent1", "ඉලක්කය": "agent2"}, {"source": "agent2", "ඉලක්කය": "agent3"} ] }, "විකල්ප": { "පිරිසැලසුම": { "වර්ගය": "චක්රලේඛය" }, "නෝඩ්": { "ප්‍රමාණය": 50 }, "දාර": { "පළල": 2 } } }

මෙම දෘශ්‍යකරණය මඟින් නියෝජිතයන්, පරිසරය සහ පද්ධතියේ ඉලක්ක අතර සම්බන්ධතා පෙන්වයි.

** නිගමනය **

බහු නියෝජිත AI ගෘහ නිර්මාණ ශිල්පය සහ LangChain සමඟ ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනැගීම සංකීර්ණ මෘදුකාංග පද්ධතිවල විශ්වසනීයත්වය, පරිමාණය සහ ඔරොත්තු දීමේ හැකියාව සහතික කිරීම සඳහා ප්‍රබල විසඳුමක් සපයයි. බහුවිධ නියෝජිතයින් හරහා තීරණ ගැනීමේ ක්‍රියාවලිය බෙදා හැරීමෙන්, මෙම පද්ධතිවලට අත්දැකීම් වලින් ඉගෙන ගැනීමට, වෙනස් වන තත්වයන්ට අනුවර්තනය වීමට සහ දෝෂ වලින් ඉක්මනින් යථා තත්ත්වයට පත් විය හැකිය. LangChain සමඟින්, සංවර්ධකයින්ට දත්ත සමුදායන්, APIs සහ IoT උපාංග ඇතුළුව පුළුල් පරාසයක දත්ත මූලාශ්‍ර සමඟ ඒකාබද්ධ වන සංකීර්ණ AI පද්ධති ගොඩනගා ගත හැකිය. උදාහරණ කේතය අනුගමනය කිරීමෙන් සහ ඉහළම 5-10 විධාන/ස්නිපෙට් භාවිතා කිරීමෙන්, සංවර්ධකයින්ට LangChain සමඟ තමන්ගේම ස්වයං-සුව කිරීමේ මෘදුකාංග පද්ධති ගොඩනගා ගත හැකිය.

Have Questions?

Let's Talk

Contact me on LinkedIn