ינטאַגרייטינג LangChain פֿאַר אַוואַנסירטע RAG אַרקאַטעקטשער אין פּיטהאָן אַפּפּליקאַטיאָנס | B4N1

ינטאַגרייטינג LangChain פֿאַר אַוואַנסירטע RAG אַרקאַטעקטשער אין פּיטהאָן אַפּפּליקאַטיאָנס

8 months ago · b4n1 Read time: 4 min

ינטאַגרייטינג LangChain פֿאַר אַוואַנסירטע RAG אַרקאַטעקטשער אין פּיטהאָן אַפּפּליקאַטיאָנס

איבערבליק

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

וואָס איז LangChain?

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

שליסל פֿעיִקייטן פון LangChain

  1. ** מאַדזשאַלער אַרטשיטעקטורע **: LangChain ס מאַדזשאַלער פּלאַן אַלאַוז דעוועלאָפּערס צו לייכט ויסשטימען פאַרשידענע אַי מאָדעלס, דאַטן קוואלן און וועב פראַמעוואָרקס, מאכן עס אַן אידעאל ברירה פֿאַר בנין קאָמפּלעקס RAG סיסטעמען.
  2. ** אָרקעסטראַטיאָן מכשירים **: LangChain גיט אַ קייט פון אָרקעסטראַטיאָן מכשירים וואָס געבן דעוועלאָפּערס צו פירן און פּראָצעס גרויס דאַטאַסעץ, ווי געזונט ווי ויסשטימען מיט פאַרשידן דאַטן קוואלן און אַפּיס.
  3. ** שטיצן פֿאַר קייפל אַי מאָדעלס **: LangChain שטיצט אַ ברייט קייט פון אַי מאָדעלס, אַרייַנגערעכנט טראַנספאָרמער-באזירט מאָדעלס, אַלאַוינג דעוועלאָפּערס צו קלייַבן די בעסטער מאָדעל פֿאַר זייער ספּעציפיש נוצן פאַל.
  4. ** ינטעגראַטיאָן מיט וועב פראַמעוואָרקס **: LangChain גיט סימלאַס ינטאַגריישאַן מיט פאָלקס פּיטהאָן-באזירט וועב פראַמעוואָרקס ווי FastAPI און Flask, מאכן עס גרינג צו צעוויקלען RAG סיסטעמען ווי וועב אַפּלאַקיישאַנז.

ינטאַגרייטינג LangChain מיט FastAPI און Flask

צו ויסשטימען LangChain מיט FastAPI און Flask, מיר דאַרפֿן צו נאָכפאָלגן די סטעפּס:

שריט 1: ינסטאַלירן LangChain

ערשטער, מיר דאַרפֿן צו ינסטאַלירן LangChain ניצן פּיפּ:

"באַש פּיפּ ינסטאַלירן לאַנגטשאַין


### שריט 2: שאַפֿן אַ לאַנגטשאַין אַגענט

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

``` פּיטהאָן
פֿון לאַנגטשאַין אַרייַנפיר אַגענט

אַגענט = אַגענט (
    נאָמען = "מיין_אַגענט",
    model_name = "מיין_מאָדעל",
    model_type="טראַנספאָרמער",
    מאַקס_לענגטה=1024,
    מין_לענגטה=128,
)

שריט 3: ויסשטימען מיט FastAPI אָדער Flask

אַמאָל מיר האָבן באשאפן אונדזער LangChain אַגענט, מיר קענען ויסשטימען עס מיט FastAPI אָדער Flask. דאָ ס אַ ביישפּיל פון ווי צו ויסשטימען עס מיט FastAPI:

פֿון fastapi אַרייַנפיר FastAPI
פֿון לאַנגטשאַין אַרייַנפיר אַגענט

אַפּ = FastAPI()

# שאַפֿן אַ יקערדיק אַגענט
אַגענט = אַגענט (
    נאָמען = "מיין_אַגענט",
    model_name = "מיין_מאָדעל",
    model_type="טראַנספאָרמער",
    מאַקס_לענגטה=1024,
    מין_לענגטה=128,
)

@app.get("/generate")
async def genere_text (prompt: str):
    # ניצן דעם אַגענט צו דזשענערייט טעקסט
    output = agent.generate (prompt)
    צוריקקומען {"output": output}

סימילאַרלי, מיר קענען ויסשטימען LangChain מיט Flask:

פון קאָלבע אַרייַנפיר פלאַש, בעטן
פֿון לאַנגטשאַין אַרייַנפיר אַגענט

אַפּ = פלאַש (__ נאָמען__)

# שאַפֿן אַ יקערדיק אַגענט
אַגענט = אַגענט (
    נאָמען = "מיין_אַגענט",
    model_name = "מיין_מאָדעל",
    model_type="טראַנספאָרמער",
    מאַקס_לענגטה=1024,
    מין_לענגטה=128,
)

@app.route("/generate", methods=["GET"])
דעף דזשענערייט_טעקסט():
    # ניצן דעם אַגענט צו דזשענערייט טעקסט
    prompt = request.args.get("prompt")
    output = agent.generate (prompt)
    צוריקקומען {"output": output}

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

LangChain פּראָווידעס אַ קייט פון אָרקעסטראַטיאָן מכשירים וואָס געבן דעוועלאָפּערס צו פירן און פּראָצעס גרויס דאַטאַסעץ, ווי געזונט ווי ויסשטימען מיט פאַרשידן דאַטן קוואלן און אַפּיס. עטלעכע פון ​​​​די שליסל אָרקעסטראַטיאָן מכשירים אין LangChain אַרייַננעמען:

  1. ** דאַטאַ קוואלן **: LangChain גיט אַ קייט פון דאַטן קוואלן וואָס געבן דעוועלאָפּערס צו ויסשטימען מיט פאַרשידן דאַטן קוואלן און אַפּיס, אַזאַ ווי דאַטאַבייסיז, טעקע סיסטעמען און וועב אַפּיס.
  2. ** דאַטאַ פּראַסעסערז **: LangChain גיט אַ קייט פון דאַטן פּראַסעסערז וואָס געבן דעוועלאָפּערס צו פּראָצעס גרויס דאַטאַסעץ, אַרייַנגערעכנט דאַטן רייניקונג, דאַטן טראַנספאָרמאַציע און דאַטן אַגגרעגאַטיאָן.
  3. מאָדעל אָרקעסטראַטאָרס: LangChain גיט אַ קייט פון מאָדעל אָרקעסטראַטאָרס וואָס געבן דעוועלאָפּערס צו פירן און צעוויקלען אַי מאָדעלס, אַרייַנגערעכנט מאָדעל טריינינג, מאָדעל דיפּלוימאַנט און מאָדעל מאָניטאָרינג.

** וויסואַליזאַטיאָן מיט Chart.js **

צו וויזשוואַלייז די פאָרשטעלונג פון אונדזער RAG סיסטעם, מיר קענען נוצן Chart.js, אַ פאָלקס דזשאַוואַסקריפּט ביבליאָטעק פֿאַר קריייטינג ינטעראַקטיוו טשאַרץ. דאָ איז אַ ביישפּיל פון ווי צו נוצן Chart.js צו וויזשוואַלייז די פאָרשטעלונג פון אונדזער RAG סיסטעם:

const ctx = document.getElementById("myChart").getContext("2d");
קאָנסט טשאַרט = נייַ טשאַרט (קטקס, {
  טיפּ: "שורה",
  דאַטן: {
    לאַבעלס: ["יאן", "פעברואר", "מאר", "אפריל", "מאי"],
    דאַטאַסעטס: [
      {
        פירמע: "אַקיעראַטי",
        דאַטן: [0.8, 0.9, 0.85, 0.88, 0.92],
        backgroundColor: "rgba(255, 99, 132, 0.2)",
        borderColor: "rgba(255, 99, 132, 1)",
        גרענעץ ברייט: 1,
      },
    ],
  },
  אָפּציעס: {
    וואָג: {
      י: {
        beginAtZero: אמת,
      },
    },
  },
});

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

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

  1. פֿון לאַנגטשאַין אַרייַנפיר אַגענט: ימפּאָרט די אַגענט קלאַס פון לאַנגטשאַין.
  2. אַגענט = אַגענט (...): שאַפֿן אַ נייַ אַגענט בייַשפּיל.
  3. agent.generate(...): ניצן די אַגענט צו דזשענערייט טעקסט.
  4. agent.query(...): ניצן די אַגענט צו אָנפרעג אַ וויסן באַזע.
  5. agent.train(...): באַן די אַגענט אויף אַ דאַטאַסעט.
  6. agent.deploy(...): צעוויקלען די אַגענט ווי אַ וועב דינסט.
  7. agent.monitor(...): מאָניטאָר די פאָרשטעלונג פון די אַגענט.
  8. agent.update(...): דערהייַנטיקן די אַגענט מיט נייַע דאַטן.
  9. agent.delete(...): ויסמעקן די אַגענט בייַשפּיל.
  10. agent.save(...): היט דעם אַגענט בייַשפּיל צו אַ טעקע.

** מסקנא**

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


Have Questions?

Let's Talk

Contact me on LinkedIn