** DI agentų suderinimas naudojant „LangChain“ ir „DSPy“, kad būtų sukurta patobulinta programinės įrangos architektūra**
Įvadas
Šiandienos sparčiai besivystančioje skaitmeninėje aplinkoje programinės įrangos sistemos tampa vis sudėtingesnės, integruojant dirbtinio intelekto (AI) ir mašininio mokymosi (ML) galimybes. Todėl programinės įrangos inžinieriams aktualus rūpestis tapo keičiamo dydžio ir atsparių sistemų, galinčių efektyviai organizuoti dirbtinio intelekto agentus, kūrimas. Šiame straipsnyje nagrinėjama AI, programinės įrangos inžinerijos ir orkestravimo įrankių sankirta kuriant efektyvias programinės įrangos architektūras, daugiausia dėmesio skiriant AI agentų diegimui naudojant LangChain ir DSPy.
The Need for AI Orchestration
Tradicinės programinės įrangos sistemos dažnai kuriamos naudojant monolitinę architektūrą, kai visi komponentai yra glaudžiai susieti ir veikia kartu linijiniu būdu. Tačiau, atsiradus AI ir ML, programinės įrangos sistemos tampa vis labiau paskirstytos ir decentralizuotos, o keli agentai dirba kartu, kad pasiektų bendrą tikslą. Dėl to prireikė dirbtinio intelekto orkestravimo, kuris apima sistemų, kurios gali veiksmingai valdyti ir koordinuoti kelių AI agentų sąveiką, projektavimą.
LangChain: AI agentų kūrimo sistema
„LangChain“ yra „Python“ sistema, skirta kurti AI agentus, kurie gali sąveikauti tarpusavyje ir su išorinėmis sistemomis. Jame pateikiamas įrankių ir bibliotekų rinkinys, leidžiantis kūrėjams kurti agentus, kurie gali mąstyti, mokytis ir prisitaikyti prie besikeičiančios aplinkos. „LangChain“ sukurta remiantis „Rust“ programavimo kalba ir suteikia aukšto lygio API AI agentams kurti.
DSPy: Orchestration Framework
DSPy yra „Python“ sistema, skirta kurti paskirstytas sistemas, kurios gali organizuoti kelis AI agentus. Jame pateikiamas įrankių ir bibliotekų rinkinys, leidžiantis kūrėjams kurti ir įdiegti keičiamo dydžio ir atsparias sistemas, galinčias valdyti sudėtingą kelių agentų sąveiką. DSPy sukurtas ant Apache Kafka pranešimų sistemos ir suteikia aukšto lygio API paskirstytoms sistemoms kurti.
** DI agentų diegimas naudojant „LangChain“ ir „DSPy“**
Norėdami įdiegti AI agentus naudodami LangChain ir DSPy, turime atlikti šiuos veiksmus:
- Apibrėžkite agento architektūrą: apibrėžkite AI agento architektūrą, įskaitant įvestis, išvestis ir sąveiką su kitais agentais.
- Įdiekite agento logiką: įdiekite AI agento logiką naudodami „LangChain“, įskaitant samprotavimo, mokymosi ir prisitaikymo mechanizmus.
- Orkestruokite agentų sąveikas: naudokite DSPy, kad sureguliuotumėte kelių AI agentų sąveiką, įskaitant ryšio protokolus ir duomenų mainų mechanizmus.
- Įdiekite sistemą: įdiekite sistemą naudodami debesies platformą arba konteinerių sistemą, pvz., „Docker“.
Kodo pavyzdys: paprasto AI agento įdiegimas naudojant „LangChain“
Štai paprastas kodo pavyzdys, parodantis, kaip įdiegti AI agentą naudojant „LangChain“:
importuoti langchain
iš langchain.chains importuoti LLMChain
agentas = langchain.Agent(
input_schema={"tekstas": str},
output_schema={"tekstas": str},
grandinė=LLMCchain(
model="davinci:instructix",
max_length=2048,
temperatūra = 0,7,
),
)
# Įdiekite agento logiką
def agent_logic(input_text):
output_text = agent.run(įvesties_tekstas)
grąžinti išvesties_tekstą
# Išbandykite agentą
input_text = "Kokia yra gyvenimo prasmė?"
išvesties_tekstas = agento_logika(įvesties_tekstas)
spausdinti (išvesties_tekstas)
Šis kodo pavyzdys parodo, kaip apibrėžti AI agentą naudojant „LangChain“, įskaitant įvesties ir išvesties schemas bei agento logiką. Agentas įgyvendinamas naudojant didelės kalbos modelio (LLM) grandinę, kuri yra AI agento tipas, galintis samprotauti ir generuoti tekstą.
5–10 dažniausiai naudojamų „LangChain“ ir „DSPy“ komandų / fragmentų
Čia yra 5–10 dažniausiai naudojamų „LangChain“ ir „DSPy“ komandų / fragmentų:
- langchain.Agent(): sukuria naują AI agento egzempliorių.
agentas = langchain.Agent(
input_schema={"tekstas": str},
output_schema={"tekstas": str},
grandinė=LLMCchain(
model="davinci:instructix",
max_length=2048,
temperatūra = 0,7,
),
)
- agent.run(): paleidžia AI agentą su nurodyta įvestimi.
output_text = agent.run(įvesties_tekstas)
- DSPy.create_cluster(): sukuria naują paskirstytos sistemos mazgų grupę.
cluster = DSPy.create_cluster(
num_nodes=5,
node_type="darbuotojas",
)
- DSPy.create_agent(): sukuria naują AI agento egzempliorių paskirstytajai sistemai.
agentas = DSPy.create_agent(
klasteris = klasteris,
agent_type="LLM",
)
- DSPy.deploy_agent(): DI agentą diegia paskirstytoje sistemoje.
DSPy.deploy_agent(
agentas = agentas,
klasteris = klasteris,
)
- DSPy.get_agent_status(): nuskaito AI agento būseną.
status = DSPy.get_agent_status(
agentas = agentas,
klasteris = klasteris,
)
- DSPy.update_agent(): atnaujina AI agentą naujais duomenimis arba parametrais.
DSPy.update_agent(
agentas = agentas,
klasteris = klasteris,
new_data={"text": "naujas įvesties tekstas"},
)
- DSPy.delete_agent(): ištrina AI agentą iš paskirstytos sistemos.
DSPy.delete_agent(
agentas = agentas,
klasteris = klasteris,
)
- DSPy.create_chain(): sukuria naują AI agentų grandinę paskirstytajai sistemai.
grandinė = DSPy.create_chain(
agentai=[agentas1, agentas2, agentas3],
)
- DSPy.deploy_chain(): DI agentų grandinę diegia paskirstytoje sistemoje.
DSPy.deploy_chain(
grandinė = grandinė,
klasteris = klasteris,
)
Vizualizacija
Štai LangChain ir DSPy architektūros vizualizacija naudojant Chart.js:
{
"type": "pieChart",
"duomenys": {
"labels": ["LangChain", "DSPy"],
"duomenų rinkiniai": [
{
"etiketė": "AI agentai",
"duomenys": [50, 50],
"backgroundColor": ["#4CAF50", "#FF9800"]
}
]
},
"parinktys": {
"pavadinimas": {
"display": tiesa,
"text": "LangChain ir DSPy architektūra"
},
"legenda": {
ekranas: tiesa
}
}
}
Ši vizualizacija parodo AI agentų pasiskirstymą tarp „LangChain“ ir „DSPy“, 50% agentų veikia „LangChain“, o 50% – DSPy.
Išvada
„LangChain“ ir „DSPy“ suteikia galingą AI agentų kūrimo ir organizavimo sistemą, leidžiančią kūrėjams sukurti keičiamo dydžio ir atsparias sistemas, kurios gali efektyviai valdyti sudėtingą kelių agentų sąveiką. Vykdydami šiame straipsnyje aprašytus veiksmus, kūrėjai gali įdiegti AI agentus naudodami „LangChain“ ir „DSPy“ ir įdiegti juos paskirstytoje sistemoje naudodami DSPy. Pateikti kodo pavyzdžiai ir vizualizacija parodo „LangChain“ ir „DSPy“ galimybes, o 5–10 dažniausiai naudojamų komandų/fragmentų yra greita nuoroda kūrėjams.