ינטאַגרייטינג RAG מיט LLMs פֿאַר ענכאַנסט ווייכווארג אַנטוויקלונג וואָרקפלאָווס | B4N1

ינטאַגרייטינג RAG מיט LLMs פֿאַר ענכאַנסט ווייכווארג אַנטוויקלונג וואָרקפלאָווס

9 months ago · b4n1 Read time: 4 min

ינטאַגרייטינג RAG מיט LLMs פֿאַר ענכאַנסט ווייכווארג אַנטוויקלונג וואָרקפלאָווס

הקדמה

די ווייכווארג אַנטוויקלונג לאַנדשאַפט איז ראַפּאַדלי יוואַלווינג, געטריבן דורך אַדוואַנסיז אין קינסטלעך סייכל (AI), מאַשין לערנען (ML) און נאַטירלעך שפּראַך פּראַסעסינג (NLP). צוויי שליסל טעקנאַלאַדזשיז וואָס רעוואַלושאַנייזינג די וועג מיר אַנטוויקלען ווייכווארג זענען ריטריוואַל-אַוגמענטעד גענעראַטיאָן (RAG) און גרויס שפּראַך מאָדעלס (LLMs). אין דעם אַרטיקל, מיר וועלן ויספאָרשן די ינאַגריישאַן פון RAG מיט LLMs צו סטרימליין ווייכווארג ינזשעניעריע פּראַסעסאַז, פֿאַרבעסערן קאָד דזשענעריישאַן און פֿאַרבעסערן פּראָודאַקטיוויטי פון דעוועלאָפּער.

** וואָס איז ריטריוואַל-אַוגמענטעד דור (RAG)?**

RAG איז אַ טעכניק וואָס קאַמביינז די סטרענגקטס פון ריטריוואַל-באזירט און דור-באזירט אַפּראָוטשיז צו NLP. עס ינוואַלווז ריטריווינג באַטייַטיק אינפֿאָרמאַציע פון ​​אַ גרויס קאָרפּוס פון טעקסט און ניצן עס צו פאַרגרעסערן די דור פון נייַע טעקסט. דער צוגאַנג איז געוויזן צו זיין העכסט עפעקטיוו אין אַ פאַרשיידנקייַט פון NLP טאַסקס, אַרייַנגערעכנט קשיא ענטפֿערן, טעקסט סאַמעריזיישאַן און קאָד דור.

** וואָס זענען גרויס שפּראַך מאָדעלס (LLMs)?**

LLMs זענען אַ טיפּ פון נעוראַל נעץ וואָס איז דיזיינד צו פּראָצעס און דזשענערייט מענטש-ווי שפּראַך. זיי זענען טיפּיקלי טריינד אויף מאַסיוו דאַטאַסעץ פון טעקסט און קענען זיין פיין-טונד פֿאַר ספּעציפיש טאַסקס אַזאַ ווי שפּראַך איבערזעצונג, טעקסט סאַמעריזיישאַן און קאָד דזשענערייטינג. LLMs האָבן אַטשיווד מאָדערן רעזולטאַטן אין פילע NLP טאַסקס און זענען וויידלי געניצט אין אַפּלאַקיישאַנז אַזאַ ווי טשאַטבאָץ, ווירטואַל אַסיסטאַנץ און שפּראַך איבערזעצונג סיסטעמען.

ינטאַגרייטינג RAG מיט LLMs פֿאַר ענכאַנסט ווייכווארג אַנטוויקלונג וואָרקפלאָווס

די ינאַגריישאַן פון RAG מיט LLMs האט די פּאָטענציעל צו רעוואַלושאַנייז די וועג מיר אַנטוויקלען ווייכווארג. דורך קאַמביינינג די סטרענגקטס פון ריטריוואַל-באזירט און דור-באזירט אַפּראָוטשיז, RAG קענען העלפֿן LLMs צו דזשענערייט מער פּינטלעך און באַטייַטיק קאָד. דאָס קען פירן צו באַטייַטיק ימפּרווומאַנץ אין פּראָודאַקטיוויטי פון דעוועלאָפּער, קאָד קוואַליטעט און קוילעלדיק ווייכווארג אַנטוויקלונג וואָרקפלאָווס.

** אָרקעסטראַטיאָן מכשירים: LangChain און DSPy**

צו ויסשטימען RAG מיט LLMs, מיר דאַרפֿן אָרקעסטראַטיאָן מכשירים וואָס קענען פירן די לויפן פון דאַטן און קאָנטראָלירן די דורכפירונג פון די RAG און LLM קאַמפּאָונאַנץ. צוויי פאָלקס אָרקעסטראַטיאָן מכשירים וואָס קענען זיין געוויינט פֿאַר דעם צוועק זענען LangChain און DSPy.

LangChain

LangChain איז אַן אָפֿן-מקור פּיטהאָן ביבליאָטעק וואָס גיט אַ פּשוט און ינטואַטיוו אַפּי פֿאַר בנין RAG-באזירט אַפּלאַקיישאַנז. עס אַלאַוז דעוועלאָפּערס צו לייכט ויסשטימען RAG מיט LLMs און אנדערע NLP קאַמפּאָונאַנץ צו שאַפֿן שטאַרק ווייכווארג אַנטוויקלונג וואָרקפלאָווס.

DSPy

DSPy איז אן אנדער עפֿענען-מקור פּיטהאָן ביבליאָטעק וואָס גיט אַ הויך-מדרגה אַפּי פֿאַר בנין RAG-באזירט אַפּלאַקיישאַנז. עס איז דיזיינד צו אַרבעטן סימלאַס מיט LLMs און אנדערע NLP קאַמפּאָונאַנץ, וואָס מאכט עס אַן אידעאל ברירה פֿאַר ינטאַגרייטינג RAG מיט LLMs.

קאָד בייַשפּיל: ינטאַגרייטינג RAG מיט LLMs ניצן LangChain

דאָ איז אַ פּשוט קאָד ביישפּיל וואָס דעמאַנסטרייץ ווי צו ויסשטימען RAG מיט LLMs ניצן LangChain:

אַרייַנפיר לאַנגטשאַין
פֿון langchain.chains אַרייַנפיר RAGChain


rag_model = langchain.RAG(
    index=langchain.Index(
        נאָמען = "מיין_ינדעקס",
        דאָקומענטן=[" דאָקומענט1 "," דאָקומענט 2 ", " דאָקומענט 3 "],
    ),
    retriever=langchain.Retriever(
        נאָמען = "מיין_רעטריעווער",
        model="my_retriever_model",
    ),
    גענעראַטאָר = לאַנגטשאַין. גענעראַטאָר (
        נאָמען = "מיין_גענעראַטאָר",
        מאָדעל = "מיין_גענעראַטאָר_מאָדעל",
    ),
)

# דעפינירן די LLM מאָדעל
llm_model = langchain.LLM(
    נאָמען = "מיין_ללם",
    model="my_llm_model",
)

# שאַפֿן אַ RAG קייט
rag_chain = RAGChain(
    נאָמען = "מיין_ראַג_טשאַין",
    מאָדעל = שמאַטע_מאָדעל,
    llm=llm_model,
)

# ניצן די RAG קייט צו דזשענערייט קאָד
קאָד = rag_chain.generate(
    input_text="שרייַבט אַ פֿונקציע וואָס נעמט צוויי גאַנץ נומערן ווי אַרייַנשרייַב און קערט זייער סאַכאַקל",
)

דרוק (קאָד)

דער קאָד ביישפּיל דעמאַנסטרייץ ווי צו דעפינירן אַ RAG מאָדעל ניצן LangChain, דעפינירן אַ LLM מאָדעל, שאַפֿן אַ RAG קייט און נוצן די קייט צו דזשענערייט קאָד.

שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ

דאָ זענען די שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ פֿאַר ינטאַגרייטינג RAG מיט LLMs ניצן LangChain און DSPy:

  1. langchain.RAG(): קריייץ אַ RAG מאָדעל בייַשפּיל.
  2. langchain.Index(): קריייץ אַן אינדעקס בייַשפּיל פֿאַר סטאָרינג און ריטריווינג דאָקומענטן.
  3. langchain.Retriever(): קריייץ אַ ריטריווער בייַשפּיל פֿאַר ריטריווינג באַטייַטיק דאָקומענטן.
  4. langchain.Generator(): קריייץ אַ גענעראַטאָר בייַשפּיל פֿאַר דזשענערייטינג נייַ טעקסט.
  5. langchain.LLM(): קריייץ אַ LLM מאָדעל בייַשפּיל.
  6. RAGChain(): קריייץ אַ RAG קייט בייַשפּיל.
  7. rag_chain.generate(): ניצט די RAG קייט צו דזשענערייט קאָד.
  8. llm_model.generate(): ניצט די LLM מאָדעל צו דזשענערייט קאָד.
  9. index.add_document(): מוסיף אַ דאָקומענט צו די אינדעקס.
  10. retriever.retrieve(): ריטריווז באַטייַטיק דאָקומענטן ניצן די ריטריווער.

וויסואַליזאַטיאָן

דאָ איז אַ וויזשוואַלאַזיישאַן פון די RAG און LLM קאַמפּאָונאַנץ ניצן Chart.js:

{
  "type": "באַר",
  "דאַטן": {
    "לאַבעלס": ["שוואַרץ", "ללם"],
    "דאַטאַסעטס": [
      {
        "label": "קאָמפּאָנענטס",
        "דאַטן": [10, 20],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "אָפּציעס": {
    "טיטל": {
      "ווייַז": אמת,
      "text": "RAG און LLM קאַמפּאָונאַנץ"
    },
    "סקאַלעס": {
      "יאַקסעס": [
        {
          "ווייַז": אמת,
          "באַגינאַט זעראָ": אמת
        }
      ]
    }
  }
}

די וויזשוואַלאַזיישאַן ווייזט די נומער פון קאַמפּאָונאַנץ אין די RAG און LLM מאָדעלס.

** מסקנא**

די ינאַגריישאַן פון RAG מיט LLMs האט די פּאָטענציעל צו רעוואַלושאַנייז די וועג מיר אַנטוויקלען ווייכווארג. דורך קאַמביינינג די סטרענגקטס פון ריטריוואַל-באזירט און דור-באזירט אַפּראָוטשיז, RAG קענען העלפֿן LLMs צו דזשענערייט מער פּינטלעך און באַטייַטיק קאָד. דאָס קען פירן צו באַטייַטיק ימפּרווומאַנץ אין פּראָודאַקטיוויטי פון דעוועלאָפּער, קאָד קוואַליטעט און קוילעלדיק ווייכווארג אַנטוויקלונג וואָרקפלאָווס. מיט אָרקעסטראַטיאָן מכשירים ווי LangChain און DSPy, דעוועלאָפּערס קענען לייכט ויסשטימען RAG מיט LLMs און אנדערע NLP קאַמפּאָונאַנץ צו שאַפֿן שטאַרק ווייכווארג אַנטוויקלונג וואָרקפלאָווס.


Have Questions?

Let's Talk

Contact me on LinkedIn