Sissejuhatus
DevOpsi ja pilvepõhiste rakenduste ajastul on infrastruktuuri orkestreerimine muutunud kaasaegse tarkvaraarenduse kriitiliseks komponendiks. Traditsioonilised infrastruktuuri orkestreerimistööriistad, nagu Ansible, Terraform ja CloudFormation, on teinud olulisi edusamme infrastruktuuri ressursside juurutamise ja haldamise automatiseerimisel. Need tööriistad sõltuvad aga sageli käsitsi seadistamisest, skriptimisest ja inimese sekkumisest, mis võib põhjustada vigu, ebakõlasid ja kitsaskohti.
Nende piirangute lahendamiseks peame autonoomsete infrastruktuuri orkestreerimissüsteemide loomiseks kasutama tehisintellekti (AI) ja masinõppe (ML) jõudu. Selles artiklis uurime, kuidas saab StackGeni ja LangChaini kasutada sellise süsteemi loomiseks, võimaldades äärmuslikku DevOpsi automatiseerimist ja muutes infrastruktuuri haldamise viisi.
Mis on StackGen?
StackGen on avatud lähtekoodiga pilvepõhise infrastruktuuri orkestreerimistööriist, mis kasutab infrastruktuuriressursside määratlemiseks ja haldamiseks deklaratiivset konfiguratsioonimudelit. See on loodud olema väga skaleeritav, paindlik ja laiendatav, mistõttu on see ideaalne valik suuremahuliste keerukate infrastruktuuride juurutamiseks.
StackGeni põhiarhitektuur põhineb modulaarsel pistikprogrammil põhineval disainil, mis võimaldab arendajatel selle funktsioone hõlpsasti laiendada ja kohandada. See modulaarsus võimaldab ka StackGenil sujuvalt integreerida teiste tööriistade ja raamistikega, näiteks LangChainiga, mida me järgmisena arutame.
Mis on LangChain?
LangChain on tipptasemel avatud lähtekoodiga raamistik vestluspõhise AI-rakenduste loomiseks. See pakub võimsate tööriistade ja API-de komplekti vestlusrobotite, häälassistentide ja muude vestlusliideste loomiseks. LangChain on üles ehitatud LangChain Core'ile, mis on väga skaleeritav hajutatud arhitektuur inimesele sarnase keele töötlemiseks ja genereerimiseks.
LangChaini põhifunktsioonide hulka kuuluvad:
- Conversational AI: LangChain võimaldab arendajatel luua vestlusliideseid, mis mõistavad loomuliku keele sisendit ja reageerivad neile.
- Generatiivne AI: LangChain pakub mitmesuguseid generatiivseid tehisintellekti mudeleid, sealhulgas tekst-teksti- ja tekst-pildimudeleid, mida saab kasutada inimsarnase teksti, piltide ja muu meedia genereerimiseks.
- Integratsioon: LangChain integreerub sujuvalt paljude tööriistade ja raamistikega, sealhulgas StackGeniga, muutes selle ideaalseks valikuks autonoomsete infrastruktuuri orkestreerimissüsteemide loomiseks.
Tehisintellekti agentide ja generatiivse AI kasutamine ekstreemse DevOpsi automatiseerimise jaoks
StackGeni ja LangChaini abil autonoomse infrastruktuuri orkestreerimissüsteemi loomiseks peame looma tehisintellekti agendi, mis mõistab loomuliku keele sisendeid ja reageerib neile. See tehisintellekti agent vastutab infrastruktuuriressursside (nt virtuaalmasinate, konteinerite ja võrkude) korraldamise eest.
Siin on kõrgetasemeline ülevaade arhitektuurist:
- Kasutaja sisend: kasutaja sisestab loomuliku keele, näiteks uue virtuaalmasina juurutamise taotluse.
- LangChain: LangChaini raamistik töötleb kasutaja sisendit ja genereerib päringu masinloetava esituse.
- StackGen: StackGeni tööriist võtab vastu masinloetava esituse ja kasutab seda infrastruktuuri ressursside korraldamiseks.
- Generatiivne AI: LangChaini raamistik kasutab generatiivseid tehisintellekti mudeleid, et luua kasutajale tagasisidet andva inimesesarnast teksti, pilte ja muid meediume.
Selle arhitektuuri illustreerimiseks vaatleme lihtsat näidet. Oletame, et tahame juurutada uut virtuaalmasinat StackGeni ja LangChaini abil. Siin on Pythoni koodilõik, mis näitab, kuidas seda on võimalik saavutada:
importida langchain
stackgeni impordist StackGen
# Looge LangChaini agent
agent = langchain.Agent(
nimi = "infrastruktuur_orkestraator",
model="tekst tekstiks",
prompt="Juuvita uus virtuaalmasin 2 protsessori ja 4 GB muutmäluga",
)
# Looge StackGeni eksemplar
stackgen = StackGen()
# Töötle kasutaja sisendit LangChaini abil
user_input = "Juutage uus virtuaalmasin, millel on 2 protsessorit ja 4 GB muutmälu"
töödeldud_sisend = agent.protsessi_sisend(kasutaja_sisend)
# Orkestreerige infrastruktuuri ressursse StackGeni abil
stackgen.deploy_vm(töödeldud_sisend)
See koodilõik demonstreerib, kuidas LangChaini agent töötleb kasutaja sisendit ja genereerib masinloetava esituse, mida StackGen seejärel infrastruktuuriressursside korraldamiseks kasutab.
5–10 enimkasutatavat käsku/lõigu
Siin on StackGeni ja LangChaini 5–10 enim kasutatud käsku/juppi:
StackGen
- `stackgen deploy_vm <vm_config>: juurutab määratud konfiguratsiooniga uue virtuaalmasina.
stackgen delete_vm <vm_id>: kustutab määratud ID-ga virtuaalmasina.stackgen list_vms: loetleb kõik praeguses keskkonnas olevad virtuaalmasinad.stackgen create_network <network_config>: loob määratud konfiguratsiooniga uue võrgu.stackgen delete_network <võrgu_id>: kustutab määratud ID-ga võrgu.
LangChain
agent.process_input(<kasutaja_sisend>): töötleb kasutaja sisendit ja genereerib masinloetava esituse.agent.generate_text(<prompt>): genereerib määratud viipa alusel inimesesarnase teksti.- "agent.generate_image()": loob pildi määratud viipa alusel.
- "agent.integrate_stackgen(<stackgen_config>)": integreerib LangChaini StackGeniga.
- "agent.list_integrations()": loetleb kõik StackGeni integratsioonid.
Visualiseerimine
Siin on StackGeni ja LangChaini arhitektuuri visualiseerimine Chart.js-i abil:
{
"type": "PieChart",
"andmed": {
"labels": ["StackGen", "LangChain"],
"andmestikud": [
{
"label": "Infrastruktuuri orkestreerimine",
"andmed": [50, 50],
"backgroundColor": ["#4CAF50", "#FF9800"]
}
]
},
"valikud": {
"pealkiri": {
"ekraan": tõsi,
"text": "StackGeni ja LangChaini arhitektuur"
},
"legend": {
"ekraan": tõsi
}
}
}
See visualiseerimine näitab võrdset jagunemist StackGeni ja LangChaini vahel infrastruktuuri orkestreerimisarhitektuuris.
Järeldus
Selles artiklis oleme uurinud, kuidas saab StackGeni ja LangChaini kasutada autonoomse infrastruktuuri orkestreerimissüsteemi loomiseks. Oleme näidanud, kuidas LangChaini raamistikku saab kasutada loomuliku keele sisendite töötlemiseks ja masinloetavate esituste genereerimiseks, mida StackGen saab seejärel kasutada infrastruktuuriressursside korraldamiseks. Oleme pakkunud ka hulga praktilisi koodilõike ja käske, mida saab kasutada StackGeni ja LangChaini koostamiseks ja integreerimiseks.
Tehisintellekti agentide ja generatiivse tehisintellekti võimsust võimendades saame luua ekstreemseid DevOpsi automatiseerimissüsteeme, mis on väga skaleeritavad, paindlikud ja laiendatavad. See võimaldab arendajatel keskenduda kõrgema taseme ülesannetele, nagu rakenduste loomine ja juurutamine, samal ajal kui infrastruktuuri orkestreerimissüsteem hoolitseb aluseks olevate infrastruktuuriressursside eest.
Loodame, et see artikkel on andnud põhjaliku ülevaate StackGeni ja LangChaini arhitektuurist ning inspireerinud arendajaid uurima autonoomse infrastruktuuri orkestreerimise võimalusi.