I-Orchestrating-Large-Scale LLM Pipelines nge-DSPy ne-LangChain ye-DevOps Ethuthukisiwe | B4N1

I-Orchestrating-Large-Scale LLM Pipelines nge-DSPy ne-LangChain ye-DevOps Ethuthukisiwe

3 months ago · b4n1 Tiempo de lectura: 3 min

Ihlela Amapayipi E-LLM Amakhulu nge-DSPy kanye ne-LangChain ye-DevOps Ethuthukisiwe

Isingeniso

Ukufika kwamamodeli olimi olukhulu (LLMs) kuguqule umkhakha we-Natural Language Processing (NLP) kanye ne-Artificial Intelligence (AI). Kodwa-ke, njengoba ubunkimbinkimbi nobungako bezinhlelo ezisekelwe ku-LLM bukhula, siyanda nesidingo samathuluzi okucula aqinile nasebenzayo kanye namathuluzi ezishintshayo. Kulesi sihloko, sizongena emhlabeni we-DSPy ne-LangChain, izinhlaka ezimbili ezinamandla ezivumela ukwakhiwa kwezinhlelo zesofthiwe eziqinile nezingalawuleki eminyakeni ye-AI.

Inselelo Yemibhobho Enkulu ye-LLM

Amapayipi amakhulu e-LLM afaka izingxenye eziningi, okuhlanganisa ukucutshungulwa kwangaphambili kwedatha, ukuqeqeshwa kwamamodeli, kanye nencazelo. Lawa mapayipi angaba yinkimbinkimbi, anokuncika okuningi nokusebenzisana phakathi kwezingxenye ezahlukene. Njengoba isikali sala mapayipi sikhula, kanjalo nengozi yamaphutha, ukubambezeleka, kanye nokuvinjelwa kwezinsiza kuyakhula.

Faka i-DSPy ne-LangChain

I-DSPy kanye ne-LangChain izinhlaka ezimbili ezihlose ukwenza lula ukucula nokuzenzakalela kwamapayipi amakhulu e-LLM. I-DSPy iwuhlaka olusekelwe ku-Python olunikeza indlela elula nephumelelayo yokwakha nokuphatha amapayipi edatha ayinkimbinkimbi, kuyilapho i-LangChain iwuhlaka oluvumela ukwakhiwa kwezinhlelo ze-AI ezingalawuleki futhi eziqinile.

I-DSPy: I-Python-based Framework for Data Pipelines

I-DSPy iwuhlaka olusekelwe kuPython olunikeza indlela elula nephumelelayo yokwakha nokuphatha amapayipi edatha ayinkimbinkimbi. Nge-DSPy, abathuthukisi bangakha amapayipi edatha angakala, aqinile, futhi kulula ukuwanakekela.

Nasi isibonelo sepayipi ledatha elilula elakhiwe nge-DSPy:

ngenisa i-dsp njenge-dsp


idatha_source = dsp.Source(
    igama="my_data_source",
    uhlobo="csv",
    path="/path/to/data.csv"
)

# Chaza iphrosesa yedatha
idatha_processor = dsp.Processor(
    igama="my_data_processor",
    type="pandas",
    func=lambda x: x.dropna()
)

# Chaza isinki yedatha
idatha_sink = dsp.Sink(
    igama="my_data_sink",
    uhlobo="csv",
    path="/path/to/output.csv"
)

# Dala ipayipi ledatha
iphayiphi = dsp.Pipeline(
    igama="ipayipi_lami",
    imithombo=[data_source],
    processors=[data_processor],
    usinki=[idatha_isinki]
)

# Qalisa ipayipi
pipeline.run()

Kulesi sibonelo, sichaza umthombo wedatha, iphrosesa yedatha, nesinki sedatha, bese sidala ipayipi ledatha elixhuma lezi zingxenye. Ipayipi libe selisetshenziswa kusetshenziswa indlela ethi run().

I-LangChain: Uhlaka Lwezinhlelo ze-AI ezi-Scalable neziqinile

I-LangChain iwuhlaka oluvumela ukwakhiwa kwezinhlelo ze-AI ezingalawuleki futhi eziqinile. Nge-LangChain, abathuthukisi bangakha amasistimu e-AI okulula ukuwagcina, ukukala, futhi akwazi ukumelana nokwehluleka.

Nasi isibonelo sohlelo lwe-AI olulula olwakhiwe nge-LangChain:

ngenisa i-langchain njenge-lc

# Chaza imodeli
imodeli = lc.Model(
    igama = "imodeli_yami",
    type="transformer",
    indlela="/indlela/kuya/imodeli"
)

# Chaza umyalo
ngokushesha = lc.Prompt(
    igama="my_prompt",
    text="Lena isampula yokwaziswa"
)

# Dala uhlelo lwe-AI
ai_system = lc.AISystem(
    igama="my_ai_system",
    imodeli=imodeli,
    ngokushesha=phuthuma
)

# Qalisa uhlelo lwe-AI
ai_system.run()

Kulesi sibonelo, sichaza imodeli, ukwaziswa, bese sakha uhlelo lwe-AI oluxhuma lezi zingxenye. Uhlelo lwe-AI lube selusetshenziswa kusetshenziswa indlela ethi run().

Ihlela Amapayipi E-LLM Amakhulu ane-DSPy ne-LangChain

Ukuhlela amapayipi amakhulu e-LLM nge-DSPy ne-LangChain, singasebenzisa le ndlela elandelayo:

  1. Chaza ipayipi ledatha usebenzisa i-DSPy exhuma imithombo eminingi yedatha, amaphrosesa, namasinki.
  2. Chaza isistimu ye-AI usebenzisa i-LangChain exhuma amamodeli amaningi, ukwaziswa, kanye nemiphumela.
  3. Sebenzisa i-DSPy ukuze uphathe umzila wedatha kanye ne-LangChain ukuze uphathe uhlelo lwe-AI.
  4. Sebenzisa isihleli esifana ne-Apache Airflow noma i-Kubernetes ukuze uhlele ukusebenza kwepayipi ledatha nohlelo lwe-AI.

Nasi isibonelo sombhalo we-orchestration olula osebenzisa i-DSPy ne-LangChain:

ngenisa i-dsp njenge-dsp
ngenisa i-langchain njenge-lc
ngenisa i-apache_airflow njenge-f

# Chaza ipayipi ledatha
idatha_pipeline = dsp.Pipeline(
    igama="my_data_pipeline",
    imithombo=[dsp.Source(igama="my_data_source", type="csv", path="/path/to/data.csv")],
    processors=[dsp.Processor(igama="my_data_processor", type="pandas", func=lambda x: x.dropna())],
    amasinki=[dsp.Sink(igama="my_data_sink", type="csv", path="/path/to/output.csv")]
)

# Chaza uhlelo lwe-AI
ai_system = lc.AISystem(
    igama="my_ai_system",
    imodeli=lc.Imodeli(igama="my_model", uhlobo="transformer", path="/indlela/iya/imodeli"),
    prompt=lc.Prompt(igama="my_prompt", text="Lena isampula yokwaziswa")
)

# Hlela ukwenziwa kwepayipi ledatha nohlelo lwe-AI
af.shedule_task(
    task_id="my_task",
    dag_id="my_dag",
    iphayiphi=ipayipi_ledatha,
    uhlelo=ai_system
)

Kulesi sibonelo, sichaza ipayipi ledatha kanye nesistimu ye-AI esebenzisa i-DSPy ne-LangChain, bese sihlela ukusebenza kwalezi zingxenye kusetshenziswa i-Apache Airflow.

Imiyalo/Amazwibela Aphezulu Okuyi-5-10

Nansi imiyalo/ amazwibela asetshenziswa kakhulu angu-5-10 e-DSPy ne-LangChain:

  1. dsp.Pipeline(igama="my_pipeline", sources=[source], processors=[processor], usinki=[usinki])
  2. lc.Model(igama="my_model", type="transformer", path="/path/to/model")
  3. lc.Prompt(igama="my_prompt", text="Lena isampula yokwaziswa")
  4. dsp.Source(igama="my_data_source", type="csv", path="/path/to/data.csv")
  5. dsp.Processor(igama="my_data_processor", type="pandas", func=lambda x: x.dropna())
  6. dsp.Sink(igama="my_data_sink", type="csv", path="/path/to/output.csv")
  7. lc.AISystem(igama="my_ai_system", model=model, prompt=prompt)
  8. af.schedule_task(task_id="my_task", dag_id="my_dag", pipeline=pipeline, system=system)
  9. dsp.run_pipeline(ipayipi)
  10. lc.run_system(uhlelo)

Ukubona

Nakhu ukubonwa kwezinhlaka ze-DSPy kanye ne-LangChain kusetshenziswa i-Chart.js:

{
  "type": "bar",
  "idatha": {
    "labels": ["DSPy", "LangChain"],
    "idathasethi": [
      {
        "label": "Izici",
        "idatha": [10, 15],
        "Umbala wangemuva": [
          "rgba(255, 99, 132, 0.2)",
          "rgba(54, 162, 235, 0.2)"
        ],
        "Umbala Womngcele": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)"
        ],
        "BorderWidth": 1
      }
    ]
  },
  "izinketho": {}
}

Lokhu kubukwa kukhombisa inani lezici ku-DSPy naku-LangChain.

Isiphetho

Sengiphetha, i-DSPy kanye ne-LangChain yizinhlaka ezimbili ezinamandla ezivumela ukwakhiwa kwezinhlelo zesofthiwe eziqinile nezingalawuleki eminyakeni yobudala ye-AI. Ngokusebenzisa lezi zinhlaka, abathuthukisi bangakha amapayipi amakhulu e-LLM okulula ukuwanakekela, ukunwebeka, futhi akwazi ukumelana nokwehluleka. Ngosizo lwamathuluzi okucula ne-automation afana ne-Apache Airflow ne-Kubernetes, abathuthukisi bangahlela ukukhishwa kwala mapayipi nezinhlelo, okwenza kube lula ukuphatha amasistimu e-AI ayinkimbinkimbi.

Umsebenzi Wesikhathi esizayo

Umsebenzi wesikhathi esizayo uhlanganisa:

  1. Ukuthuthukisa izici ezengeziwe ze-DSPy ne-LangChain.
  2. Ukwenza ngcono ukusebenza kanye nokulinganisa kwe-DSPy ne-LangChain.
  3. Ukuthuthukisa amathuluzi e-orchestration amaningi kanye ne-automation ye-DSPy ne-LangChain.
  4. Ukudala ukubonwa okwengeziwe namadeshibhodi e-DSPy ne-LangChain.

Izithenjwa

  1. Amadokhumenti e-DSPy: https://dspy.readthedocs.io/en/latest/
  2. Amadokhumenti e-LangChain: https://langchain.readthedocs.io/en/latest/
  3. Amadokhumenti e-Apache Airflow: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. Amadokhumenti e-Kubernetes: https://kubernetes.io/docs/home/

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn