ራስን ፈውስ የሶፍትዌር ስርዓቶችን ከብዙ ወኪል AI አርክቴክቸር እና ከላንግቻይን ጋር መገንባት | B4N1

ራስን ፈውስ የሶፍትዌር ስርዓቶችን ከብዙ ወኪል AI አርክቴክቸር እና ከላንግቻይን ጋር መገንባት

5 months ago · b4n1 Read time: 4 min

** ራስን ፈውስ የሶፍትዌር ስርዓቶችን ከብዙ ወኪል AI አርክቴክቸር እና ላንግቻይን ጋር መገንባት ***

መግቢያ

ዛሬ ባለው ፈጣን የሶፍትዌር ልማት ገጽታ ራስን ፈውስ የሶፍትዌር ሲስተሞችን መገንባት ውስብስብ የሶፍትዌር ሲስተሞችን አስተማማኝነት፣ ልኬታማነት እና የመቋቋም አቅምን ለማረጋገጥ ወሳኝ መስፈርት ሆኗል። ባህላዊ ሞኖሊቲክ አርክቴክቸር የዘመናዊውን የሶፍትዌር ልማት ፍላጎቶች ለማሟላት በቂ አይደሉም፣ ስርዓቶች ከተለዋዋጭ መስፈርቶች ጋር መላመድ፣ ያልተጠበቁ ውድቀቶችን ማስተናገድ እና ከስህተቶች በፍጥነት ማገገም አለባቸው። ይህ ባለብዙ-ወኪል AI አርክቴክቸር እና ላንግቻይን የሚጫወቱበት ነው፣ ይህም ራስን መፈወስን የሶፍትዌር ስርዓቶችን ለመገንባት ኃይለኛ መፍትሄን የሚሰጥ ሲሆን ይህም ሁኔታን መማር፣ ማላመድ እና ምላሽ መስጠት ይችላል።

** ባለብዙ ወኪል AI አርክቴክቸርስ ምንድናቸው?**

ባለብዙ ወኪል AI አርክቴክቸር የጋራ ግብን ለማሳካት እርስ በእርስ እና ከአካባቢያቸው ጋር መስተጋብር የሚፈጥሩ በርካታ የራስ ገዝ ወኪሎችን ያቀፈ የተከፋፈለ የኤአይአይ ስርዓት አይነት ነው። እያንዳንዱ ወኪል የራሱ የውሳኔ አሰጣጥ ችሎታዎች፣ ዕውቀት እና ግብዓቶች አሉት፣ እና መረጃን ለመለዋወጥ፣ ድርጊቶችን ለማስተባበር እና ከተለዋዋጭ ሁኔታዎች ጋር ለመላመድ እርስ በእርስ መገናኘት ይችላሉ።

በሶፍትዌር ሲስተም አውድ ውስጥ፣ ባለብዙ ወኪል AI አርክቴክቸር ስህተቶችን፣ ውድቀቶችን እና ሌሎች ያልተለመዱ ነገሮችን ፈልጎ ማግኘት እና ምላሽ መስጠት የሚችሉ ራስን የመፈወስ ስርዓቶችን ለመገንባት ሊያገለግል ይችላል። የውሳኔ አሰጣጥ ሂደቱን በበርካታ ወኪሎች በማሰራጨት እነዚህ ስርዓቶች ከተሞክሮ መማር, ከተለዋዋጭ ሁኔታዎች ጋር መላመድ እና ከስህተቶች በፍጥነት ማገገም ይችላሉ.

** LangChain ምንድን ነው?**

LangChain የብዝሃ ወኪል AI ስርዓቶችን ለመገንባት ክፍት ምንጭ Python ቤተ-መጽሐፍት ነው። ለተለዋዋጭ ሁኔታዎች መማር፣ ማላመድ እና ምላሽ መስጠት የሚችሉ ውስብስብ AI ስርዓቶችን ለመገንባት ቀላል፣ ተለዋዋጭ እና ሊሰፋ የሚችል ማዕቀፍ ያቀርባል። LangChain TensorFlow፣ PyTorch እና Kerasን ጨምሮ ከተለያዩ የ AI ማዕቀፎች ጋር ለመስራት የተነደፈ ሲሆን የውሂብ ጎታዎችን፣ APIs እና IoT መሳሪያዎችን ጨምሮ ከተለያዩ የመረጃ ምንጮች ጋር የተዋሃዱ ስርዓቶችን ለመገንባት ሊያገለግል ይችላል።

** ራስን ፈውስ ሶፍትዌር ስርዓቶችን ከላንግቻይን ጋር መገንባት ***

ከ LangChain ጋር የራስን ፈውስ የሶፍትዌር ስርዓት ለመገንባት፣ ስህተቶችን፣ ውድቀቶችን እና ሌሎች ያልተለመዱ ነገሮችን ፈልጎ ማግኘት እና ምላሽ መስጠት የሚችል ባለብዙ ወኪል AI አርክቴክቸር መንደፍ አለብን። የህንጻው ከፍተኛ ደረጃ አጠቃላይ እይታ ይኸውና፡

  1. ወኪል ዲዛይን: የጋራ ግብን ለማሳካት እርስ በርስ እና ከአካባቢያቸው ጋር መስተጋብር መፍጠር የሚችሉ ራሳቸውን የቻሉ ወኪሎችን ማዘጋጀት አለብን. እያንዳንዱ ወኪል የራሱ የውሳኔ አሰጣጥ ችሎታዎች፣ ዕውቀት እና ሀብቶች ሊኖሩት ይገባል።
  2. የእውቀት ግራፍ፡- በወኪሎች፣ በአከባቢው እና በስርዓቱ ግቦች መካከል ያለውን ግንኙነት የሚወክል የእውቀት ግራፍ መፍጠር አለብን። ይህ ግራፍ ስለ ስርዓቱ ሁኔታ ለማመዛዘን እና ውሳኔዎችን ለማድረግ ሊያገለግል ይችላል።
  3. ** ውሳኔ አሰጣጥ ***: ወኪሎች ስለ ስርዓቱ ሁኔታ እንዲያስቡ እና በእውቀት ግራፍ ላይ ተመስርተው እንዲወስኑ የሚያስችል የውሳኔ አሰጣጥ ሂደትን ተግባራዊ ማድረግ አለብን.
  4. የድርጊት አፈፃፀም: ወኪሎቹ ውሳኔያቸውን እንዲፈጽሙ እና ከአካባቢው ጋር እንዲገናኙ የሚያስችል የድርጊት አፈፃፀም ሂደትን መተግበር አለብን።

ከLangChain ጋር አብሮ የተሰራ ራስን ፈውስ የሶፍትዌር ስርዓት ቀላል ምሳሌ ይኸውና፡ `` ፓይቶን አስመጣ langchain ከ langchain.ኤጀንቶች አስመጪ ወኪል ከ langchain.llms አስመጣ LLM

ግራፍ = { 'ወኪል'፡ ['ወኪል1'፣ 'ወኪል2'፣ 'ወኪል3']፣ 'አካባቢ'፡ ['ዳታቤዝ'፣ 'API'፣ 'IoT device']፣ 'ዓላማዎች'፡ ['ስህተቶችን አግኝ'፣ 'ለውድቀቶች ምላሽ ይስጡ'፣ 'ከስህተቶች ማገገም'] }

የውሳኔ አሰጣጡን ሂደት ይግለጹ

ዴፍ ውሳኔ_መስራት(ወኪል፣እውቀት_ግራፍ) # ምክንያት ስለ ስርዓቱ ሁኔታ ሁኔታ = እውቀት_ግራፍ ['ወኪል] [ወኪል] # በመንግስት ላይ በመመስረት ውሳኔ ያድርጉ ውሳኔ = 'ለውድቀት ምላሽ መስጠት' የመመለስ ውሳኔ

የድርጊት አፈፃፀም ሂደቱን ይግለጹ

def action_execution(ወኪል፣ውሳኔ) # ውሳኔውን ይፈጽሙ ውሳኔ == 'ለውድቀት ምላሽ የሚሰጥ' ከሆነ፡- # ለውድቀት ምላሽ ይስጡ ያትሙ ("ለውድቀት ምላሽ በመስጠት ላይ...") መመለስ

የLangChain ወኪል ይፍጠሩ

ወኪል = ወኪል ( ስም='ራስን ፈውስ-ወኪል'፣ ውሳኔ_ማድረግ=ውሳኔ_መስጠት፣ action_execution=ድርጊት_አፈፃፀም፣ እውቀት_ግራፍ=ግራፍ )

LangChain LLM ይፍጠሩ

LM = LLM ( ስም = 'ራስን መፈወስ-llm', ሞዴል = 'ዳቪንቺ' )

የ LangChain ስርዓት ይፍጠሩ

ስርዓት = langchain.ስርዓት( ወኪል=ወኪል፣ llm=llm )

ስርዓቱን ያሂዱ

system.run()

ይህ ምሳሌ ስህተቶችን ፈልጎ ማግኘት፣ ለችግሮች ምላሽ መስጠት እና ከስህተቶች በፍጥነት ማገገም የሚችል ቀላል ራስን ፈውስ የሶፍትዌር ስርዓት ያሳያል። ስርዓቱ የጋራ ግብን ለማሳካት እርስ በርስ እና በአካባቢያቸው መስተጋብር የሚፈጥሩ የራስ ገዝ ወኪሎችን ያካትታል. ወኪሎቹ ስለ ስርዓቱ ሁኔታ ለማመዛዘን እና በግራፉ ላይ በመመስረት ውሳኔዎችን ለመወሰን የእውቀት ግራፍ ይጠቀማሉ.

**ምርጥ 5-10 በብዛት ጥቅም ላይ የዋሉ ትዕዛዞች/ቅንጣዎች**

ለ LangChain በጣም ጥቅም ላይ የዋሉት 5-10 ከፍተኛ ትዕዛዞች/ቅንጣዎች እነሆ፡-

1. `langchain.ኤጀንት()`፡ አዲስ የላንግቻይን ወኪል ይፈጥራል።
2. `langchain.LLM()`፡ አዲስ LangChain LLM ይፈጥራል።
3. `langchain.System()`፡ አዲስ የላንግቻይን ስርዓት ይፈጥራል።
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ን በመጠቀም የእውቀት ግራፉን ቀለል ያለ እይታ ይኸውና፡
``json
{
  "አይነት": "ግራፍ",
  "ውሂብ": {
    "አንጓዎች": [
      {" id": "agent1", "label": "ወኪል 1"}፣
      {" id": "agent2", "label": "ወኪል 2"}፣
      {" id": "agent3", "label": "ወኪል 3"}፣
      {"id": "ዳታቤዝ", "label": "ዳታቤዝ"},
      {" id": "API", "label": "API"},
      {" id": "IoT መሳሪያ", "መለያ": "አይኦቲ መሣሪያ"}
    ]፣
    "ጠርዞች": [
      {"ምንጭ": "ኤጀንት1", "ዒላማ": "ዳታቤዝ"},
      {"ምንጭ": "agent2", "ዒላማ": "API"},
      {"ምንጭ": "agent3", "ዒላማ": "አይኦቲ መሣሪያ"},
      {"ምንጭ": "ኤጀንት1", "ዒላማ": "ወኪል2"},
      {"ምንጭ": "agent2", "ዒላማ": "ኤጀንት3"}
    ]
  }
  "አማራጮች": {
    "አቀማመጥ": {
      "ዓይነት": "ክብ"
    }
    "አንጓዎች": {
      "መጠን": 50
    }
    "ጠርዞች": {
      "ስፋት": 2
    }
  }
}

ይህ ምስላዊነት በወኪሎቹ፣ በአካባቢው እና በስርዓቱ ግቦች መካከል ያለውን ግንኙነት ያሳያል።

** መደምደሚያ**

ራስን ፈውስ የሶፍትዌር ስርዓቶችን ከብዙ ወኪል AI አርክቴክቸር እና LangChain ጋር መገንባት ውስብስብ የሶፍትዌር ስርዓቶችን አስተማማኝነት፣ መለካት እና የመቋቋም አቅምን ለማረጋገጥ ጠንካራ መፍትሄ ይሰጣል። የውሳኔ አሰጣጥ ሂደቱን በበርካታ ወኪሎች በማሰራጨት እነዚህ ስርዓቶች ከተሞክሮ መማር, ከተለዋዋጭ ሁኔታዎች ጋር መላመድ እና ከስህተቶች በፍጥነት ማገገም ይችላሉ. በLangChain፣ ገንቢዎች የውሂብ ጎታዎችን፣ ኤፒአይዎችን እና የአይኦቲ መሳሪያዎችን ጨምሮ ከብዙ የውሂብ ምንጮች ጋር የተዋሃዱ ውስብስብ AI ስርዓቶችን መገንባት ይችላሉ። የምሳሌውን ኮድ በመከተል እና ከ5-10 በጣም ጥቅም ላይ የዋሉ ትዕዛዞች/ቅንጣዎችን በመጠቀም ገንቢዎች በላንግቻይን የራሳቸውን ራስን ፈውስ የሶፍትዌር ስርዓቶችን መገንባት ይችላሉ።


Have Questions?

Let's Talk

Contact me on LinkedIn