Sortu LangChain agente bat | B4N1

Sortu LangChain agente bat

5 months ago · b4n1 Read time: 4 min

Auto-sendatzeko software sistemak eraikitzea agente anitzeko AI arkitekturekin eta orkestrazio tresnekin

Sarrera

Egungo erritmo azkar eta etengabe aldatzen ari den softwarearen panoraman, produkzioan iraun dezaketen sistema sendo eta moldagarriak eraikitzea lehentasun nagusia da software ingeniarientzat eta DevOps taldeentzat. Softwarearen garapenaren ikuspegi tradizionalak sarritan porrotak eta geldialdietarako joera duten sistema monolitikoak eraikitzera bideratzen dira. Hala ere, eragile anitzeko AI arkitekturak eta orkestrazio tresnen agerpenarekin, orain posible da auto-sendatzeko software sistemak sortzea, baldintza aldakorretara egokitu eta hutsegiteetatik berreskuratzeko.

Artikulu honetan, agente anitzeko AI arkitekturak eta orkestrazio tresnen kontzeptua aztertuko dugu, eta nola erabil daitezkeen autosendatzeko software sistemak eraikitzeko. AI, software ingeniaritza eta DevOps-en azken joeretan ere sakonduko dugu, eta LangChain eta DSPy bezalako tresnen papera aztertuko dugu software sistema sendo eta moldagarriak sortzeko.

Zer dira agente anitzeko AI arkitekturak?

Agente anitzeko AI arkitekturak helburu komun bat lortzeko elkarreragina duten agente autonomo anitzek osatzen duten AI sistema mota bat da. Agente bakoitzak bere gaitasun, ezagutza eta helburu multzoa ditu, eta elkarrekin lan egiten dute goi-mailako helburu bat lortzeko. Agente anitzeko AI arkitekturak bereziki erabilgarriak dira eragile anitzak, helburu gatazkatsuak eta emaitza ziurgabeak dauden sistema konplexuetan.

Software ingeniaritzan, agente anitzeko AI arkitekturak erabil daitezke auto-sendatzeko sistemak eraikitzeko, hutsegiteei denbora errealean detektatu eta erantzuteko. Esaterako, agente anitzeko AI sistema batek sistema baten osagai desberdinak kontrolatzen dituzten, akatsak hautematen eta sistema osasuntsura berrezartzeko berreskuratzeko ekintzak abiarazten dituzten hainbat agentek izan ditzake.

Zer dira orkestrazio tresnak?

Orkestrazio tresnak aplikazio eta zerbitzuen hedapena, eskalatzea eta kudeaketa automatizatzen dituzten software sistemak dira. Hainbat osagai, zerbitzu eta aplikazio kudeatzeko plataforma zentralizatua eskaintzen dute eta garatzaileei lan-fluxu eta automatizazio konplexuak definitzeko aukera ematen diete.

Orkestrazio-tresnak ezinbestekoak dira auto-sendatzeko software-sistemak eraikitzeko, garatzaileek hutsegiteei erantzuteko abiarazi daitezkeen berreskuratze-fluxuak eta automatizazioak definitzeko aukera ematen baitute. Adibidez, orkestrazio-tresna bat erabil daiteke babeskopia-sistema baten hedapena automatizatzeko edo sistemaren osagai batek huts egiten duenean berreskuratzeko ekintza bat abiarazteko.

LangChain eta DSPy: Agente anitzeko AI arkitekturarako orkestrazio tresnak

LangChain eta DSPy eragile anitzeko AI arkitekturekin lan egiteko diseinatutako bi orkestrazio tresna dira. LangChain agente anitzeko AI sistemak eraikitzeko API sinple eta intuitibo bat eskaintzen duen Python liburutegia da, eta DSPy lan-fluxuak definitzeko eta exekutatzeko goi-mailako API bat eskaintzen duen Python liburutegia da.

LangChain-ek eta DSPy-k garatzaileek auto-sendatzeko software-sistemak eraiki ditzakete, hutsegiteei denbora errealean detektatu eta erantzuteko. Ezaugarri ugari eskaintzen dituzte, besteak beste:

  • Agenteen kudeaketa: LangChain-ek eta DSPy-k APIak eskaintzen dituzte agente anitzeko AI sistema batean eragileak sortzeko, kudeatzeko eta elkarrekintzan jarduteko.
  • Lan-fluxuaren definizioa: LangChain-ek eta DSPy-k garatzaileek hutsegiteei erantzuteko abiarazi daitezkeen lan-fluxu eta automatizazio konplexuak defini ditzakete.
  • Berreskuratze-ekintzak: LangChain-ek eta DSPy-k APIak eskaintzen dituzte berreskuratzeko ekintzak abiarazteko, hala nola, babeskopia sistema bat zabaltzeko edo sistemaren osagai batek huts egiten duenean berreskuratzeko ekintza bat abiarazteko.

Auto-sendatzeko sistema bat eraikitzea LangChain eta DSPy-rekin

LangChain-en eta DSPy-ren indarra erakusteko, eraiki dezagun web-aplikazio bateko hutsegiteei detektatu eta erantzun diezaiekeen autosendatze-sistema sinple bat. LangChain erabiliko dugu eragile anitzeko AI sistema bat sortzeko, aplikazioaren errendimendua kontrolatzen duena eta hutsegite bat hautematen denean berreskuratze-ekintza bat abiarazten duena.

Hona hemen LangChain eta DSPy-rekin auto-sendatzeko sistema bat nola eraiki erakusten duen kode bloke sinple bat:

inportatu langchain
langchain import Agent, Chain-etik


agente = Agente(
    name="auto-sendatzeko-agente",
    katea=katea(
        name="auto-sendatzeko-katea",
        urratsak=[
            {"name": "monitor", "func": monitor_performance},
            {"name": "berreskuratu", "func": berreskuratu_sistema},
        ],
    ),
)

# Definitu funtzio bat aplikazioaren errendimendua kontrolatzeko
def monitor_performance():
    # Simulatu hutsegite bat hautematea
    aleatorioa bada.ausazkoa() < 0,5:
        itzuli {"failure": Egia}
    bestela:
        itzuli {"failure": faltsua}

# Definitu funtzio bat sistema berreskuratzeko
def berreskuratu_sistema (porrota):
    # Aktibatu berreskuratzeko ekintza bat
    porrot bada["porrota"]:
        print("Berreskuratzeko ekintza abiarazten...")
        # Inplementatu babeskopia sistema edo abiarazi berreskuratzeko ekintza bat
        #...

# Sortu DSPy lan-fluxu bat
lan-fluxua = DSPy.Workflow(
    name="auto-sendatzeko-lan-fluxua",
    urratsak=[
        {"name": "monitor", "func": monitor_performance},
        {"name": "berreskuratu", "func": berreskuratu_sistema},
    ],
)

# Exekutatu lan-fluxua
workflow.execute()

Kode bloke honek aplikazioaren errendimendua kontrolatzen duen LangChain agente bat nola sortu eta hutsegite bat hautematen denean berreskuratzeko ekintza bat abiarazten duen erakusten du. DSPy lan-fluxua berreskuratzeko ekintza definitzeko eta hutsegite baten aurrean exekutatzeko erabiltzen da.

Erabiltzen diren 5-10 komando/zati nagusiak

Hona hemen LangChain eta DSPyrako gehien erabiltzen diren 5-10 komando eta zatiak:

  1. langchain.Agent(): LangChain agente berri bat sortzen du.
  2. langchain.Chain(): LangChain kate berri bat sortzen du.
  3. dspypy.Workflow(): DSPy lan-fluxu berri bat sortzen du.
  4. agent.execute(): LangChain agentea exekutatzen du.
  5. workflow.execute(): DSPy lan-fluxua exekutatzen du.
  6. agent.chain.steps.append({"name": "step", "func": func}): LangChain kateari urrats berri bat gehitzen dio.
  7. workflow.steps.append({"name": "step", "func": func}): DSPy lan-fluxuari urrats berri bat gehitzen dio.
  8. agent.chain.steps.remove({"name": "step"}): LangChain katetik urrats bat kentzen du.
  9. workflow.steps.remove({"name": "step"}): DSPy lan-fluxutik urrats bat kentzen du.
  10. agent.chain.steps.insert(0, {"name": "step", "func": func}): LangChain katearen hasieran urrats berri bat txertatzen du.

Bistaratzea

Hona hemen Chart.js erabiliz LangChain eta DSPy lan-fluxuaren bistaratzea:

{
  "mota": "barra",
  "datuak": {
    "labels": ["Begiratu", "Berreskuratu"],
    "datu multzoak": [
      {
        "label": "LangChain",
        "datuak": [10, 20],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      },
      {
        "label": "DSPy",
        "datuak": [20, 30],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "borderWidth": 1
      }
    ]
  },
  "aukerak": {
    "titulua": {
      "bistaratu": egia,
      "text": "LangChain eta DSPy lan-fluxua"
    },
    "eskalak": {
      "yAxes": [
        {
          "ticks": {
            "beginAtZero": egia
          }
        }
      ]
    }
  }
}

Bistaratze honek LangChain eta DSPy lan-fluxua erakusten du, "Monitor" urratsa ezkerrean eta "Berreskuratu" urratsa eskuinean. LangChain lan-fluxua barra gorri batekin adierazten da, eta DSPy lan-fluxua, berriz, barra urdin batekin.

Ondorioa

Agente anitzeko AI arkitekturekin eta orkestrazio tresnekin autosendatzeko software sistemak eraikitzea ikuspegi indartsua da ekoizpenean bizirik iraun dezaketen sistema sendo eta moldagarriak sortzeko. LangChain eta DSPy orkestrazio-tresna ezagun bi dira, garatzaileek auto-sendatzeko sistemak eraikitzeko aukera ematen dieten akatsei denbora errealean detektatu eta erantzuteko.

Artikulu honetan, agente anitzeko AI arkitektura eta orkestrazio tresnen kontzeptua aztertu dugu, eta LangChain eta DSPy-rekin auto-sendatzeko sistema bat nola eraiki erakutsi dugu. Adibide praktiko eta kode zati batzuk ere eman ditugu garatzaileei beren autosendatze sistema propioak eraikitzen hasteko.

Software ingeniaria, DevOps ingeniaria edo AI ikertzailea izan, LangChain eta DSPy-rekin autosendatzeko software sistemak eraikitzea ikuspegi indartsua da ekoizpenean bizirik iraun dezaketen sistema sendo eta moldagarriak sortzeko.


Have Questions?

Let's Talk

Contact me on LinkedIn