אָרטשעסטראַטינג גרויס-סקאַלע LLM פּייפּליינז מיט DSPy און LangChain פֿאַר ימפּרוווד דעוואָפּס | B4N1

אָרטשעסטראַטינג גרויס-סקאַלע LLM פּייפּליינז מיט DSPy און LangChain פֿאַר ימפּרוווד דעוואָפּס

6 months ago · b4n1 Tiempo de lectura: 5 min

אָרקעסטרייטינג גרויס-סקאַלע LLM פּייפּליינז מיט DSPy און LangChain פֿאַר ימפּרוווד דעוואָפּס

הקדמה

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

די אַרויסרופן פון גרויס-סקאַלע LLM פּייפּליינז

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

אַרייַן DSPy און LangChain

DSPy און LangChain זענען צוויי פראַמעוואָרקס וואָס צילן צו פאַרפּאָשעטערן די אָרקעסטראַטיאָן און אָטאַמיישאַן פון גרויס-וואָג LLM פּייפּליינז. DSPy איז אַ פּיטהאָן-באזירט פריימווערק וואָס גיט אַ פּשוט און עפעקטיוו וועג צו בויען און פירן קאָמפּלעקס דאַטן פּייפּליינז, בשעת LangChain איז אַ פריימווערק וואָס ינייבאַלז די בנין פון סקאַלאַבלע און ריזיליאַנט אַי סיסטעמען.

DSPy: אַ פּיטהאָן-באזירט פראַמעוואָרק פֿאַר דאַטאַ פּייפּליינז

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

דאָ איז אַ ביישפּיל פון אַ פּשוט דאַטן רערנ - ליניע געבויט מיט DSPy:

אַרייַנפיר דספּי ווי דספּ


דאַטן_מקור = דספּ.מקור(
    נאָמען = "מיין_דאַטן_מקור",
    טיפּ = "קסוו",
    path="/path/to/data.csv"
)

# דעפינירן אַ דאַטן פּראַסעסער
דאַטאַ_פּראַסעסער = דספּ.פּראָסעססאָר(
    נאָמען = "מיין_דאַטאַ_פּראַסעסער",
    טיפּ = "פּאַנדאַס",
    func = lambda x: x.dropna ()
)

# דעפינירן אַ דאַטן זינקען
data_sink = dsp.Sink(
    נאָמען = "מיין_דאַטן_זינק",
    טיפּ = "קסוו",
    path="/path/to/output.csv"
)

# שאַפֿן אַ דאַטן רערנ - ליניע
רערנ - ליניע = dsp.pipeline(
    נאָמען = "מיין_ריפּליין",
    מקורים=[דאַטאַ_מקור],
    פּראַסעסערז=[דאַטאַ_פּראַסעסער],
    זינקען = [דאַטן_זינק]
)

# לויפן די רערנ - ליניע
pipeline.run()

אין דעם בייַשפּיל, מיר דעפינירן אַ דאַטן מקור, אַ דאַטן פּראַסעסער און אַ דאַטן זינקען, און דעמאָלט שאַפֿן אַ דאַטן רערנ - ליניע וואָס קאַנעקץ די קאַמפּאָונאַנץ. דערנאָך לויפן די רערנ - ליניע מיט די 'לויפן ()' אופֿן.

**LangChain: א פראַמעוואָרק פֿאַר סקאַלאַבלע און ריזיליאַנט אַי סיסטעמען **

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

דאָ איז אַ ביישפּיל פון אַ פּשוט אַי סיסטעם געבויט מיט LangChain:

אַרייַנפיר לאַנגטשאַין ווי לק

# דעפינירן אַ מאָדעל
מאָדעל = lc.Model(
    נאָמען = "מיין_מאָדעל",
    טיפּ = "טראַנספאָרמער",
    path="/path/to/model"
)

# דעפינירן אַ פּינטלעך
prompt = lc.prompt(
    נאָמען = "מיין_פּראָמפּט",
    text="דאס איז אַ מוסטער פּינטלעך"
)

# שאַפֿן אַן אַי סיסטעם
אַי_סיסטעם = lc.AISystem(
    נאָמען = "מיין_אַי_סיסטעם",
    מאָדעל = מאָדעל,
    פּינטלעך = פּינטלעך
)

# לויפן די אַי סיסטעם
ai_system.run()

אין דעם בייַשפּיל, מיר דעפינירן אַ מאָדעל, אַ פּינטלעך, און דעמאָלט שאַפֿן אַן אַי סיסטעם וואָס קאַנעקץ די קאַמפּאָונאַנץ. דער אַי סיסטעם איז דאַן לויפן מיט די 'לויפן ()' אופֿן.

אָרקעסטרייטינג גרויס-סקאַלע LLM פּייפּליינז מיט DSPy און LangChain

צו אָרקעסטרירן גרויס-וואָג LLM פּייפּליינז מיט DSPy און LangChain, מיר קענען נוצן די פאלגענדע צוגאַנג:

  1. דעפינירן אַ דאַטן רערנ - ליניע ניצן DSPy וואָס קאַנעקץ קייפל דאַטן קוואלן, פּראַסעסערז און סינקס.
  2. דעפינירן אַן אַי סיסטעם ניצן LangChain וואָס קאַנעקץ קייפל מאָדעלס, פּראַמפּס און אַוטפּוץ.
  3. ניצן DSPy צו פירן די דאַטן רערנ - ליניע און LangChain צו פירן די אַי סיסטעם.
  4. ניצן אַ סקעדזשולער אַזאַ ווי Apache Airflow אָדער Kubernetes צו פּלאַן די דורכפירונג פון די דאַטן רערנ - ליניע און אַי סיסטעם.

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

אַרייַנפיר דספּי ווי דספּ
אַרייַנפיר לאַנגטשאַין ווי לק
אַרייַנפיר אַפּאַטשי_אַירפלאָוו ווי אַף

# דעפינירן אַ דאַטן רערנ - ליניע
data_pipeline = dsp.pipeline(
    נאָמען = "מיין_דאַטאַ_ריפּליין",
    קוואלן=[דספּ.מקור (נאָמען = "מיין_דאַטאַ_מקור", טיפּ = "קסוו", פּאַט = "/פּאַט / צו / דאַטן.קסוו")],
    פּראַסעסערז = [דספּ.פּראָסעססאָר(נאָמען = "מיין_דאַטאַ_פּראַסעסער", טיפּ = "פּאַנדאַס", func = לאַמבדאַ רענטגענ: קס.דראָפּנאַ ())],
    סינקס = [דספּ.סינק (נאָמען = "מיין_דאַטאַ_סינק", טיפּ = "קסוו", פּאַט = "/ דרך / צו / רעזולטאַט. קסוו")]
)

# דעפינירן אַן אַי סיסטעם
אַי_סיסטעם = lc.AISystem(
    נאָמען = "מיין_אַי_סיסטעם",
    מאָדעל = לק.מאָדעל (נאָמען = "מיין_מאָדעל", טיפּ = "טראַנספאָרמער", פּאַט = "/ דרך / צו / מאָדעל"),
    prompt=lc.prompt(נאָמען = "מיין_פּראָמפּט", טעקסט = "דאס איז אַ מוסטער פּינטלעך")
)

# פּלאַן די דורכפירונג פון די דאַטן רערנ - ליניע און אַי סיסטעם
af.schedule_task(
    task_id = "מיין_טאַסק",
    dag_id="my_dag",
    פּייפּליין = דאַטן_ריפּליין,
    סיסטעם = אַי_סיסטעם
)

אין דעם בייַשפּיל, מיר דעפינירן אַ דאַטן רערנ - ליניע און אַ אַי סיסטעם ניצן DSPy און LangChain, און דאַן פּלאַן די דורכפירונג פון די קאַמפּאָונאַנץ ניצן Apache Airflow.

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

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

  1. `dsp.pipeline(נאָמען = "מיין_פּיפּעלינע", קוואלן = [מקור], פּראַסעסערז = [פּראַסעסער], סינקס = [זינקען])"
  2. לק.מאָדעל (נאָמען = "מיין_מאָדעל", טיפּ = "טראַנספאָרמער", פּאַט = "/ דרך / צו / מאָדעל")
  3. lc.Prompt(נאָמען = "מיין_פּראָמפּט", טעקסט = "דאס איז אַ מוסטער פּינטלעך")
  4. דספּ.מקור (נאָמען = "מיין_דאַטאַ_מקור", טיפּ = "קסוו", פּאַט = "/פּאַט / צו / דאַטן.קסוו")
  5. דספּ.פּראָסעססאָר(נאָמען = "מיין_דאַטאַ_פּראַסעסער", טיפּ = "פּאַנדאַס", פאַנגק = לאַמבדאַ רענטגענ: קס.דראָפּנאַ ())
  6. דספּ.סינק(נאָמען = "מיין_דאַטאַ_סינק", טיפּ = "קסוו", פּאַט = "/פּאַט / צו/אָוטפּוט.קסוו")
  7. `lc.AISystem(נאָמען = "מיין_אַי_סיסטעם", מאָדעל = מאָדעל, פּינטלעך = פּינטלעך)
  8. af.schedule_task(task_id="my_task", dag_id="my_dag", pipeline=pipeline, system=system)
  9. dsp.run_pipeline(רערנ - ליניע)
  10. לק.רון_סיסטעם (סיסטעם)

וויזשוואַלאַזיישאַן

דאָ איז אַ וויזשוואַלאַזיישאַן פון די DSPy און LangChain פראַמעוואָרקס ניצן Chart.js:

{
  "type": "באַר",
  "דאַטן": {
    "לאַבעלס": ["DSPy", "LangChain"],
    "דאַטאַסעטס": [
      {
        "label": "פֿעיִקייטן",
        "דאַטן": [10, 15],
        "backgroundColor": [
          "rgba(255, 99, 132, 0.2)",
          "rgba(54, 162, 235, 0.2)"
        ],
        "borderColor": [
          "rgba(255, 99, 132, 1)",
          "רגבאַ(54, 162, 235, 1)"
        ],
        "באָרדערווידטה": 1
      }
    ]
  },
  "אָפּציעס": {}
}

די וויזשוואַלאַזיישאַן ווייזט די נומער פון פֿעיִקייטן אין DSPy און LangChain.

** מסקנא**

DSPy און LangChain זענען צוויי שטאַרק פראַמעוואָרקס וואָס געבן די בנין פון ריזיליאַנט און סקאַלאַבלע ווייכווארג סיסטעמען אין די עלטער פון אַי. דורך ניצן די פראַמעוואָרקס, דעוועלאָפּערס קענען מאַכן גרויס-וואָג LLM פּייפּליינז וואָס זענען גרינג צו טייַנען, סקאַלאַבלע און ריזיליאַנט צו פייליערז. מיט די הילף פון אָרקעסטראַטיאָן און אָטאַמיישאַן מכשירים אַזאַ ווי Apache Airflow און Kubernetes, דעוועלאָפּערס קענען פּלאַן די דורכפירונג פון די פּייפּליינז און סיסטעמען, וואָס מאכט עס גרינגער צו פירן קאָמפּלעקס אַי סיסטעמען.

צוקונפט אַרבעט

צוקונפֿט אַרבעט כולל:

  1. דעוועלאָפּינג מער פֿעיִקייטן פֿאַר DSPy און LangChain.
  2. ימפּרוווינג די פאָרשטעלונג און סקאַלאַביליטי פון DSPy און LangChain.
  3. דעוועלאָפּינג מער אָרקעסטראַטיאָן און אָטאַמיישאַן מכשירים פֿאַר DSPy און LangChain.
  4. קריייטינג מער וויזשוואַלאַזיישאַנז און דאַשבאָרדז פֿאַר DSPy און LangChain.

רעפערענצן

  1. DSPy דאַקיומענטיישאַן: https://dspy.readthedocs.io/en/latest/
  2. LangChain דאַקיומענטיישאַן: https://langchain.readthedocs.io/en/latest/
  3. אַפּאַטשי אַירפלאָוו דאַקיומענטיישאַן: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. Kubernetes דאַקיומענטיישאַן: https://kubernetes.io/docs/home/

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn