Krijoni një agjent LangChain | B4N1

Krijoni një agjent LangChain

5 months ago · b4n1 Tiempo de lectura: 6 min

Ndërtimi i sistemeve softuerike vetë-shëruese me arkitekturë dhe mjete orkestrimi me shumë agjentë AI

Hyrje

Në peizazhin e sotëm të softuerit me ritëm të shpejtë dhe gjithnjë në ndryshim, ndërtimi i sistemeve të fuqishme dhe adaptive që mund t'i mbijetojnë prodhimit është një përparësi kryesore për inxhinierët e softuerit dhe ekipet e DevOps. Qasjet tradicionale për zhvillimin e softuerit shpesh përqendrohen në ndërtimin e sistemeve monolitike që janë të prirur ndaj dështimeve dhe ndërprerjeve. Megjithatë, me ardhjen e arkitekturave me shumë agjentë të AI dhe mjeteve të orkestrimit, tani është e mundur të krijohen sisteme softuerike vetë-shëruese që mund të përshtaten me ndryshimin e kushteve dhe të rikuperohen nga dështimet.

Në këtë artikull, ne do të eksplorojmë konceptin e arkitekturave me shumë agjentë të AI dhe mjeteve të orkestrimit dhe se si ato mund të përdoren për të ndërtuar sisteme softuerike vetë-shëruese. Ne gjithashtu do të gërmojmë në tendencat më të fundit në AI, inxhinierinë e softuerit dhe DevOps, dhe do të shqyrtojmë rolin e mjeteve si LangChain dhe DSPy në krijimin e sistemeve softuerike të fuqishme dhe adaptive.

Çfarë janë arkitekturat e AI me shumë agjentë?

Arkitekturat AI me shumë agjentë janë një lloj sistemi AI që përbëhet nga agjentë të shumtë autonome që ndërveprojnë me njëri-tjetrin për të arritur një qëllim të përbashkët. Çdo agjent ka grupin e vet të aftësive, njohurive dhe qëllimeve, dhe ata punojnë së bashku për të arritur një objektiv të nivelit më të lartë. Arkitekturat e AI me shumë agjentë janë veçanërisht të dobishme në sisteme komplekse ku ka shumë palë të interesuara, qëllime konfliktuale dhe rezultate të pasigurta.

Në inxhinierinë e softuerit, arkitekturat e AI me shumë agjentë mund të përdoren për të ndërtuar sisteme vetë-shëruese që mund të zbulojnë dhe t'u përgjigjen dështimeve në kohë reale. Për shembull, një sistem AI me shumë agjentë mund të përbëhet nga agjentë të shumtë që monitorojnë komponentë të ndryshëm të një sistemi, zbulojnë dështime dhe shkaktojnë veprime rikuperimi për të rikthyer sistemin në një gjendje të shëndetshme.

Çfarë janë mjetet e orkestrimit?

Mjetet e orkestrimit janë sisteme softuerike që automatizojnë vendosjen, shkallëzimin dhe menaxhimin e aplikacioneve dhe shërbimeve. Ato ofrojnë një platformë të centralizuar për menaxhimin e komponentëve, shërbimeve dhe aplikacioneve të shumta, dhe u mundësojnë zhvilluesve të përcaktojnë flukse pune komplekse dhe automatizime.

Mjetet e orkestrimit janë thelbësore për ndërtimin e sistemeve softuerike vetë-shëruese, pasi ato u mundësojnë zhvilluesve të përcaktojnë flukset e punës dhe automatizimet e rikuperimit që mund të shkaktohen në përgjigje të dështimeve. Për shembull, një mjet orkestrimi mund të përdoret për të automatizuar vendosjen e një sistemi rezervë ose për të shkaktuar një veprim rikuperimi kur një komponent i sistemit dështon.

LangChain dhe DSPy: Mjete Orkestrimi për Arkitekturat e AI me shumë agjentë

LangChain dhe DSPy janë dy mjete të njohura orkestrimi që janë krijuar për të punuar me arkitekturat e AI me shumë agjentë. LangChain është një bibliotekë Python që ofron një API të thjeshtë dhe intuitive për ndërtimin e sistemeve AI me shumë agjentë, ndërsa DSPy është një bibliotekë Python që ofron një API të nivelit të lartë për përcaktimin dhe ekzekutimin e flukseve të punës.

LangChain dhe DSPy u mundësojnë zhvilluesve të ndërtojnë sisteme softuerësh vetë-shërues që mund të zbulojnë dhe reagojnë ndaj dështimeve në kohë reale. Ato ofrojnë një sërë veçorish, duke përfshirë:

  • Menaxhimi i agjentëve: LangChain dhe DSPy ofrojnë API për krijimin, menaxhimin dhe ndërveprimin me agjentët në një sistem AI me shumë agjentë.
  • Përkufizimi i rrjedhës së punës: LangChain dhe DSPy u mundësojnë zhvilluesve të përcaktojnë flukse pune komplekse dhe automatizime që mund të shkaktohen në përgjigje të dështimeve.
  • Veprimet e rikuperimit: LangChain dhe DSPy ofrojnë API për aktivizimin e veprimeve të rikuperimit, të tilla si vendosja e një sistemi rezervë ose aktivizimi i një veprimi rikuperimi kur një komponent i sistemit dështon.

Ndërtimi i një sistemi vetë-shërues me LangChain dhe DSPy

Për të demonstruar fuqinë e LangChain dhe DSPy, le të ndërtojmë një sistem të thjeshtë vetë-shërues që mund të zbulojë dhe t'i përgjigjet dështimeve në një aplikacion ueb. Ne do të përdorim LangChain për të krijuar një sistem AI me shumë agjentë që monitoron performancën e aplikacionit dhe aktivizon një veprim rikuperimi kur zbulohet një dështim.

Këtu është një bllok i thjeshtë kodi që tregon se si të ndërtoni një sistem vetë-shërues me LangChain dhe DSPy:

import langchain
nga agjenti i importit langchain, zinxhir


agjent = Agjent(
    emri "agjent vetë-shërues",
    zinxhir=Zinxhiri(
        emri "zinxhiri i vetë-shërimit",
        hapat=[
            {"name": "monitor", "func": monitor_performance},
            {"name": "recover", "func": recover_system},
        ],
    ),
)

# Përcaktoni një funksion për të monitoruar performancën e aplikacionit
Def monitor_performance():
    # Simuloni një zbulim të dështimit
    nëse rastësor.random() < 0.5:
        kthej {"dështim": e vërtetë}
    tjetër:
        kthej {"dështim": E rreme}

# Përcaktoni një funksion për të rikuperuar sistemin
Def recovery_system (dështim):
    # Aktivizoni një veprim rikuperimi
    nëse dështimi ["dështim"]:
        print ("Nxiton veprimin e rikuperimit...")
        # Vendosni një sistem rezervë ose aktivizoni një veprim rikuperimi
        #...

# Krijoni një rrjedhë pune DSPy
rrjedha e punës = DSPy.Rrjedha e punës(
    emri = "self-healing-workflow",
    hapat=[
        {"name": "monitor", "func": monitor_performance},
        {"name": "recover", "func": recover_system},
    ],
)

# Ekzekutoni rrjedhën e punës
workflow.execute()

Ky bllok kodi demonstron se si të krijoni një agjent LangChain që monitoron performancën e aplikacionit dhe aktivizon një veprim rikuperimi kur zbulohet një dështim. Rrjedha e punës DSPy përdoret për të përcaktuar veprimin e rikuperimit dhe për ta ekzekutuar atë në përgjigje të një dështimi.

Top 5-10 komandat/copëzat më të përdorura

Këtu janë 5-10 komandat dhe fragmentet më të përdorura për LangChain dhe DSPy:

  1. langchain.Agent(): Krijon një agjent të ri LangChain.
  2. langchain.Chain(): Krijon një zinxhir të ri LangChain.
  3. dspypy.Workflow(): Krijon një fluks të ri pune DSPy.
  4. agent.execute(): Ekzekuton agjentin LangChain.
  5. workflow.execute(): Ekzekuton rrjedhën e punës DSPy.
  6. `agent.chain.steps.append({"name": "step", "func": func})": Shton një hap të ri në zinxhirin LangChain.
  7. `workflow.steps.append({"name": "step", "func": func})": Shton një hap të ri në rrjedhën e punës DSPy.
  8. agent.chain.steps.remove({"name": "step"}): Heq një hap nga zinxhiri LangChain.
  9. workflow.steps.remove({"name": "step"}): Heq një hap nga rrjedha e punës DSPy.
  10. agent.chain.steps.insert(0, {"name": "step", "func": func}): Fut një hap të ri në fillim të zinxhirit LangChain.

Vizualizim

Këtu është një vizualizimi i rrjedhës së punës LangChain dhe DSPy duke përdorur Chart.js:

{
  "lloj": "bar",
  "të dhënat": {
    "labels": ["Monitor", "Rikuem"],
    "grupet e të dhënave": [
      {
        "label": "LangChain",
        "të dhënat": [10, 20],
        "Ngjyra e sfondit": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "Gjerësia e kufirit": 1
      },
      {
        "label": "DSPy",
        "të dhënat": [20, 30],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "Gjerësia e kufirit": 1
      }
    ]
  },
  "opsione": {
    "titulli": {
      "ekrani": i vërtetë,
      "text": "LangChain dhe DSPy Workflow"
    },
    "peshore": {
      "yAxes": [
        {
          "ticks": {
            "beginAtZero": e vërtetë
          }
        }
      ]
    }
  }
}

Ky vizualizim tregon rrjedhën e punës LangChain dhe DSPy, me hapin "Monitor" në të majtë dhe hapin "Rivendos" në të djathtë. Rrjedha e punës LangChain përfaqësohet nga një shirit i kuq, ndërsa fluksi i punës DSPy përfaqësohet nga një shirit blu.

përfundim

Ndërtimi i sistemeve softuerike vetë-shëruese me arkitektura AI me shumë agjentë dhe mjete orkestrimi është një qasje e fuqishme për krijimin e sistemeve të fuqishme dhe adaptive që mund t'i mbijetojnë prodhimit. LangChain dhe DSPy janë dy mjete të njohura orkestrimi që u mundësojnë zhvilluesve të ndërtojnë sisteme vetë-shëruese që mund të zbulojnë dhe reagojnë ndaj dështimeve në kohë reale.

Në këtë artikull, ne kemi eksploruar konceptin e arkitekturave të AI me shumë agjentë dhe mjeteve të orkestrimit dhe kemi demonstruar se si të ndërtojmë një sistem vetë-shërues me LangChain dhe DSPy. Ne kemi ofruar gjithashtu një sërë shembujsh praktikë dhe copa kodi për t'i ndihmuar zhvilluesit të fillojnë me ndërtimin e sistemeve të tyre vetë-shëruese.

Pavarësisht nëse jeni inxhinier softuerësh, inxhinier DevOps ose studiues i AI, ndërtimi i sistemeve softuerike vetë-shëruese me LangChain dhe DSPy është një qasje e fuqishme për krijimin e sistemeve të fuqishme dhe adaptive që mund t'i mbijetojnë prodhimit.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn