Оркестринги қубурҳои миқёси LLM бо DSPy ва LangChain барои такмилёфтаи DevOps | B4N1

Оркестринги қубурҳои миқёси LLM бо DSPy ва LangChain барои такмилёфтаи DevOps

6 months ago · b4n1 Read time: 4 min

Ташкили қубурҳои миқёси LLM бо DSPy ва LangChain барои такмилёфтаи DevOps

Муқаддима

Пайдоиши моделҳои забонҳои калон (LLMs) дар соҳаи коркарди забони табиӣ (NLP) ва зеҳни сунъӣ (AI) инқилоберо ба вуҷуд овард. Бо вуҷуди ин, бо афзоиши мураккабӣ ва миқёси системаҳои LLM асосёфта, эҳтиёҷ ба асбобҳои мустаҳкам ва самараноки оркестрсозӣ ва автоматизатсия меафзояд. Дар ин мақола, мо ба ҷаҳони DSPy ва LangChain, ду чаҳорчӯбаи пуриқтидоре, ки имкон медиҳанд системаҳои нармафзори устувор ва миқёспазирро дар асри AI омӯзем.

** Мушкилоти қубурҳои миқёси калон LLM**

Қубурҳои миқёси калони LLM ҷузъҳои сершуморро дар бар мегиранд, аз ҷумла коркарди пешакии додаҳо, омӯзиши моделҳо ва хулосабарорӣ. Ин қубурҳо метавонанд мураккаб буда, вобастагӣ ва таъсири мутақобила байни ҷузъҳои гуногун дошта бошанд. Дар баробари зиёд шудани миқёси ин қубурҳо, хатари хатогиҳо, таъхирҳо ва маҳдудияти захираҳо зиёд мешавад.

DSPy ва LangChain-ро ворид кунед

DSPy ва LangChain ду чаҳорчӯба мебошанд, ки ҳадафи содда кардани оркестр ва автоматизатсияи қубурҳои бузурги LLM мебошанд. DSPy чаҳорчӯбаи ба Python асосёфта мебошад, ки роҳи содда ва муассири сохтан ва идоракунии лӯлаҳои мураккаби додаҳоро таъмин мекунад, дар ҳоле ки LangChain чаҳорчӯбаест, ки барои сохтани системаҳои миқёспазир ва устувори AI имкон медиҳад.

DSPy: Чаҳорчӯбаи ба Python асосёфта барои қубурҳои дода

DSPy чаҳорчӯбаи ба Python асосёфта мебошад, ки роҳи содда ва самараноки сохтан ва идоракунии лӯлаҳои мураккаби маълумотро таъмин мекунад. Бо DSPy, таҳиягарон метавонанд қубурҳои маълумотро созанд, ки миқёспазир, устувор ва нигоҳдорӣ осонанд.

Ин аст як мисоли лӯлаи оддии додаҳо, ки бо DSPy сохта шудааст: `` питон dspy-ро ҳамчун dsp ворид кунед

data_source = dsp.Source( ном = "манбаи_маълумоти_ман", type = "csv", path="/path/to/data.csv" )

Протсессори маълумотро муайян кунед

data_processor = dsp.Processor( ном = "протсессори_маълумоти_ман", навъи = "пандаҳо", func = lambda x: x.dropna() )

Анбори додаҳоро муайян кунед

data_sink = dsp.Sink ( ном = "маълумоти_ман", type = "csv", path="/path/to/output.csv" )

Эҷоди лӯлаи маълумот

қубур = dsp.Pipeline( ном = "қубури_ман", манбаъҳо = [маълумоти_манбаи], коркардкунандагон = [протсессори маълумот], ғарқшавӣ = [маълумот_ғунҷоиш] )

Қубурро иҷро кунед

pipeline.run()

Дар ин мисол, мо манбаи додаҳо, протсессори додаҳо ва анбори додаҳоро муайян мекунем ва сипас лӯлаи маълумотро месозем, ки ин ҷузъҳоро мепайвандад. Пас аз ин лӯла бо усули `run()` кор карда мешавад.

**LangChain: Чаҳорчӯба барои системаҳои миқёспазир ва устувори AI**

LangChain як чаҳорчӯбаест, ки барои сохтани системаҳои миқёспазир ва устувори AI имкон медиҳад. Бо LangChain, таҳиягарон метавонанд системаҳои AI-ро эҷод кунанд, ки нигоҳдорӣ осон, миқёспазир ва ба нокомиҳо тобоваранд.

Ин аст як мисоли системаи оддии AI, ки бо LangChain сохта шудааст:
`` питон
воридоти langchain ҳамчун lc

# Модели муайян кунед
модел = lc.Model(
    ном = "модели_ман",
    навъи = "трансформатор",
    роҳ="/роҳ/ба/модел"
)

# Пешниҳодро муайян кунед
фавр = lc.Prompt(
    ном = "пурсиши_ман",
    text="Ин як дархости намунавӣ аст"
)

# Системаи AI эҷод кунед
ai_system = lc.AISystem(
    ном = "системаи_и_ман",
    модел = модел,
    фавр = фаврӣ
)

# Системаи AI-ро иҷро кунед
ai_system.run()

Дар ин мисол, мо модел, фаврро муайян мекунем ва сипас системаи AI-ро месозем, ки ин ҷузъҳоро мепайвандад. Пас аз он системаи AI бо усули 'run()' иҷро карда мешавад.

Ташкили қубурҳои миқёси LLM бо DSPy ва LangChain

Барои ташкили қубурҳои бузурги LLM бо DSPy ва LangChain, мо метавонем равиши зеринро истифода барем:

  1. Бо истифода аз DSPy лӯлаи маълумотро муайян кунед, ки сарчашмаҳои сершумори додаҳо, протсессорҳо ва раковинаҳоро мепайвандад.
  2. Системаи AI-ро бо истифода аз LangChain муайян кунед, ки моделҳои сершумор, дархостҳо ва натиҷаҳоро мепайвандад.
  3. Барои идоракунии лӯлаи додаҳо DSPy ва LangChain -ро барои идоракунии системаи AI истифода баред.
  4. Барои ҷадвали иҷрои лӯлаи додаҳо ва системаи AI аз нақшакаш ба монанди Apache Airflow ё Kubernetes истифода баред.

Ин аст як мисоли скрипти оддии оркестр, ки DSPy ва LangChain -ро истифода мебарад: `` питон dspy-ро ҳамчун dsp ворид кунед воридоти langchain ҳамчун lc apache_airflow-ро ҳамчун af ворид кунед

Як лӯлаи маълумотро муайян кунед

data_pipeline = dsp.Pipeline( ном = "қубури_маълумоти_ман", сарчашмаҳо=[dsp.Сарчашма(ном="манбаи_маълумоти_манбаъ", навъи =="csv", роҳ="/path/to/data.csv")], коркардкунандагон=[dsp.Processor(ном=="processor_ma_data_processor", type="pandas", func=lambda x: x.dropna())], ғарқшавӣ = [dsp.Sink(ном = = "ман_маълумоти_танк", навъи = = "csv", роҳ = "/path/to/output.csv")] )

Системаи AI-ро муайян кунед

ai_system = lc.AISystem( ном = "системаи_и_ман", модел = lc.Модели (ном = "модели_ман", навъи = "трансформатор", роҳ = "/роҳ/ба/модел"), prompt=lc.Prompt(name="my_prompt", text="Ин як дархости намунавӣ аст") )

Нақшаи иҷрои лӯлаи додаҳо ва системаи AI

af.schedule_task( task_id="вазифаи_ман", dag_id="ман_дағ", қубур = қубури маълумот, система = ai_system )

Дар ин мисол, мо лӯлаи маълумот ва системаи AI-ро бо истифода аз DSPy ва LangChain муайян мекунем ва сипас иҷрои ин ҷузъҳоро бо истифода аз Apache Airflow ба нақша мегирем.

**Беҳтарин 5-10 фармонҳо/порчаҳои бештар истифодашаванда**

Инҳоянд 5-10 фармонҳои / пораҳои аз ҳама бештар истифодашаванда барои DSPy ва LangChain:

1. `dsp.Pipeline(ном="ман_қубур", манбаъҳо=[манбаъ], протсессорҳо=[протсессори], ғарқкунандаҳо=[ранг])`
2. `lc.Model(ном =="модели_ман", навъи="трансформатор", роҳ="/роҳ/ба/модел")`
3. `lc.Prompt(name="my_prompt", text="Ин як дархости намунавӣ аст")`
4. `dsp.Source(ном="манбаи_маълумоти_ман", навъи="csv", роҳ="/path/to/data.csv")`
5. `dsp.Processor(ном =="processor_ma_data_my", type="pandas", func=lambda x: x.dropna())`
6. `dsp.Sink(ном="маълумоти_маълумот, навъи = "csv", роҳ="/path/to/output.csv")`
7. `lc.AISystem(ном="my_ai_system", модел=модел, фавр=фаъол)`
8. `af.schedule_task(task_id="вазифаи_ман", dag_id="ман_даг", қубур=қубур, система=система)`
9. `dsp.run_pipeline(қубур)`
10. `lc.run_system(система)`

** Визуализатсия **

Ин аст визуализатсияи чаҳорчӯбаҳои DSPy ва LangChain бо истифода аз Chart.js:
``json
{
  "type": "бар",
  "маълумот": {
    "labels": ["DSPy", "LangChain"],
    "маҷмӯи додаҳо": [
      {
        "label": "Хусусиятҳо",
        "data": [10, 15],
        "backgroundColor": [
          "rgba(255, 99, 132, 0.2)",
          "rgba (54, 162, 235, 0.2)"
        ],
        "borderColor": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)"
        ],
        "BroderWidth": 1
      }
    ]
  },
  "Options": {}
}

Ин визуализатсия шумораи хусусиятҳоро дар DSPy ва LangChain нишон медиҳад.

Хулоса

DSPy ва LangChain ду чаҳорчӯбаи пурқуввате мебошанд, ки имкон медиҳанд системаҳои нармафзори устувор ва миқёспазирро дар синни AI эҷод кунанд. Бо истифода аз ин чаҳорчӯбаҳо, таҳиягарон метавонанд қубурҳои бузурги LLM эҷод кунанд, ки нигоҳдорӣ осон, миқёспазир ва ба нокомиҳо тобоваранд. Бо ёрии асбобҳои оркестрсозӣ ва автоматизатсия, аз қабили Apache Airflow ва Kubernetes, таҳиягарон метавонанд иҷрои ин қубурҳо ва системаҳоро ба нақша гиранд, ки идоракунии системаҳои мураккаби AI-ро осонтар кунад.

Кори оянда

Корҳои оянда дар бар мегиранд:

  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. Ҳуҷҷатҳои Apache Airflow: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. Ҳуҷҷатҳои Kubernetes: https://kubernetes.io/docs/home/

Have Questions?

Let's Talk

Contact me on LinkedIn