Orchestration ajan AI ak LangChain ak DSPy pou Achitekti lojisyèl Amelyore | B4N1

Orchestration ajan AI ak LangChain ak DSPy pou Achitekti lojisyèl Amelyore

8 months ago · b4n1 Read time: 4 min

Orchestrasyon ajan AI ak LangChain ak DSPy pou Achitekti lojisyèl Amelyore

Entwodiksyon

Nan peyizaj dijital rapid-ritm jodi a, sistèm lojisyèl yo ap vin de pli zan pli konplèks, ak entegrasyon entèlijans atifisyèl (AI) ak kapasite aprantisaj machin (ML). Kòm yon rezilta, konsepsyon sistèm évolutive ak fleksib ki ka efektivman òkestre ajan AI vin tounen yon enkyetid ijan pou enjenyè lojisyèl. Atik sa a eksplore entèseksyon AI, jeni lojisyèl, ak zouti òkestrasyon pou konsepsyon achitekti lojisyèl efikas, ak yon konsantre sou aplikasyon ajan AI lè l sèvi avèk LangChain ak DSPy.

Bezwen pou AI Orchestration

Sistèm lojisyèl tradisyonèl yo souvan fèt ak yon achitekti monolitik, kote tout eleman yo byen makonnen epi travay ansanm nan yon mòd lineyè. Sepandan, ak avenman AI ak ML, sistèm lojisyèl yo ap vin de pli zan pli distribye ak desantralize, ak plizyè ajan k ap travay ansanm pou reyalize yon objektif komen. Sa a te mennen nan nesesite pou AI orchestration, ki enplike konsepsyon sistèm ki ka efektivman jere ak kowòdone entèraksyon ki genyen ant plizyè ajan AI.

LangChain: Yon kad pou bati ajan AI

LangChain se yon fondasyon Python pou bati ajan AI ki ka kominike youn ak lòt ak sistèm ekstèn. Li bay yon seri zouti ak bibliyotèk ki pèmèt devlopè yo kreye ajan ki ka rezone, aprann, epi adapte yo ak anviwònman k ap chanje. LangChain bati sou tèt langaj pwogram Rust epi li bay yon API wo nivo pou bati ajan AI.

DSPy: Yon kad pou òkestrasyon

DSPy se yon fondasyon Python pou bati sistèm distribiye ki ka òkestre plizyè ajan AI. Li bay yon seri zouti ak bibliyotèk ki pèmèt devlopè yo konsepsyon ak deplwaye sistèm évolutive ak fleksib ki ka jere entèraksyon konplèks ant plizyè ajan. DSPy bati sou sistèm mesaj Apache Kafka epi li bay yon API wo nivo pou bati sistèm distribye.

Aplikasyon AI Agents ak LangChain ak DSPy

Pou aplike ajan AI lè l sèvi avèk LangChain ak DSPy, nou bezwen swiv etap sa yo:

  1. Defini Achitekti Ajan an: Defini achitekti ajan AI a, ki gen ladan antre, rezilta, ak entèraksyon ak lòt ajan.
  2. Enplemante lojik ajan an: Enplemante lojik ajan AI a lè l sèvi avèk LangChain, ki gen ladan rezònman, aprantisaj, ak mekanis adaptasyon.
  3. Oksestre entèraksyon ajan yo: Sèvi ak DSPy pou òganize entèraksyon ant plizyè ajan AI, ki gen ladan pwotokòl kominikasyon ak mekanis echanj done.
  4. Deplwaye Sistèm nan: Deplwaye sistèm nan lè l sèvi avèk yon platfòm nwaj oswa yon kad kontenèr, tankou Docker.

Egzanp Kòd: Mete an aplikasyon yon senp ajan AI ak LangChain

Men yon egzanp kòd senp ki montre kijan pou aplike yon ajan AI lè l sèvi avèk LangChain:

enpòte langchain
soti nan langchain.chains enpòte LLMChain


ajan = langchain.Agent(
    input_schema = {"tèks": str},
    output_schema = {"tèks": str},
    chèn = LLMCèn (
        model="davinci:instructix",
        max_length=2048,
        tanperati = 0.7,
    ),
)

# Aplike lojik ajan an
def ajan_lojik(intre_tèks):
    output_text = agent.run (tèks_entrée)
    retounen output_text

# Teste ajan an
input_text = "Ki sans lavi a?"
output_text = ajan_lojik (input_text)
enprime (tèks_sorti)

Egzanp kòd sa a montre kijan pou defini yon ajan AI lè l sèvi avèk LangChain, ki gen ladan chema opinyon ak pwodiksyon, ak lojik ajan an. Ajan an aplike lè l sèvi avèk yon chèn gwo modèl lang (LLM), ki se yon kalite ajan AI ki ka rezone ak jenere tèks.

Top 5-10 kòmandman/frag ki pi itilize pou LangChain ak DSPy

Men 5-10 kòmandman/frag ki pi itilize pou LangChain ak DSPy:

  1. langchain.Agent(): Kreye yon nouvo egzanp ajan AI.
ajan = langchain.Agent(
    input_schema = {"tèks": str},
    output_schema = {"tèks": str},
    chèn = LLMCèn (
        model="davinci:instructix",
        max_length=2048,
        tanperati = 0.7,
    ),
)
  1. agent.run(): Kouri ajan AI a ak yon opinyon bay yo.
output_text = agent.run (tèks_entrée)
  1. DSPy.create_cluster(): Kreye yon nouvo gwoup nœuds pou sistèm distribiye a.
cluster = DSPy.create_cluster(
    num_nodes=5,
    node_type="travayè",
)
  1. DSPy.create_agent(): Kreye yon nouvo egzanp ajan AI pou sistèm distribiye a.
ajan = DSPy.create_agent(
    grap = grap,
    agent_type="LLM",
)
  1. DSPy.deploy_agent(): Deplwaye ajan AI a nan sistèm distribiye a.
DSPy.deploy_agent(
    ajan = ajan,
    grap = grap,
)
  1. DSPy.get_agent_status(): Rekipere estati ajan AI a.
estati = DSPy.get_agent_status(
    ajan = ajan,
    grap = grap,
)
  1. DSPy.update_agent(): Mete ajou ajan AI a ak nouvo done oswa paramèt.
DSPy.update_agent(
    ajan = ajan,
    grap = grap,
    new_data="text": "nouvo tèks antre"},
)
  1. DSPy.delete_agent(): Efase ajan AI a nan sistèm distribiye a.
DSPy.delete_agent(
    ajan = ajan,
    grap = grap,
)
  1. DSPy.create_chain(): Kreye yon nouvo chèn ajan AI pou sistèm distribiye a.
chèn = DSPy.create_chain(
    ajan=[agent1, agent2, agent3],
)
  1. DSPy.deploy_chain(): Deplwaye chèn ajan AI nan sistèm distribiye a.
DSPy.deploy_chain(
    chèn = chèn,
    grap = grap,
)

Vizyalizasyon

Isit la se yon vizyalizasyon nan achitekti LangChain ak DSPy lè l sèvi avèk Chart.js:

{
  "type": "tagram",
  "done": {
    "labels": ["LangChain", "DSPy"],
    "datasets": [
      {
        "label": "Ajan AI",
        "done": [50, 50],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "opsyon": {
    "tit": {
      "display": vre,
      "text": "LangChain ak DSPy Achitekti"
    },
    "lejand": {
      "ekspozisyon": vre
    }
  }
}

Vizyalizasyon sa a montre distribisyon ajan AI ant LangChain ak DSPy, ak 50% ajan yo ap kouri sou LangChain ak 50% sou DSPy.

Konklizyon

LangChain ak DSPy bay yon fondasyon pwisan pou konstwi ak orkestre ajan AI, sa ki pèmèt devlopè yo konsepsyon sistèm évolutive ak fleksib ki ka jere entèraksyon konplèks ant plizyè ajan. Lè yo swiv etap ki endike nan atik sa a, devlopè yo ka aplike ajan AI lè l sèvi avèk LangChain ak DSPy, epi deplwaye yo nan yon sistèm distribye lè l sèvi avèk DSPy. Egzanp kòd ak vizyalizasyon yo bay yo demontre kapasite LangChain ak DSPy, ak 5-10 kòmandman/frag ki pi itilize yo bay yon referans rapid pou devlopè yo.


Have Questions?

Let's Talk

Contact me on LinkedIn