Зур масштаблы LLM торбаларын DSPy һәм LangChain белән яхшыртылган DevOps өчен оркестрлау | B4N1

Зур масштаблы LLM торбаларын DSPy һәм LangChain белән яхшыртылган DevOps өчен оркестрлау

6 months ago · b4n1 Read time: 5 min

Зур масштаблы LLM торбаларын DSPy һәм LangChain белән яхшыртылган DevOps өчен оркестрлау

Кереш

Зур тел модельләренең (LLM) барлыкка килүе табигый тел эшкәртү (NLP) һәм ясалма интеллект (AI) өлкәсендә революция ясады. Ләкин, LLM нигезендәге системаларның катлаулылыгы һәм масштабы арта барган саен, нык һәм эффектив оркестр һәм автоматлаштыру коралларына ихтыяҗ арта. Бу мәкаләдә без DSPy һәм LangChain дөньясына керербез, ЯИ чорында ныклы һәм масштаблы программа системаларын төзергә мөмкинлек бирүче ике көчле рамка.

Зур масштаблы LLM торбаларының проблемасы

Зур масштаблы LLM торба үткәргечләре берничә компонентны үз эченә ала, шул исәптән мәгълүматны эшкәртү, модель тренировкасы, инференция. Бу торбалар катлаулы булырга мөмкин, күп бәйләнешләр һәм төрле компонентлар арасындагы үзара бәйләнеш. Бу торба үткәргечләренең масштабы арта барган саен, хаталар, тоткарлыклар һәм ресурслар комачаулый.

DSPy һәм LangChain кертегез

DSPy һәм LangChain - зур масштаблы LLM торбаларының оркестрын һәм автоматизациясен гадиләштерүне максат итеп куйган ике нигез. DSPy - Python нигезендә, катлаулы мәгълүмат үткәргечләрен төзү һәм идарә итүнең гади һәм эффектив ысулын тәкъдим итә, LangChain - масштаблы һәм чыдам AI системаларын төзергә мөмкинлек бирә торган база.

DSPy: Мәгълүмат торбалары өчен Питонга нигезләнгән нигез

DSPy - Python нигезендәге база, ул катлаулы мәгълүмат үткәргечләрен төзү һәм идарә итүнең гади һәм эффектив ысулын тәкъдим итә. DSPy ярдәмендә, уйлап табучылар масштаблы, чыдам һәм саклау җиңел булган мәгълүмат үткәргечләрен ясый ала.

Менә DSPy белән төзелгән гади мәгълүмат үткәргеченең мисалы: "питон dspy импорт

data_source = dsp.Source ( исем = "my_data_source", тип = "csv", path = "/ path / to / data.csv" )

Мәгълүмат процессорын билгеләгез

data_processor = dsp.Процессор ( исем = "my_data_processor", тип = "панда", функция = ламбда х: х.дропна () )

Мәгълүмат чокырын билгеләгез

data_sink = dsp.Sink ( исем = "my_data_sink", тип = "csv", path = "/ path / to / output.csv" )

Мәгълүмат үткәргече төзегез

торба = dsp. торба ( исем = "my_pipeline", чыганаклар = [мәгълүмат_ ресурс], процессорлар = [data_processor], резинкалар = [data_sink] )

Бору торбасын эшләгез

pipeline.run () " Бу мисалда без мәгълүмат чыганагын, мәгълүмат процессорын һәм мәгълүмат чокырын билгелибез, аннары бу компонентларны тоташтыручы мәгълүмат үткәргече ясыйбыз. Аннары торба "run ()" ысулы ярдәмендә эшләнә.

LangChain: масштаблы һәм чыдам AI системалары өчен нигез

LangChain - масштаблы һәм чыдам AI системаларын төзергә мөмкинлек бирүче база. LangChain ярдәмендә, уйлап табучылар җиңел, масштаблы һәм уңышсызлыкларга чыдам AI системаларын булдыра алалар.

LangChain белән төзелгән гади AI системасының мисалы: "питон Lcchain импорт

Модельне билгеләгез

модель = lc.Модель ( исем = "my_model", тип = "трансформатор", юл = "/ юл / юл / модель" )

Сорауны билгеләгез

сорау = lc.Prompt ( исем = "my_prompt", text = "Бу үрнәк сорау" )

ЯИ системасын булдыру

ai_system = lc.AISystem ( исем = "my_ai_system", модель = модель, сорау = сорау )

ЯИ системасын эшләгез

ai_system.run () " Бу мисалда без модельне, пропаганданы билгелибез, аннары бу компонентларны тоташтыручы ЯИ системасын булдырабыз. Аннары AI системасы "run ()" ысулы ярдәмендә эшләнә.

DSPy һәм LangChain белән Зур масштаблы LLM торбаларын оркестрлау

DSPy һәм LangChain белән зур масштаблы LLM торбаларын оркестрлау өчен без түбәндәге ысулны куллана алабыз:

  1. Берничә мәгълүмат чыганакларын, процессорларны һәм линкларны тоташтыручы DSPy ярдәмендә мәгълүмат үткәргечне билгеләгез.
  2. LangChain ярдәмендә AI системасын билгеләгез, ул берничә модельне, тәкъдимнәрне һәм нәтиҗәләрне тоташтыра.
  3. Мәгълүмат системасын идарә итү өчен DSPy һәм AI системасы белән идарә итү өчен LangChain кулланыгыз.
  4. Мәгълүмати торба һәм ЯИ системасын башкаруны раслау өчен Apache Airflow яки Kubernetes кебек графикны кулланыгыз.

Менә DSPy һәм LangChain кулланган гади оркестр сценарийының мисалы: "питон dspy импорт Lcchain импорт apache_airflow аф

Мәгълүмат үткәргечне билгеләгез

data_pipeline = dsp.Pipeline ( исем = "my_data_pipeline", чыганаклар = [dsp.Source (исем = "my_data_source", тип = "csv", юл = "/ юл / to / data.csv")], процессорлар = [dsp.Процессор (исем = "my_data_processor", тип = "панда", функция = ламбда x: x.dropna ())], линкалар = [dsp.Sink (исем = "my_data_sink", тип = "csv", юл = "/ юл / to / output.csv")] )

ЯИ системасын билгеләгез

ai_system = lc.AISystem ( исем = "my_ai_system", модель = lc.Модель (исем = "my_model", тип = "трансформатор", юл = "/ юл / to / модель"), сорау = lc.Prompt (исем = "my_prompt", текст = "Бу үрнәк сорау") )

Мәгълүмат үткәргеч һәм ЯИ системасын башкаруны раслагыз

af.schedule_task ( task_id = "my_task", dag_id = "my_dag", торба = мәгълүмат_ торба, система = ai_system ) " Бу мисалда без DSPy һәм LangChain ярдәмендә мәгълүмат үткәргечен һәм AI системасын билгелибез, аннары Apache Airflow ярдәмендә бу компонентларның үтәлешен раслыйбыз.

Иң күп кулланылган командалар / фрагментлар

Менә DSPy һәм LangChain өчен иң күп кулланылган 5-10 командалар / фрагментлар:

  1. "lc.Model (исем =" my_model ", тип =" трансформатор ", юл =" / юл / юл / модель ")"
  2. "Lc.Prompt (name =" my_prompt ", text =" Бу үрнәк сорау ")"
  3. "dsp.Source (name =" my_data_source ", type =" csv ", path =" / path / to / data.csv ")"
  4. "dsp.Процессор (исем =" my_data_processor ", тип =" панда ", функция = ламбда x: x.dropna ())"
  5. "dsp.Sink (name =" my_data_sink ", type =" csv ", path =" / path / to / output.csv ")"
  6. "lc.AISystem (исем =" my_ai_system ", модель = модель, сорау = сорау)"
  7. "af.schedule_task (task_id =" my_task ", dag_id =" my_dag ", торба = торба, система = система)"
  8. "Dsp.run_pipeline (торба)"
  9. "Lc.run_system (система)"

Визуализация

Менә DSPy һәм LangChain каркасларын Chart.js кулланып визуализацияләү: "json { "тип": "бар", "мәгълүмат": { "ярлыклар": ["DSPy", "LangChain"], "мәгълүматлар базасы": [ { "ярлык": "Характеристикалар", "мәгълүмат": [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)" ], "чик киңлеге": 1 } ] }, "параметрлар": {} } " Бу визуализация DSPy һәм LangChain үзенчәлекләренең санын күрсәтә.

Йомгаклау

DSPy һәм LangChain - ЯИ чорында ныклы һәм масштаблы программа системаларын төзергә мөмкинлек бирүче ике көчле рамка. Бу рамкаларны кулланып, уйлап табучылар зур масштаблы LLM торба үткәрә алалар, аларны саклау җиңел, масштаблы һәм уңышсызлыкларга чыдам. Apache Airflow һәм Кубернетес кебек оркестр һәм автоматлаштыру кораллары ярдәмендә уйлап табучылар бу торба һәм системаларның үтәлешен раслый алалар, катлаулы 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 һава агымы документлары: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. Кубернетес документлары: https://kubernetes.io/docs/home/

Have Questions?

Let's Talk

Contact me on LinkedIn