Ukucwangcisa iMibhobho yeLLM eMikhulu eneDSPy kunye neLangChain ukwenzela uPhuculo lweDevOps | B4N1

Ukucwangcisa iMibhobho yeLLM eMikhulu eneDSPy kunye neLangChain ukwenzela uPhuculo lweDevOps

3 months ago · b4n1 Read time: 3 min

Ukucwangcisa iMibhobho yeLLM eMikhulu eneDSPy kunye neLangChain yeeDevOps eziPhuculweyo

Intshayelelo

Ukufika kweMifuziselo yeeLwimi ezinkulu (LLMs) kuguqule ummandla weNatural Language Processing (NLP) kunye neArtificial Intelligence (AI). Nangona kunjalo, njengoko ukuntsonkotha kunye nobungakanani beenkqubo ezisekwe kwi-LLM zisanda, kunjalo nesidingo se-orchest eyomeleleyo nesebenzayo kunye nezixhobo ezizenzekelayo. Kweli nqaku, siya kukhangela kwihlabathi le-DSPy kunye neLangChain, izikhokelo ezibini ezinamandla ezenza ukuba kwakhiwe iinkqubo zesoftware ezinokuqina kunye ne-scalable yobudala be-AI.

Ucelomngeni lweMibhobho yeLLM eMikhulu

Imibhobho emikhulu ye-LLM ibandakanya amacandelo amaninzi, kubandakanywa ukusetyenzwa kwangaphambili kwedatha, uqeqesho lwemodeli, kunye nokuthelekelela. Le mibhobho ingaba nzima, kunye nokuxhomekeka okuninzi kunye nokusebenzisana phakathi kwamacandelo ahlukeneyo. Njengoko isikali sale mibhobho sisanda, ngokunjalo nomngcipheko weempazamo, ukulibaziseka, kunye nemiqobo yemithombo iya ikhula.

Faka iDSPy kunye neLangChain

I-DSPy kunye neLangChain zizicwangciso-sikhokelo ezibini ezijolise ekwenzeni lula i-orchestration kunye ne-automation yemibhobho emikhulu ye-LLM. I-DSPy yinkqubo-sikhokelo esekelwe kwiPython ebonelela ngendlela elula nesebenzayo yokwakha nokulawula imibhobho yedatha eyinkimbinkimbi, ngelixa i-LangChain iyisakhelo esenza ukuba ukwakhiwa kweenkqubo ze-AI ezinokunyuka kunye nokuqina.

I-DSPy: Isakhelo esiSekwe kwiPython seMibhobho yeDatha

I-DSPy yinkqubo-sikhokelo esekwe kwiPython ebonelela ngendlela elula nesebenzayo yokwakha nokulawula imibhobho yedatha entsonkothileyo. Nge-DSPy, abaphuhlisi banokwenza imibhobho yedatha enokunyuka, eyomeleleyo, kwaye kulula ukuyigcina.

Nanku umzekelo wombhobho wedatha olula owakhiwe ngeDSPy:

yokungenisa dSpy njenge dsp


idatha_source = dsp.Source(
    igama="umthombo_wedatha_yam",
    uhlobo="csv",
    indlela="/indlela/ye/data.csv"
)

# Chaza iprosesa yedatha
data_prosesa = dsp.Processor(
    igama="my_data_prosesa",
    uhlobo = "ipanda",
    func=lambda x: x.dropna()
)

# Chaza isinki yedatha
data_sink = dsp.Sink(
    igama="my_data_sink",
    uhlobo="csv",
    indlela="/indlela/ukuya/imveliso.csv"
)

# Yenza umbhobho wedatha
umbhobho = dsp.Pipeline(
    igama = "umbhobho_wam",
    imithombo=[data_source],
    abaqhubekekisi=[data_prosesa],
    izinki=[idatha_isinki]
)

# Qhuba umbhobho
pipeline.run()

Kulo mzekelo, sichaza umthombo wedatha, iprosesa yedatha, kunye nesinki yedatha, kwaye emva koko wenze umbhobho wedatha odibanisa la macandelo. Umbhobho ke uqhutywa kusetyenziswa ukuqhuba() indlela.

LangChain: Isakhelo seNkqubo ye-AI eScalable kunye neZimeleyo

I-LangChain yinkqubo-sikhokelo eyenza ukwakhiwa kweenkqubo ze-AI ezinokunyuka kunye nokuqina. NgeLangChain, abaphuhlisi banokudala iinkqubo ze-AI ekulula ukuzigcina, ukuhla, kunye nokumelana nokungaphumeleli.

Nanku umzekelo wenkqubo ye-AI elula eyakhiwe ngeLangChain:

ngenisa i-langchain njenge-lc

# Chaza imodeli
imodeli = lc.Model(
    igama = "imodeli_yam",
    uhlobo="umguquleli",
    indlela="/indlela/ukuya/imodeli"
)

# Chaza umyalezo
ngokukhawuleza = lc.Prompt(
    igama = "umyalelo_wam",
    text="Lo ngumzekelo womyalelo"
)

# Yenza inkqubo ye-AI
ai_system = lc.AISystem(
    igama = "my_ai_system",
    imodeli=imodeli,
    ngokukhawuleza=ukukhawuleza
)

# Sebenzisa inkqubo ye-AI
ai_system.run()

Kulo mzekelo, sichaza imodeli, i-prompt, kwaye emva koko udale inkqubo ye-AI edibanisa la macandelo. Inkqubo ye AI isetyenziswa ke ngoku sebenzisa indlela sebenzisa ().

Ukucwangcisa iMibhobho yeLLM eMikhulu eneDSPy kunye neLangChain

Ukucwangcisa imibhobho emikhulu yeLLM ngeDSPy kunye neLangChain, sinokusebenzisa le ndlela ilandelayo:

  1. Chaza umbhobho wedatha usebenzisa i-DSPy edibanisa imithombo yedatha emininzi, iiprosesa, kunye neesinki.
  2. Chaza inkqubo ye-AI usebenzisa iLangChain edibanisa iimodeli ezininzi, i-prompts, kunye neziphumo.
  3. Sebenzisa i-DSPy ukulawula umbhobho wedatha kunye neLangChain ukulawula inkqubo ye-AI.
  4. Sebenzisa umcwangcisi onjenge-Apache Airflow okanye i-Kubernetes ukucwangcisa ukuphunyezwa kombhobho wedatha kunye nenkqubo ye-AI.

Nanku umzekelo weskripthi se-orchestration esilula esebenzisa i-DSPy kunye neLangChain:

yokungenisa dSpy njenge dsp
ngenisa i-langchain njenge-lc
ngenisa apache_airflow njenge af

# Chaza umbhobho wedatha
data_pipeline = dsp.Pipeline(
    igama="my_data_pipeline",
    imithombo=[dsp.Source(igama="my_data_source", type="csv", path="/path/to/data.csv")],
    abaqhubekekisi=[dsp.Processor(igama="my_data_processor", type="pandas", func=lambda x: x.dropna())],
    izinki=[dsp.Sink(igama="my_data_sink", type="csv", path="/path/to/output.csv")]
)

# Chaza inkqubo ye-AI
ai_system = lc.AISystem(
    igama = "my_ai_system",
    imodeli=lc.Imodeli(igama="my_model", uhlobo="umguquleli", indlela="/indlela/ukuya/umzekelo"),
    iprompt=lc.Prompt(igama="my_prompt", text="Lo ngumzekelo wesampulu")
)

# Cwangcisa ukuphunyezwa kombhobho wedatha kunye nenkqubo ye-AI
af.schedule_task(
    task_id="my_task",
    dag_id="my_dag",
    umbhobho=umbhobho_wedatha,
    inkqubo=ii_inkqubo
)

Kulo mzekelo, sichaza umbhobho wedatha kunye nenkqubo ye-AI usebenzisa i-DSPy kunye neLangChain, kwaye emva koko ucwangcise ukuphunyezwa kwala macandelo usebenzisa i-Apache Airflow.

Ephezulu 5-10 Eyeyona Isetyenziswayo Imiyalelo/iziqwengana

Nantsi eyona miyalelo/iziqwengana eziphezulu ezi-5-10 ze-DSPy kunye neLangChain:

  1. dsp.Pipeline(igama="my_pipeline", imithombo=[umthombo], abaqhubekekisi=[prosesa], izinki=[isinki])
  2. lc.Model(igama="my_model", type="transformer", indlela="/indlela/ukuya/imodeli")
  3. lc.Prompt(igama="my_prompt", okubhaliweyo="Lo ngumzekelo wesampulu")
  4. dsp.Source(igama="my_data_source", type="csv", path="/path/to/data.csv")
  5. dsp.Processor(igama="my_data_processor", uhlobo="pandas", func=lambda x: x.dropna())
  6. dsp.Sink(igama="my_data_sink", uhlobo="csv", path="/path/to/output.csv")
  7. lc.AISystem(igama="my_ai_system", imodeli=imodeli, iprompt=prompt)
  8. af.schedule_task(task_id="my_task", dag_id="my_dag", umbhobho=umbhobho, inkqubo=inkqubo)
  9. dsp.run_pipeline(umbhobho)
  10. lc.run_system(inkqubo)

Umbono

Nantsi imbonakalo ye-DSPy kunye neLangChain yesikhokelo usebenzisa iChart.js:

{
  "type": "bar",
  "idatha": {
    "labels": ["DSPy", "LangChain"],
    "iiseti zedatha": [
      {
        "label": "Iimpawu",
        "idatha": [10, 15],
        "umbala ongasemva": [
          "rgba(255, 99, 132, 0.2)",
          "rgba(54, 162, 235, 0.2)"
        ],
        "Umbala womda": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)"
        ],
        "BorderWidth": 1
      }
    ]
  },
  "iinketho": {}
}

Lo mboniso ubonisa inani leempawu kwi-DSPy kunye neLangChain.

Isiphelo

Ukuqukumbela, i-DSPy kunye neLangChain zizicwangciso-sikhokelo ezibini ezinamandla ezenza ukuba ukwakhiwa kweenkqubo zesofthiwe ezizinzileyo kunye nezinokutshatyalaliswa kwixesha le-AI. Ngokusebenzisa ezi zikhokelo, abaphuhlisi banokudala imibhobho emikhulu ye-LLM ekulula ukuyigcina, ukukala, kunye nokumelana nokusilela. Ngoncedo lwe-orchestration kunye nezixhobo ezizenzekelayo ezifana ne-Apache Airflow kunye ne-Kubernetes, abaphuhlisi banokucwangcisa ukuphunyezwa kwale mibhobho kunye neenkqubo, okwenza kube lula ukulawula iinkqubo ze-AI ezinzima.

Umsebenzi wexesha elizayo

Umsebenzi wexesha elizayo ubandakanya:

  1. Ukuphuhlisa iimpawu ezininzi ze-DSPy kunye neLangChain.
  2. Ukuphucula ukusebenza kunye nokulinganisa kwe-DSPy kunye neLangChain.
  3. Ukuphuhlisa i-orchestration kunye nezixhobo ezizenzekelayo ze-DSPy kunye neLangChain.
  4. Ukudala ukubonwa okungaphezulu kunye needeshibhodi ze-DSPy kunye neLangChain.

IiReferensi

  1. Amaxwebhu eDSPy: https://dspy.readthedocs.io/en/latest/
  2. Amaxwebhu eLangChain: https://langchain.readthedocs.io/en/latest/
  3. Amaxwebhu eApache Airflow: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. Amaxwebhu eKubernetes: https://kubernetes.io/docs/home/

Have Questions?

Let's Talk

Contact me on LinkedIn