Hoʻonohonoho i nā paipu LLM Nui me DSPy a me LangChain no nā DevOps i hoʻomaikaʻi ʻia. | B4N1

Hoʻonohonoho i nā paipu LLM Nui me DSPy a me LangChain no nā DevOps i hoʻomaikaʻi ʻia.

6 months ago · b4n1 Read time: 6 min

Ka hoʻonohonoho ʻana i nā Pipeline LLM Nui me DSPy a me LangChain no nā DevOps i hoʻomaikaʻi ʻia

Hoʻolauna

ʻO ka hiki ʻana mai o nā Large Language Models (LLMs) i hoʻololi i ke kahua o ka Natural Language Processing (NLP) a me Artificial Intelligence (AI). Eia nō naʻe, i ka piʻi ʻana o ka paʻakikī a me ka nui o nā ʻōnaehana hoʻokumu ʻia LLM, pēlā nō ka pono o ka orchestration ikaika a maikaʻi hoʻi a me nā mea hana automation. Ma kēiaʻatikala, eʻimi mākou i ka honua o DSPy a me LangChain,ʻelua mau papa hana ikaika e hiki ai ke kūkulu i nā'ōnaehana polokalamu paʻa a hiki ke hoʻonui i ka makahiki o AI.

Ka Luʻi o nā LLM Pipeline Nui

Hoʻopili nā paipu LLM nui i nā ʻāpana he nui, me ka preprocessing data, ka hoʻomaʻamaʻa hoʻohālike, a me ka inference. Hiki ke paʻakikī kēia mau paipu, me nā hilinaʻi a me nā pilina ma waena o nā ʻāpana like ʻole. Ke piʻi aʻe nei ka nui o kēia mau paipu, piʻi ka pilikia o nā hewa, lohi, a me nā bottlenecks waiwai.

E komo i DSPy a me LangChain

ʻO DSPy a me LangChain nā papa hana ʻelua e manaʻo nei e maʻalahi i ka orchestration a me ka automation o nā paipu LLM nui. ʻO DSPy kahi papa hana Python e hāʻawi ana i kahi ala maʻalahi a maikaʻi hoʻi e kūkulu a mālama i nā pipeline data paʻakikī, ʻoiai ʻo LangChain kahi hana e hiki ai i ke kūkulu ʻana i nā ʻōnaehana AI scalable a paʻa.

DSPy: He Kaʻina Python-Based Framework for Data Pipelines

ʻO DSPy kahi papahana Python e hāʻawi i kahi ala maʻalahi a maikaʻi e kūkulu a mālama i nā pipeline data paʻakikī. Me DSPy, hiki i nā mea hoʻomohala ke hana i nā pipeline data i hiki ke scalable, resilient, a maʻalahi hoʻi e mālama.

Eia kahi laʻana o kahi pipeline data maʻalahi i kūkulu ʻia me DSPy:

lawe mai i ka dspy e like me dsp


ʻikepili_kumu = dsp.Source(
    name="my_data_source",
    ʻano = "csv",
    ala = "/path/to/data.csv"
)

# E wehewehe i kahi mea hana ʻikepili
ʻikepili_processor = dsp.Processor(
    inoa = "my_data_processor",
    type="pandas",
    func=lambda x: x.dropna()
)

# E wehewehe i kahi waihona ʻikepili
data_sink = dsp.Sink(
    inoa = "my_data_sink",
    ʻano = "csv",
    ala = "/path/to/output.csv"
)

# E hana i kahi pipeline data
pipeline = dsp.Pipeline(
    inoa="my_pipeline",
    kumu=[kumu_ʻikepili],
    nā mea hana=[data_processor],
    poho = [data_sink]
)

# Holo i ka paipu
pipeline.run()

Ma kēia hiʻohiʻona, wehewehe mākou i kahi kumu ʻikepili, kahi mea hoʻoheheʻe ʻikepili, a me kahi waihona ʻikepili, a laila hana i kahi pipeline ʻikepili e hoʻopili ai i kēia mau ʻāpana. Holo ka pipeline me ke ʻano run().

**LangChain: He Kiʻi no nā Pūnaehana AI hiki ke hoʻonui a paʻa **

ʻO LangChain kahi hoʻolālā e hiki ai ke kūkulu i nā ʻōnaehana AI hiki ke hoʻonui a paʻa. Me LangChain, hiki i nā mea hoʻomohala ke hana i nā ʻōnaehana AI maʻalahi e mālama, scalable, a kūpaʻa i nā hemahema.

Eia kekahi laʻana o kahi ʻōnaehana AI maʻalahi i kūkulu ʻia me LangChain:

lawe mai i ka langchain e like me lc

# E wehewehe i kahi hoʻohālike
kumu hoʻohālike = lc.Model(
    inoa = "my_model",
    type="transformer",
    ala = "/path/to/model"
)

# E wehewehe i kahi wikiwiki
wikiwiki = lc.
    inoa = "my_prompt",
    text="He hōʻailona hōʻailona kēia"
)

# Hana i kahi ʻōnaehana AI
ai_system = lc.AISystem(
    inoa = "my_ai_system",
    model=model,
    hoʻokēʻai=koi
)

# Holo i ka ʻōnaehana AI
ai_system.run()

Ma kēia laʻana, wehewehe mākou i kahi hiʻohiʻona, kahi wikiwiki, a laila hana i kahi ʻōnaehana AI e hoʻopili i kēia mau ʻāpana. Holo ka ʻōnaehana AI me ke ʻano run().

Ka Hoʻonohonoho ʻana i nā Paipa LLM Nui me DSPy a me LangChain

No ka hoʻonohonoho ʻana i nā paipu LLM nui me DSPy a me LangChain, hiki iā mākou ke hoʻohana i kēia ala:

  1. E wehewehe i kahi paipu ikepili me ka hoʻohana ʻana i ka DSPy e hoʻopili ana i nā kumu ʻikepili he nui, nā mea hana, a me nā poho.
  2. E wehewehe i kahi ʻōnaehana AI me ka hoʻohana ʻana i ka LangChain e hoʻopili ana i nā hiʻohiʻona he nui, nā koi, a me nā huahana.
  3. E hoʻohana iā DSPy e hoʻokele i ka pipeline data a me LangChain e hoʻokele i ka ʻōnaehana AI.
  4. E hoʻohana i ka mea hoʻonohonoho e like me Apache Airflow a i ʻole Kubernetes e hoʻonohonoho i ka hoʻokō ʻana i ka pipeline data a me ka ʻōnaehana AI.

Eia kekahi laʻana o kahi palapala hoʻokani maʻalahi e hoʻohana ana iā DSPy a me LangChain:

lawe mai i ka dspy e like me dsp
lawe mai i ka langchain e like me lc
lawe mai i ka apache_airflow e like me af

# E wehewehe i kahi pipeline data
ʻikepili_pipeline = dsp.Pipeline(
    inoa = "my_data_pipeline",
    kumu=[dsp.Source(inoa="my_data_source", type="csv", ala="/path/to/data.csv")],
    nā mea hana=[dsp.Processor(inoa="my_data_processor", type="pandas", func=lambda x: x.dropna())],
    sinks=[dsp.Sink(name="my_data_sink", type="csv", ala="/path/to/output.csv")]
)

# E wehewehe i kahi ʻōnaehana AI
ai_system = lc.AISystem(
    inoa = "my_ai_system",
    model=lc.Model(name="my_model", type="transformer", ala="/path/to/model"),
    prompt=lc.Prompt(inoa = "my_prompt", kikokikona = "He laʻana kaha kēia")
)

# Hoʻonohonoho i ka hoʻokō ʻana i ka pipeline data a me ka ʻōnaehana AI
af.schedule_task(
    task_id="my_task",
    dag_id="my_dag",
    pipeline=ʻikepili_pipeline,
    ʻōnaehana=ai_system
)

Ma kēia hiʻohiʻona, wehewehe mākou i kahi pipeline data a me kahi ʻōnaehana AI e hoʻohana ana iā DSPy a me LangChain, a laila hoʻonohonoho i ka hoʻokō ʻana i kēia mau ʻāpana me ka Apache Airflow.

** 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/nā ʻāpana**

Eia ka 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/snippets no DSPy a me LangChain:

  1. dsp.Pipeline(inoa = "my_pipeline", nā kumu=[kumu], nā mea hana=[processor], sinks=[sink])
  2. lc.Model(inoa="my_model", type="transformer", ala="/path/to/model")
  3. lc.Prompt(inoa = "my_prompt", kikokikona = "He laʻana kēia")
  4. dsp.Source(inoa="my_data_source", type="csv", ala="/path/to/data.csv")
  5. dsp.Processor(inoa="my_data_processor", type="pandas", func=lambda x: x.dropna())
  6. dsp.Sink(inoa="my_data_sink", type="csv", ala="/path/to/output.csv")
  7. lc.AISystem(inoa = "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(pipeline)
  10. lc.run_system(system)

Hōʻikeʻike

Eia kahi hiʻohiʻona o ka DSPy a me LangChain frameworks me ka hoʻohana ʻana iā Chart.js:

{
  "type": "pā",
  "ʻikepili": {
    "labels": ["DSPy", "LangChain"],
    "mau ʻikepili": [
      {
        "label": "Nā hiʻohiʻona",
        "ʻikepili": [10, 15],
        "ʻulaʻula": [
          "rgba(255, 99, 132, 0.2)",
          "rgba(54, 162, 235, 0.2)"
        ],
        "BorderColor": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)"
        ],
        "BorderWidth": 1
      }
    ]
  },
  "koho": {}
}

Hōʻike kēia hiʻohiʻona i ka helu o nā hiʻohiʻona ma DSPy a me LangChain.

Hoʻoholo

ʻO DSPy a me LangChain ʻelua mau papa hana ikaika e hiki ai ke kūkulu i nā ʻōnaehana polokalamu paʻa a hiki ke hoʻonui ʻia i ka makahiki AI. Ma ka hoʻohana ʻana i kēia mau papa hana, hiki i nā mea hoʻomohala ke hana i nā paipu LLM nui i maʻalahi e mālama, scalable, a kūpaʻa i nā hemahema. Me ke kōkua o ka orchestration a me nā mea hana automation e like me Apache Airflow a me Kubernetes, hiki i nā mea hoʻomohala ke hoʻonohonoho i ka hoʻokō ʻana i kēia mau pipelines a me nā ʻōnaehana, e maʻalahi ai ka hoʻokele ʻana i nā ʻōnaehana AI paʻakikī.

Ka hana e hiki mai ana

Loaʻa nā hana e hiki mai ana:

  1. Hoʻomohala i nā hiʻohiʻona hou aku no DSPy a me LangChain.
  2. Hoʻonui i ka hana a me ka scalability o DSPy a me LangChain.
  3. Ke hoʻomohala nei i nā mea hoʻokani a me nā mea hana automation no DSPy a me LangChain.
  4. Ke hana ʻana i nā hiʻohiʻona hou aʻe a me nā dashboards no DSPy a me LangChain.

References

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

Have Questions?

Let's Talk

Contact me on LinkedIn