Стварыце канвеер DSPy | B4N1

Стварыце канвеер DSPy

3 months ago · b4n1 Read time: 3 min

Аркестрацыя дастаўкі праграмнага забеспячэння на базе штучнага інтэлекту з дапамогай DSPy і LangChain: тэхнічнае кіраўніцтва па аўтаматызаваных каналах дастаўкі праграмнага забеспячэння

Уводзіны

Рэвалюцыя праграмна вызначанага транспартнага сродку (SDV) трансфармуе аўтамабільную прамысловасць з абяцаннем павышэння эфектыўнасці, зніжэння выдаткаў і павышэння прадукцыйнасці. Аднак складанасць сістэм SDV патрабуе больш складанага падыходу да пастаўкі праграмнага забеспячэння, такога, які выкарыстоўвае магчымасці штучнага інтэлекту (AI) і аўтаматызацыі. У гэтым артыкуле мы вывучым, як арганізаваць дастаўку праграмнага забеспячэння, кіраванага AI, з дапамогай DSPy і LangChain, дзвюх перадавых тэхналогій, якія дазваляюць інтэграваць агенты AI, рэляцыйныя абстрактныя графы (RAG) і вялікія моўныя мадэлі (LLM) з інструментамі аўтаматызацыі DevOps.

Праблемы пастаўкі праграмнага забеспячэння ў SDVs

Аўтамабілі з праграмным забеспячэннем абапіраюцца на складаную сетку ўзаемазвязаных сістэм, уключаючы аўтаномнае кіраванне, інфармацыйна-забаўляльную сістэму і кіраванне аўтамабілем. Велізарны маштаб і складанасць гэтых сістэм робяць традыцыйныя метады дастаўкі праграмнага забеспячэння неадэкватнымі. Праблемы ўключаюць:

  • Маштабаванасць: сістэмы SDV патрабуюць хуткага разгортвання і маштабавання для задавальнення зменлівых патрабаванняў карыстальнікаў.
  • Прадукцыйнасць: Пастаўка праграмнага забеспячэння павінна забяспечваць аптымальную прадукцыйнасць, надзейнасць і бяспеку.
  • Складанасць: сістэмы SDV ўключаюць мноства зацікаўленых бакоў, тэхналогій і працэсаў, што ўскладняе кіраванне і каардынацыю пастаўкі праграмнага забеспячэння.

Прадстаўляем DSPy і LangChain

DSPy і LangChain - гэта дзве інавацыйныя тэхналогіі, якія вырашаюць праблемы дастаўкі праграмнага забеспячэння ў SDV. DSPy - гэта фрэймворк на аснове Python для стварэння і разгортвання канвеераў дастаўкі праграмнага забеспячэння на аснове штучнага інтэлекту, а LangChain - гэта бібліятэка на аснове Rust для стварэння і кіравання LLM і RAG.

DSPy: фрэймворк на аснове Python для дастаўкі праграмнага забеспячэння з дапамогай штучнага інтэлекту

DSPy прадастаўляе поўны набор інструментаў і бібліятэк для стварэння і разгортвання канвеераў дастаўкі праграмнага забеспячэння на базе штучнага інтэлекту. Яго асноўныя характарыстыкі ўключаюць у сябе:

  • Аркестрацыя канвеера: DSPy дазваляе ствараць і кіраваць складанымі канвеерамі дастаўкі праграмнага забеспячэння, уключаючы задачы, працоўныя працэсы і залежнасці.
  • Інтэграцыя AI: DSPy забяспечвае бясшвоўную інтэграцыю з папулярнымі фрэймворкамі AI, такімі як TensorFlow і PyTorch.
  • Аўтаматызацыя DevOps: DSPy падтрымлівае інтэграцыю з папулярнымі інструментамі DevOps, такімі як Jenkins і GitLab.

LangChain: Бібліятэка на аснове Rust для магістраў і RAG

LangChain - гэта бібліятэка на аснове Rust для стварэння і кіравання LLM і RAG. Яго асноўныя характарыстыкі ўключаюць у сябе:

  • Інтэграцыя LLM: LangChain забяспечвае бясшвоўную інтэграцыю з папулярнымі LLM, такімі як BERT і RoBERTa.
  • Кіраванне RAG: LangChain дазваляе ствараць і кіраваць RAG, якія забяспечваюць структураванае прадстаўленне графаў ведаў.
  • Развагі AI: LangChain падтрымлівае разважанні і высновы AI з дапамогай LLM і RAG.

Інтэграцыя DSPy і LangChain для дастаўкі праграмнага забеспячэння на базе AI

Каб інтэграваць DSPy і LangChain, мы можам выкарыстоўваць у якасці прыкладу наступны блок кода:

імпарт dspy
ад langchain імпартаваць LLM, RAG


канвеер = dspy.Канвеял(
    name="ai-driven-software-delivery",
    задачы=[
        dspy.Task("зборка", "зборка праграмнага забеспячэння"),
        dspy.Task("тэст", "тэставае праграмнае забеспячэнне"),
        dspy.Task("разгарнуць", "разгарнуць праграмнае забеспячэнне")
    ]
)

# Стварыце LLM і RAG
llm = LLM("берт-база-без корпуса")
rag = RAG("дастаўка праграмнага забеспячэння")

# Інтэграцыя LLM і RAG з канвеерам DSPy
pipeline.add_task(dspy.Task("ai-развага", "ai-развага", llm, ануча))

# Запусціце канвеер
pipeline.run()

Гэты блок кода дэманструе, як стварыць канвеер DSPy, інтэграваць LLM і RAG з дапамогай LangChain і запусціць канвеер з дапамогай DSPy.

Топ-5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain:

  • DSPy
    • dspy.Pipeline(): стварыць новы канвеер DSPy.
    • dspy.Task(): стварыць новую задачу ў канвееры.
    • pipeline.add_task(): Дадаць задачу ў канвеер.
    • pipeline.run(): запусціць канвеер.
  • LangChain
    • LLM(): стварыць новы LLM.
    • RAG(): Стварыць новы RAG.
    • llm.train(): навучанне LLM.
    • rag.build(): Стварыце RAG.

Візуалізацыя

Вось візуалізацыя канвеера DSPy з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Пабудаваць", "Тэставаць", "Разгарнуць", "Развагі AI"],
    "наборы дадзеных": [
      {
        "label": "Канвеерныя задачы",
        "дадзеныя": [10, 20, 30, 40],
        "backgroundColor": ["#4CAF50", "#FF9800", "#2196F3", "#8BC34A"]
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Задачы канвеера DSPy"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

Гэтая візуалізацыя паказвае канвеерныя задачы, у тым ліку зборку, тэставанне, разгортванне і развагі AI.

Выснова

У гэтым артыкуле мы даследавалі, як арганізаваць дастаўку праграмнага забеспячэння, кіраванага штучным інтэлектам, з дапамогай DSPy і LangChain. Мы абмеркавалі праблемы дастаўкі праграмнага забеспячэння ў SDV і прадставілі асноўныя функцыі DSPy і LangChain. Мы таксама прадставілі блок кода, які дэманструе, як інтэграваць DSPy і LangChain, а таксама візуалізацыю канвеера DSPy. Выкарыстоўваючы магутнасць штучнага інтэлекту і аўтаматызацыі, мы можам павысіць маштабаванасць і прадукцыйнасць праграмна-дэтэрмінаваных транспартных сродкаў.


Have Questions?

Let's Talk

Contact me on LinkedIn