RAG ይፍጠሩ | B4N1

RAG ይፍጠሩ

7 months ago · b4n1 Tiempo de lectura: 4 min

** የኦርኬስትራ መሳሪያዎችን ለ AI-የተጎላበተ ሶፍትዌር አርክቴክቸር መጠቀም**

መግቢያ

በአይ-የተጎለበተ የሶፍትዌር አርክቴክቸር ፍላጎት እየጨመረ መምጣቱ አርቴፊሻል ኢንተለጀንስ (AI) እና የማሽን መማር (ኤምኤል) አቅምን ወደ ሶፍትዌር ሲስተሞች ለማቀናጀት የሚያስችሉ የተለያዩ የኦርኬስትራ መሳሪያዎች እንዲፈጠሩ አድርጓል። በዚህ ጽሁፍ ውስጥ RAG (Reasoning and Action Graph) እና LLM (ትልቅ የቋንቋ ሞዴል) አቅሞችን ለተሻሻለ ቅልጥፍና፣ አፈጻጸም እና ደህንነትን በማዋሃድ ላይ በማተኮር እንደ LangChain እና DSPy ያሉ ኦርኬስትራ መሳሪያዎችን በመጠቀም በ AI የሚነዳ የሶፍትዌር አርክቴክቸር አተገባበርን እንመረምራለን።

የኦርኬስትራ መሳሪያዎች ምንድን ናቸው?

የኦርኬስትራ መሳሪያዎች በርካታ አገልግሎቶችን፣ አፕሊኬሽኖችን እና ስርዓቶችን በማዋሃድ ውስብስብ የስራ ፍሰቶችን እና ሂደቶችን አውቶማቲክ ለማድረግ የሚያስችሉ የሶፍትዌር ማዕቀፎች ናቸው። በተለያዩ አካላት መካከል ያለውን መስተጋብር ለማስተዳደር እና ለማስተባበር የተማከለ መድረክን ያቀርባሉ፣ ቀልጣፋ እና ሊሰፋ የሚችል ተግባራትን መፈጸምን ያረጋግጣል።

** LangChain፡ በፓይዘን ላይ የተመሰረተ ኦርኬስትራ መሳሪያ**

LangChain በ AI የተጎላበተ ሶፍትዌር አርክቴክቸር ለመገንባት አጠቃላይ ማዕቀፍ የሚያቀርብ ክፍት ምንጭ Python ቤተ-መጽሐፍት ነው። የሚከተሉትን ጨምሮ የተለያዩ ባህሪያትን ያቀርባል-

  • ** RAG (የምክንያት እና የድርጊት ግራፍ) ውህደት ***: LangChain አብሮ የተሰራ የ RAG ትግበራን ያቀርባል ፣ ይህም በ AI የሚመሩ የስራ ፍሰቶችን ለመቅረጽ እና ለማስኬድ የሚያገለግሉ ውስብስብ የማመዛዘን እና የድርጊት ግራፎችን ለመፍጠር ያስችላል።
  • ** LLM (ትልቅ የቋንቋ ሞዴል) ውህደት ***: LangChain እንደ ኤልኤምኤ እና BERT ያሉ የኤል.ኤም.ኤም.ዎችን ውህደት ለተፈጥሮ ቋንቋ ማቀናበር እና ማፍለቅ ተግባራትን ይደግፋል።
  • ** የመጠን ችሎታ እና አፈፃፀም ***: LangChain መጠነ ሰፊ AI የስራ ጫናዎችን ለመቆጣጠር የተነደፈ ነው, ይህም ተግባራትን ቀልጣፋ እና ሊሰፋ የሚችል አፈፃፀም ያቀርባል.

** በ AI የሚነዳ የሶፍትዌር አርክቴክቸር ከላንግ ቻይን ጋር መተግበር**

LangChainን በመጠቀም በAI የሚመራ የሶፍትዌር አርክቴክቸር መተግበሩን ለማሳየት፣ የተጠቃሚ ጥያቄዎችን ለማመዛዘን እና ምላሽ ለመስጠት RAG የሚጠቀም የቻትቦትን ቀላል ምሳሌ እንመልከት።

`` ፓይቶን አስመጣ langchain ከ langchain.ሰንሰለቶች አስመጪ lm

rag = langchain.RAG( ስም = "ቻትቦት_ራግ", አንጓዎች=[ {"name": "ሰላምታ", "ጽሑፍ": "ጤና ይስጥልኝ, እንዴት ልረዳህ እችላለሁ?"}, {"ስም": "ደህና ሁን", "ጽሑፍ": "ደህና ሁኚ, ከእርስዎ ጋር ማውራት ጥሩ ነበር."}, ]፣ ጠርዞች=[ {"from": "ሰላምታ", "ወደ": "ደህና ሁኚ", "ሁኔታ": "ተጠቃሚ_ይላል"}, ]፣ )

LLM ይፍጠሩ

llm = LM.LLM( ስም = "ቻትቦት_ሊም", ሞዴል = "ላማ", ከፍተኛ_ቶከኖች=100፣ )

የቻትቦት ሰንሰለት ይፍጠሩ

ሰንሰለት = langchain. ሰንሰለት ( ስም = "ቻትቦት_ቼይን", llm=llm, ራግ=ራግ፣ )

ቻትቦትን ይሞክሩት።

user_input = "ሰላም እንዴት ነህ?" ምላሽ = chain.run (የተጠቃሚ_ግቤት) ማተም (ምላሽ)


**DSPy፡ በዝገት ላይ የተመሰረተ ኦርኬስትራ መሳሪያ**


DSPy በ AI የተጎላበተ የሶፍትዌር አርክቴክቸር ለመገንባት ከፍተኛ አፈጻጸም ያለው እና ሊሰፋ የሚችል ማዕቀፍ የሚያቀርብ Rust ላይ የተመሰረተ ኦርኬስትራ መሳሪያ ነው። የሚከተሉትን ጨምሮ የተለያዩ ባህሪያትን ያቀርባል-

* **RAG (ምክንያታዊ እና የድርጊት ግራፍ) ውህደት ***: DSPy አብሮ የተሰራ የ RAG ትግበራን ያቀርባል ፣ ይህም በ AI የሚመሩ የስራ ፍሰቶችን ለመቅረጽ እና ለማስኬድ የሚያገለግሉ ውስብስብ የማመዛዘን እና የድርጊት ግራፎችን ለመፍጠር ያስችላል።
* **LLM (ትልቅ የቋንቋ ሞዴል) ውህደት**፡ DSPy እንደ LLAMA እና BERT ያሉ የኤል.ኤም.ኤል.ኤም ውህደትን ለተፈጥሮ ቋንቋ ማቀናበር እና ማፍለቅ ተግባራትን ይደግፋል።
* ** ልኬታማነት እና አፈጻጸም ***፡ DSPy የተነደፈው መጠነ ሰፊ የ AI የስራ ጫናዎችን ለመቆጣጠር፣ ቀልጣፋ እና ሊሰፋ የሚችል ተግባራትን አፈፃፀም ያቀርባል።

** በ AI የሚነዳ ሶፍትዌር አርክቴክቸርን ከDSPy ጋር መተግበር**


DSPyን በመጠቀም በ AI የሚነዳ የሶፍትዌር አርክቴክቸር ተግባራዊ መሆኑን ለማሳየት፣ የተጠቃሚ ጥያቄዎችን ለማመዛዘን እና ምላሽ ለመስጠት RAG የሚጠቀም የቻትቦትን ቀላል ምሳሌ እንመልከት።

`` ዝገት
dspy ይጠቀሙ :: ሰንሰለት;
dspy ይጠቀሙ :: LM;

// RAG ይፍጠሩ
ራግ = ሰንሰለት::RAG:: አዲስ(
    "ቻትቦት_ራግ",
    ቬክ![
        ሰንሰለት :: ኖድ :: አዲስ ("ሰላምታ", "ጤና ይስጥልኝ, እንዴት ልረዳህ እችላለሁ?"),
        ሰንሰለት:: Node:: አዲስ("ደህና ሁን"፣ "ደህና ሁን፣ ከእርስዎ ጋር ማውራት ጥሩ ነበር")፣
    ]፣
    ቬክ![
        ሰንሰለት:: ጠርዝ:: አዲስ("ሰላምታ"፣ "ደህና ሁን"፣ "ተጠቃሚ_ይላል_ደህና ሁን")፣
    ]፣
);

// LLM ይፍጠሩ
ይሁን llm = llm::LLM::አዲስ(
    "ቻትቦት_ሊም",
    "ላማ",
    100,
);

// የቻትቦት ሰንሰለት ይፍጠሩ
ሰንሰለት = ሰንሰለት :: ሰንሰለት :: አዲስ (
    "ቻትቦት_ሰንሰለት"፣
    llm
    ጨርቅ፣
);

// ቻትቦትን ይሞክሩት።
let user_input = "ሰላም እንዴት ነህ?";
ምላሽ ይስጡ = chain.run (የተጠቃሚ_ግቤት);
println! ("{}", ምላሽ);

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

ለLangChain እና DSPy በብዛት ጥቅም ላይ የዋሉት አንዳንድ ትዕዛዞች እና ቅንጥቦች እዚህ አሉ፡

  • ላንግቻይን
    • langchain.RAG()፡ አዲስ RAG ምሳሌ ይፈጥራል።
    • langchain.LLM()፡ አዲስ የኤልኤልኤም ምሳሌ ይፈጥራል።
    • langchain.Chain()፡ አዲስ ሰንሰለት ምሳሌ ይፈጥራል።
    • rag.run()፡ RAG ን ያስኬዳል እና ምላሽ ይፈጥራል።
    • llm.run()፡ LLM ን ያስኬዳል እና ምላሽ ይፈጥራል።
  • DSP:
    • `dspy:: ሰንሰለት:: RAG:: አዲስ()': አዲስ RAG ምሳሌ ይፈጥራል።
    • dspy:: LM:: LLM:: አዲስ(): አዲስ የኤልኤልኤም ምሳሌ ይፈጥራል።
    • dspy :: ሰንሰለት :: ሰንሰለት :: አዲስ(): አዲስ ሰንሰለት ምሳሌ ይፈጥራል።
    • chain.run()፡ ሰንሰለቱን ያስኬዳል እና ምላሽ ይፈጥራል።

እይታ

Chart.jsን በመጠቀም የ RAG እና LLM ችሎታዎች ቀላል እይታ እዚህ አለ፡-

``ጃቫስክሪፕት const ctx = document.getElementById('myChart')።getContext('2d'); const ገበታ = አዲስ ገበታ (ctx፣ { ዓይነት: 'ባር', ውሂብ፡ { መለያዎች፡ ['RAG'፣ 'LLM']፣ የውሂብ ስብስቦች: [{ መለያ: 'አቅም' መረጃ፡ [10፣20]፣ ዳራ ቀለም: [ 'rgba(255፣ 99፣ 132፣ 0.2)'፣ 'rgba(54፣ 162፣ 235፣ 0.2)'፣ ]፣ የድንበር ቀለም: 'rgba(255፣ 99፣ 132፣ 1)'፣ 'rgba(54፣ 162፣ 235፣ 1)'፣ ]፣ የድንበር ስፋት፡ 1 }] } አማራጮች፡ { ሚዛኖች: { y: { startAtZero፡ እውነት } } } });


** መደምደሚያ**


LangChain እና DSPy RAG እና LLM ችሎታዎችን በመጠቀም በ AI የሚመራ የሶፍትዌር አርክቴክቸርን ተግባራዊ ለማድረግ የሚያስችል ኃይለኛ የኦርኬስትራ መሳሪያዎች ናቸው። እነዚህን መሳሪያዎች በመጠቀም ገንቢዎች የተወሳሰቡ AI የስራ ጫናዎችን የሚቆጣጠሩ፣ ሊለኩ የሚችሉ፣ አፈጻጸም ያላቸው እና ደህንነቱ የተጠበቀ የሶፍትዌር ስርዓቶችን መፍጠር ይችላሉ። በአጠቃቀም ቀላልነታቸው እና በተለዋዋጭነታቸው፣ LangChain እና DSPy በ AI የተጎለበተ የሶፍትዌር አርክቴክቸር ለመገንባት ተስማሚ ምርጫዎች ናቸው።

** ምክሮች ***


በዚህ ጽሑፍ ውስጥ ባለው ውይይት ላይ በመመስረት፣ LangChain እና DSPy ን በመጠቀም በ AI የሚመራ የሶፍትዌር አርክቴክቸርን መተግበር ለሚፈልጉ ገንቢዎች አንዳንድ ምክሮች እዚህ አሉ።

* RAG እና LLM ችሎታቸውን ጨምሮ የLangChain እና DSPy መሰረታዊ ነገሮችን በመማር ይጀምሩ።
* መሳሪያዎቹ እንዴት እንደሚሰሩ እንዲሰማዎት እንደ የቻትቦት ምሳሌ ካሉ ቀላል ምሳሌዎች ጋር ይሞክሩ።
* ቀስ በቀስ ወደ ውስብስብ ፕሮጄክቶች ይሂዱ፣ ለምሳሌ የምክር ስርዓት መገንባት ወይም የተፈጥሮ ቋንቋ ማቀነባበሪያ ቧንቧ መስመር።
* ከ5-10 በብዛት ጥቅም ላይ የዋሉ ትዕዛዞች/ቅንጣዎች ክፍልን እንደ ማጣቀሻ መመሪያ ለጋራ ትዕዛዞች እና ቅንጥቦች ይጠቀሙ።
* በተለያዩ ክፍሎች መካከል ስላለው ግንኙነት የተሻለ ግንዛቤ ለማግኘት Chart.js በመጠቀም የእርስዎን RAG እና LLM ችሎታዎች በዓይነ ሕሊናዎ ይሳሉ።

እነዚህን ምክሮች በመከተል ገንቢዎች የ LangChain እና DSPy ሙሉ አቅም መክፈት እና ውስብስብ የስራ ጫናዎችን የሚይዝ እና ልዩ አፈፃፀም እና ልኬትን የሚሰጥ በ AI የተጎለበተ ሶፍትዌር አርክቴክቸር መገንባት ይችላሉ።

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn