ላንግግራፍ ምንድን ነው? ስቴትፉል ኤልኤልኤም ወኪሎችን ለመገንባት ተግባራዊ መመሪያ
በትላልቅ የቋንቋ ሞዴሎች (LLM) በመጠቀም AI ወኪሎችን ለመገንባት ሞክረው ከሆነ እና በአስተማማኝነት፣ በማስታወስ ወይም በውህደት ላይ ጣሪያዎችን ከነኩ ብቻዎን አይደሉም። ከአንድ መጠየቂያ ወደ ብዙ-ደረጃ፣ መሣሪያን የሚጠቀም፣ መልሶ ማግኘት የሚችል ወኪል መዝለሉ አብዛኛዎቹ ፕሮቶታይፖች የሚቆሙበት ነው። ላንግግራፍ ለመዝጋት የሚሞክረው ክፍተት በትክክል ይህ ነው።
በዚህ ተግባራዊ፣ መፍትሄ-ተኮር ጥልቅ ዳሰሳ ውስጥ፣ ላንግግራፍ ምን እንደሆነ፣ ለምን አስፈላጊ እንደሆነ እና በትክክል መላክ የምትችላቸውን ጠንካራ፣ ስቴትፉል AI ወኪሎችን ለመገንባት እንዴት መጠቀም እንደምትጀምር እንገልፃለን።
ፈጣን ፍቺ
- ላንግግራፍ ኤልኤልኤም (LLM) የሚመሩ ወኪሎችን እና ውስብስብ የስራ ፍሰቶችን ለመገንባት፣ ለመቆጣጠር እና ለማስፋት ከላንግቼይን የመጣ ክፍት ምንጭ፣ ስቴትፉል የውህደት ማዕቀፍ ነው። ወኪሎችን እንደ ኖዶች (ስቴት ግራፍ (ደረጃዎች/ወኪሎች/መሳሪያዎች))፣ ጠርዞች (ሽግግሮች) እና የማስታወስ ችሎታን፣ ቅርንጫፍን፣ ድጋሚ ሙከራዎችን እና የሰው-በloop ቁጥጥሮችን የሚያስችል የጋራ፣ እየተሻሻለ የሚሄድ ስቴት አድርጎ ያስቀምጣል።
- ላንግግራፍ ፕላትፎርም ቡድኖች ከማስታወሻ ደብተር ወደ ምርት እንዲሸጋገሩ ለማገዝ ማሰማራትን፣ ማስፋትን፣ ክትትልን እና የአስተዳደር ባህሪያትን ያክላል።
ላንግግራፍ ለምን ተፈጠረ፡ የውህደት ችግር
አብዛኛዎቹ ኤልኤልኤም (LLM) መተግበሪያዎች በቀላል ይጀምራሉ፡ ጥያቄ ገብቶ መልስ ይወጣል። ነገር ግን እውነተኛ ዓለም የአጠቃቀም ጉዳዮች የበለጠ ይፈልጋሉ፡
- ባለብዙ-ደረጃ ምክንያታዊነት (ዕቅድ → ፍለጋ → ማጠቃለል → ማረጋገጥ)
- የመሳሪያ አጠቃቀም (የውሂብ ጎታዎች፣ ኤፒአይዎች፣ RAG መልሶ ማግኛ)
- ከውድቀቶች ማገገም (የጊዜ ማብቂያዎች፣ መጥፎ ውጤቶች)
- በደረጃዎች መካከል ያለው ማህደረ ትውስታ (ዐውደ-ጽሑፉን እንዳያጡ)
- የጥበቃ መስመሮች እና ማፅደቆች (የሰው እጅ መስጠት፣ ተገዢነት)
ይህን በጊዜያዊ ኮድ ወይም መሰረታዊ ሰንሰለቶች መፃፍ በፍጥነት ደካማ ይሆናል። ላንግግራፍ ይህንን የሚፈታው የተዋቀረ፣ ስቴትፉል ግራፍ በመስጠት ሲሆን ይህም በሚሰራበት ጊዜ ሙሉውን ሩጫ መከታተል እና መቆጣጠር በሚቻልበት ሁኔታ መከፋፈል፣ መዞር እና ማገገም ይችላል።
ላንግግራፍ እንዴት እንደሚሰራ (በቀላል አማርኛ)
ላንግግራፍን ማህደረ ትውስታ ያለው የፍሰት ቻርት አድርገው ያስቡት፡
- ኖዶች: ኤልኤልኤም ጥሪዎች፣ መሳሪያዎች፣ የማግኛ ደረጃዎች፣ የውጤት አሰጣጥ/ማረጋገጫ፣ ወይም ሌላው ቀርቶ ሌሎች ወኪሎች።
- ጠርዞች: ቀጥሎ ምን እንደሚፈጠር የሚወስኑ ህጎች (ለምሳሌ፣ "ማረጋገጫ ካልተሳካ፣ እንደገና ይሞክሩ"; "እምነት < 0.8 ከሆነ፣ ሰውን ይጠይቁ")።
- ስቴት: በኖዶች የዘመነ የጋራ ነገር (ለምሳሌ፣ የሚሰራ ማህደረ ትውስታ፣ የተገኙ ሰነዶች፣ የመሳሪያ ውጤቶች፣ ውሳኔዎች)።
- ቁጥጥር: ለድጋሚ ሙከራዎች፣ loops፣ breakpoints እና የሰው-በloop መፈተሻዎች አብሮ የተሰሩ ቅጦች።
ይህ ንድፍ ወኪሎች "ምላሽ" ብቻ ሳይሆን አንድን ሂደት እንዲያስሱ፣ ምን እንደተፈጠረ እንዲከታተሉ እና በመንገዱ ላይ ቁጥጥር የሚደረግባቸውን ውሳኔዎች እንዲያደርጉ ያስችላቸዋል።
በእርግጥ የሚጠቀሟቸው ቁልፍ ባህሪያት
- ስቴትፉል ውህደት: በደረጃዎች ውስጥ የሚዘልቅ ማዕከላዊ ስቴት።
- የወኪል ጥንቅር: ብዙ ወኪሎችን/መሳሪያዎችን በግልጽ በይነገፆች ያገናኙ።
- ውሳኔያዊ ቁጥጥር: ግልጽ ሽግግሮች፣ የጥበቃ መስመሮች እና የማቆሚያ ሁኔታዎች።
- መልሶ ማግኘት እና ድጋሚ ሙከራዎች: የስህተት አያያዝ እና ዳግም አፈፃፀም አብሮ የተሰሩ ቅጦች።
- የሰው-በloop: በቁልፍ ደረጃዎች ላይ ለአፍታ አቁም፣ ገምግም እና አጽድቅ።
- ክትትል: ለማረም እና ለማመቻቸት የሩጫዎች ዱካዎች።
- የምርት መንገድ: በላንግግራፍ ፕላትፎርም: ማሰማራት፣ ማስፋፋት፣ ክትትል እና አስተዳደር።
ላንግግራፍን መቼ መጠቀም እንደሚቻል (እና መቼ እንደማይቻል)
ላንግግራፍ የሚከተሉትን ከፈለጉ ይጠቀሙ:
- ከቅርንጫፍ ሎጂክ ጋር ባለብዙ-ደረጃ የስራ ፍሰቶች።
- ብዙ መሳሪያዎችን/ኤፒአይዎችን የሚጠሩ እና ከስህተቶች ማገገም ያለባቸው ወኪሎች።
- በደረጃዎች መካከል ያለው ማህደረ ትውስታ፣ ትልቅ ጥያቄ ብቻ አይደለም።
- የሰው ማፅደቆች፣ የተገዢነት መፈተሻዎች ወይም የኦዲት ዱካዎች።
- በምርት ውስጥ ሊባዛ የሚችል፣ ሊታይ የሚችል ባህሪ።
ምናልባት ለአሁን ዝለል የሚከተለው ከሆነ:
- መተግበሪያዎ ነጠላ-ምት ጥያቄ ወይም ቅርንጫፍ የሌለው ቀላል RAG ነው።
- ድጋሚ ሙከራዎች፣ የሰው ግምገማ ወይም የተወሳሰበ የመሳሪያ ውህደት አያስፈልግዎትም።
የአእምሮ ሞዴል፡ ከሰንሰለት ወደ ግራፍ
- "ሰንሰለት" መስመራዊ ነው፡ A → B → C።
- "ግራፍ" ሁኔታዊ እና ስቴትፉል ነው፡ A → (x ከሆነ) B → C፣ አለበለዚያ D → E → C፣ ከ loops እና ከውሳኔ በሮች ጋር።
ላንግግራፍ ይህንን የግራፍ ረቂቅ ለኤልኤልኤም ወኪሎች ያመጣል ስለዚህ ኮድዎ እርስዎ በራስ ሰር የሚያደርጉትን እውነተኛውን ዓለም ሂደት ያንፀባርቃል።
የአጠቃቀም ጉዳዮች ምሳሌ (ከቅጦች ጋር)
- የእቅድ ደረጃ የማረጋገጫ ዝርዝር ይገነባል።
- የመልሶ ማግኛ ደረጃ ምንጮችን ይሰበስባል።
- የማረጋገጫ ደረጃ የይገባኛል ጥያቄዎችን ይፈትሻል; በዝቅተኛ እምነት ላይ, ወደ መልሶ ማግኛ ይመለሱ.
- መደብ የሚለየው ትክክለኛውን የፖሊሲ ዛፍ ነው።
- የመሣሪያ ጥሪዎች የትዕዛዝ/የመለያ ውሂብን ይጎትታሉ።
- የተረቀቀው መፍትሄ, ከዚያም የፖሊሲ መፈተሻ ያረጋግጣል.
- ልዩ ሁኔታ ከተጠቆመ ወደ ወኪል ወይም ሰው ያሳድጉ።
- ከ CRM ውህደት ጋር የሽያጭ ኢሜይል ወኪል
- በኤፒአይዎች በኩል ተስፋ ሰጪ ማበልጸግ።
- የምርት ካርታ ስራን ለግል ማበጀት ረቂቅ።
- ወደ CRM መግባት; ኤፒአይ ካልተሳካ በ backoff እንደገና ይሞክሩ።
ሁሉም ሦስቱም በስቴት ዝመናዎች፣ ሁኔታዊ ሽግግሮች፣ ድጋሚ ሙከራዎች እና አማራጭ የሰው ማፅደቆች ላይ ይተማመናሉ—የላንግግራፍ ጣፋጭ ቦታ።
አነስተኛ ጽንሰ-ሐሳባዊ ንድፍ
# ሃሳቡን ለማሳየት ምሳሌ የሚሆን ሐሰተኛ ኮድ
ከ langgraph አስመጣ StateGraph, Node, Edge
state = {"query": None, "docs": [], "draft": None, "confidence": 0.0}
plan = Node(lambda s: s.update(plan=plan_with_llm(s["query"])) or s)
retrieve = Node(lambda s: s.update(docs=search_tools(s["plan"])) or s)
write = Node(lambda s: s.update(draft=llm_write(s["docs"])) or s)
verify = Node(lambda s: s.update(confidence=grade(s["draft"])) or s)
edges = [
Edge(plan, retrieve),
Edge(retrieve, write),
Edge(write, verify),
Edge(verify, retrieve, condition=lambda s: s["confidence"] < 0.8), # retry loop
]
graph = StateGraph(state, nodes=[plan, retrieve, write, verify], edges=edges)
result_state = graph.run({"query": "Summarize LangGraph"})
ይህ ዋናውን ነገር ያሳያል፡ ስቴት በደረጃዎች ውስጥ ይኖራል፣ ጠርዞች የቁጥጥር ፍሰትን ያካትታሉ፣ እና loops/retries የመጀመሪያ ደረጃ ናቸው።
የውህደት ሁኔታ
- ከላንግቼይን አካላት (ኤልኤልኤምኤስ፣ መሳሪያዎች፣ መልሶ ማግኛዎች) ጎን ለጎን ይሰራል ነገር ግን በፅንሰ-ሃሳባዊ መልኩ orthogonal ነው፡ በስቴት ግራፍ ውስጥ ያስተባብራቸዋል።
- ለመከታተል/መለኪያዎች ከክትትል ቁልሎች ጋር በደንብ ይሰራል።
- ላንግግራፍ ፕላትፎርም ለቡድን ዝግጁ የሆኑ ክፍሎችን ይጨምራል፡ ማሰማራቶች፣ ማስፋፋት፣ ክትትል፣ ትብብር።
የመማሪያ ኩርባ፡ ምን እንደሚጠበቅ
- በላንግቼይን እና በ async የስራ ፍሰቶች ምቾት የሚሰማዎት ከሆነ እቤት ውስጥ እንዳሉ ይሰማዎታል።
- አዲሱ ክፍል ሎጂክዎን እንደ ግራፍ በግልጽ የስቴት ሽግግሮች መቅረጽ ነው።
- የሚከፈለው፡ ጥቂት የተደበቁ የጎንዮሽ ጉዳቶች፣ የተሻለ የመራባት እና ቀላል ማረም ነው።
የተለመዱ ወጥመዶች (እና ጥገናዎች)
- ከመጠን በላይ የተጨናነቀ ስቴት፡ ስቴትን አነስተኛ እና የተዋቀረ ያድርጉ; ትላልቅ ነጠብጣቦችን ሳይሆን ማጣቀሻዎችን ያከማቹ።
- ያልተገደበ loops: ሁልጊዜ የማቆሚያ ሁኔታዎችን እና ቆጣሪዎችን ያክሉ።
- ግልጽ ያልሆኑ ሽግግሮች፡ ኖዶችን በግልጽ ይሰይሙ እና ለመከታተል የስቴት ልዩነቶችን ይመዝግቡ።
- የመሳሪያ ትርምስ፡ መሳሪያዎችን በጊዜ ማብቂያዎች፣ ድጋሚ ሙከራዎች እና በታይፕ ውጤቶች ያሽጉ።
የአፈጻጸም እና የአስተማማኝነት ምክሮች
- እድገትን ለመግታት የውጤት አሰጣጥ/የማረጋገጫ ኖዶችን ይጠቀሙ።
- ወጪዎችን ለመቀነስ የተረጋጋ ንዑስ ግራፎችን (ለምሳሌ፣ መልሶ ማግኛን) ያከማቹ።
- የሚቻለውን ሲሆን ገለልተኛ ቅርንጫፎችን ትይዩ ያድርጉ።
- ለተበላሹ ኤፒአይዎች የ backoff ስልቶችን ያክሉ።
- የሰው-በloopን የሚቀይርበት ቦታ ላይ ብቻ ይጠቀሙ።
በነገራችን ላይ፡ በ Sider.AI በፍጥነት መገንባት
የተዛማጅነት ነጥብ፡ 8/10።
ባለብዙ ወኪል የስራ ፍሰቶችን ፕሮቶታይፕ እየሰሩ ከሆነ፣ Sider.AI መጠየቂያዎችን፣ መሳሪያዎችን እና ሩጫዎችን በማደራጀት የላንግግራፍ ኖዶችን መድገም እና ውጤቶችን መተንተን ቀላል በማድረግ ሙከራን እንደሚያቃልል ማስተዋል ጠቃሚ ነው። ይህ በተለይ ውስብስብ ግራፎች ውስጥ ሽግግሮችን ሲያሻሽሉ እና የወኪል ባህሪን ሲያርሙ በጣም ጠቃሚ ነው።
እንዴት እንደሚጀመር፡ የ5-ደረጃ እቅድ
- ውጤቱን እና የጥበቃ መስመሮችን ይግለጹ፡ በመጨረሻ ምን እውነት መሆን አለበት? ምን ሊከሰት አይችልም?
- ግራፍዎን ይሳሉ፡ ኖዶች፣ ጠርዞች፣ ስቴት ንድፍ እና የማቆሚያ ሁኔታዎች።
- በተጨመረ ሁኔታ ይገንቡ፡ በአከርካሪው (A → B → C) ይጀምሩ፣ ከዚያ loops/ቅርንጫፎችን ያክሉ።
- በመጀመሪያ ክትትልን ያክሉ፡ የስቴት ቅጽበታዊ እይታዎችን እና ውሳኔዎችን ይመዝግቡ።
- የማጠንከሪያ ደረጃ፡ የጊዜ ማብቂያዎች፣ ድጋሚ ሙከራዎች፣ የሰው ማፅደቆች እና የጭነት ሙከራዎች።
አሁን ለምን አስፈላጊ ነው
ቡድኖች ከሙከራ ወደ አስተማማኝ AI ስርዓቶች ሲሸጋገሩ፣ ችሎታን ያህል ቁጥጥር፣ መልሶ ማግኛ እና ክትትል ያስፈልጋቸዋል። ላንግግራፍ ብጁ የውህደት ንብርብር ከመጀመሪያው ሳይጽፉ ለምርት በቂ ጠንካራ የኤልኤልኤም ወኪሎችን ለመስራት የሚያስችል መዋቅር ይሰጥዎታል።
ቁልፍ መውሰጃዎች
- ላንግግራፍ ለኤልኤልኤም ወኪሎች ስቴትፉል፣ ግራፍ ላይ የተመሰረተ የውህደት ማዕቀፍ ነው።
- በብዙ-ደረጃ፣ መሣሪያን በሚጠቀም፣ በሰው-በloop ሊመለሱ በሚችሉ የስራ ፍሰቶች ውስጥ ያበራል።
- ላንግግራፍ ፕላትፎርም የምርት ወኪሎችን ለመላክ እና ለማስፋት ያግዛል።
- ቀላል ይጀምሩ፣ በግልጽ ሞዴል ያድርጉ እና በክትትል እና በጥበቃ መስመሮች ላይ ቀደም ብለው ኢንቨስት ያድርጉ።
FAQ
Q1:በላንግቼይን ውስጥ ላንግግራፍ ምንድን ነው?
ላንግግራፍ ከላንግቼይን የመጣ ስቴትፉል የውህደት ማዕቀፍ ሲሆን የኤልኤልኤም ወኪሎችን እና የስራ ፍሰቶችን እንደ የጋራ ስቴት፣ ግልጽ ሽግግሮች እና አብሮገነብ ቁጥጥሮች ለድጋሚ ሙከራዎች እና ለሰው ግምገማ የሚያሳይ ግራፍ ነው።
Q2:ላንግግራፍ ከተራ ሰንሰለት እንዴት ይለያል?
አንድ ሰንሰለት መስመራዊ ሲሆን ላንግግራፍ ግን ውስብስብ ባለብዙ ወኪል የስራ ፍሰቶችን ለማስቻል በደረጃዎች ውስጥ የማያቋርጥ ስቴት ያለው ቅርንጫፍ፣ loops እና ሁኔታዊ ሽግግሮችን ይደግፋል።
Q3:መሰረታዊ RAG መተግበሪያዎች ላንግግራፍ ያስፈልገኛል?
አስፈላጊ አይደለም። የማግኛ-የተጨመረ ትውልድዎ መስመራዊ እና የተረጋጋ ከሆነ፣ ቀላል ሰንሰለት በቂ ሊሆን ይችላል። ቅርንጫፍ፣ ድጋሚ ሙከራዎች ወይም የሰው-በloop ቁጥጥሮች ሲፈልጉ ላንግግራፍን ይጠቀሙ።
Q4:ላንግግራፍን ወደ ምርት ማሰማራት እችላለሁ?
አዎ። የክፍት ምንጭ ማዕቀፉ ውህደትን የሚቆጣጠር ሲሆን ላንግግራፍ ፕላትፎርም ደግሞ ለማምረቻ አካባቢዎች ማሰማራትን፣ ማስፋፋትን፣ ክትትልን እና የአስተዳደር ባህሪያትን ያቀርባል።
Q5:የተለመዱ የላንግግራፍ ምርጥ ልምዶች ምንድን ናቸው?
ስቴትን አነስተኛ ያድርጉት፣ ወደ loops የማቆሚያ ሁኔታዎችን ያክሉ፣ መሳሪያዎችን በጊዜ ማብቂያዎች እና ድጋሚ ሙከራዎች ያሽጉ፣ ለክትትል የስቴት ሽግግሮችን ይመዝግቡ እና እድገትን ለመግታት የማረጋገጫ ኖዶችን ይጠቀሙ።