Įvadas
„DevOps“ ir vietinių debesies programų eroje infrastruktūros suderinimas tapo svarbiu šiuolaikinės programinės įrangos kūrimo komponentu. Tradiciniai infrastruktūros orkestravimo įrankiai, tokie kaip Ansible, Terraform ir CloudFormation, padarė didelę pažangą automatizuodami infrastruktūros išteklių diegimą ir valdymą. Tačiau šie įrankiai dažnai priklauso nuo rankinio konfigūravimo, scenarijų ir žmogaus įsikišimo, todėl gali atsirasti klaidų, neatitikimų ir kliūčių.
Kad pašalintume šiuos apribojimus, turime panaudoti dirbtinio intelekto (AI) ir mašininio mokymosi (ML) galias, kad sukurtume autonomines infrastruktūros orkestravimo sistemas. Šiame straipsnyje išnagrinėsime, kaip „StackGen“ ir „LangChain“ gali būti panaudoti kuriant tokią sistemą, leidžiančią itin automatizuoti „DevOps“ ir pakeisti infrastruktūros valdymo būdus.
Kas yra StackGen?
„StackGen“ yra atvirojo kodo, debesies savosios infrastruktūros orkestravimo įrankis, kuris infrastruktūros ištekliams apibrėžti ir valdyti naudoja deklaratyvųjį konfigūracijos modelį. Jis sukurtas taip, kad būtų labai keičiamas, lankstus ir išplečiamas, todėl yra idealus pasirinkimas didelio masto sudėtingoms infrastruktūros diegimams.
„StackGen“ pagrindinė architektūra yra pagrįsta moduliniu, įskiepiu pagrįstu dizainu, kuris leidžia kūrėjams lengvai išplėsti ir pritaikyti jo funkcijas. Šis moduliškumas taip pat leidžia „StackGen“ sklandžiai integruotis su kitais įrankiais ir sistemomis, pvz., „LangChain“, kurią aptarsime toliau.
Kas yra „LangChain“?
„LangChain“ yra pažangiausia atvirojo kodo sistema, skirta kurti pokalbio AI programas. Jame pateikiamas galingų įrankių ir API rinkinys, skirtas pokalbių robotams, balso padėjėjams ir kitoms pokalbių sąsajoms kurti. „LangChain“ sukurta ant „LangChain Core“, kuri yra labai keičiamo dydžio, paskirstyta architektūra, skirta apdoroti ir generuoti į žmogų panašią kalbą.
Pagrindinės „LangChain“ funkcijos:
- Pokalbio AI: „LangChain“ leidžia kūrėjams kurti pokalbio sąsajas, kurios gali suprasti ir reaguoti į natūralios kalbos įvestis.
- Generatyvusis AI: „LangChain“ siūlo daugybę generuojamųjų AI modelių, įskaitant teksto į tekstą ir teksto į vaizdą modelius, kurie gali būti naudojami kuriant į žmogų panašų tekstą, vaizdus ir kitą laikmeną.
- Integracija: „LangChain“ sklandžiai integruojasi su įvairiais įrankiais ir sistemomis, įskaitant „StackGen“, todėl tai yra idealus pasirinkimas kuriant autonomines infrastruktūros orkestravimo sistemas.
AI agentų ir generuojamojo AI panaudojimas ekstremaliam kūrėjų automatizavimui
Norėdami sukurti autonominę infrastruktūros orkestravimo sistemą naudodami „StackGen“ ir „LangChain“, turime sukurti AI agentą, kuris galėtų suprasti ir reaguoti į natūralios kalbos įvestis. Šis AI agentas bus atsakingas už infrastruktūros išteklių, tokių kaip virtualios mašinos, konteineriai ir tinklai, organizavimą.
Čia yra aukšto lygio architektūros apžvalga:
- Vartotojo įvestis: vartotojas pateikia natūralios kalbos įvestį, pvz., prašymą įdiegti naują virtualią mašiną.
- LangChain: LangChain sistema apdoroja vartotojo įvestį ir generuoja mašininiu būdu nuskaitomą užklausos atvaizdą.
- StackGen: StackGen įrankis gauna mašininiu būdu nuskaitomą atvaizdą ir naudoja jį infrastruktūros ištekliams tvarkyti.
- Generatyvusis dirbtinis intelektas: „LangChain“ sistema naudoja generuojamuosius AI modelius, kad generuotų į žmogų panašų tekstą, vaizdus ir kitas laikmenas, kad vartotojui pateiktų grįžtamąjį ryšį.
Norėdami iliustruoti šią architektūrą, panagrinėkime paprastą pavyzdį. Tarkime, kad norime įdiegti naują virtualią mašiną naudodami StackGen ir LangChain. Štai Python kodo fragmentas, parodantis, kaip tai galima pasiekti:
importuoti langchain
iš stackgen importo StackGen
# Sukurkite „LangChain“ agentą
agentas = langchain.Agent(
name = "infrastruktūra_orchestrator",
model="tekstas į tekstą",
prompt="Įdiekite naują virtualią mašiną su 2 procesoriais ir 4 GB RAM",
)
# Sukurkite „StackGen“ egzempliorių
stackgen = StackGen()
# Apdorokite vartotojo įvestį naudodami „LangChain“.
user_input = "Įdiekite naują virtualią mašiną su 2 procesoriais ir 4 GB RAM"
apdorotas_įvestis = agentas.proceso_input(vartotojo_įvestis)
# Sutvarkykite infrastruktūros išteklius naudodami „StackGen“.
stackgen.deploy_vm(processed_input)
Šis kodo fragmentas parodo, kaip „LangChain“ agentas apdoroja vartotojo įvestį ir generuoja mašininiu būdu nuskaitomą atvaizdą, kurį vėliau „StackGen“ naudoja infrastruktūros ištekliams tvarkyti.
5–10 dažniausiai naudojamų komandų / fragmentų
Čia yra 5–10 dažniausiai naudojamų „StackGen“ ir „LangChain“ komandų / fragmentų:
StackGen
stackgen deploy_vm <vm_config>: diegia naują virtualią mašiną su nurodyta konfigūracija.stackgen delete_vm <vm_id>: ištrina virtualią mašiną su nurodytu ID.stackgen list_vms: pateikia visas virtualias mašinas esamoje aplinkoje.stackgen create_network <network_config>: sukuria naują tinklą su nurodyta konfigūracija.stackgen delete_network <network_id>: ištrina tinklą su nurodytu ID.
LangChain
- „agent.process_input(<user_input>)“: apdoroja vartotojo įvestį ir generuoja mašininiu būdu nuskaitomą atvaizdą.
- „agent.generate_text()“: generuoja į žmogų panašų tekstą pagal nurodytą raginimą.
- „agent.generate_image()“: generuoja vaizdą pagal nurodytą raginimą.
- „agent.integrate_stackgen(<stackgen_config>)“: integruoja „LangChain“ su „StackGen“.
agent.list_integrations(): pateikia visų integracijų su StackGen sąrašą.
Vizualizacija
Štai StackGen ir LangChain architektūros vizualizacija naudojant Chart.js:
{
"type": "pieChart",
"duomenys": {
"labels": ["StackGen", "LangChain"],
"duomenų rinkiniai": [
{
"label": "Infrastruktūros orkestravimas",
"duomenys": [50, 50],
"backgroundColor": ["#4CAF50", "#FF9800"]
}
]
},
"parinktys": {
"pavadinimas": {
"display": tiesa,
"text": "StackGen ir LangChain architektūra"
},
"legenda": {
ekranas: tiesa
}
}
}
Ši vizualizacija parodo vienodą StackGen ir LangChain padalijimą infrastruktūros orkestravimo architektūroje.
Išvada
Šiame straipsnyje mes ištyrėme, kaip StackGen ir LangChain gali būti naudojami kuriant autonominę infrastruktūros orkestravimo sistemą. Mes parodėme, kaip „LangChain“ sistema gali būti naudojama natūralios kalbos įvestims apdoroti ir mašininiu būdu skaitomoms atvaizdams generuoti, kurias vėliau „StackGen“ gali naudoti infrastruktūros ištekliams tvarkyti. Taip pat pateikėme daugybę praktinių kodo fragmentų ir komandų, kuriuos galima naudoti kuriant ir integruojant StackGen ir LangChain.
Išnaudodami AI agentų ir generuojamojo AI galią, galime sukurti ekstremalias „DevOps“ automatizavimo sistemas, kurios yra labai keičiamos, lanksčios ir išplečiamos. Tai leis kūrėjams sutelkti dėmesį į aukštesnio lygio užduotis, tokias kaip programų kūrimas ir diegimas, o infrastruktūros orkestravimo sistema rūpinsis pagrindiniais infrastruktūros ištekliais.
Tikimės, kad šis straipsnis pateikė išsamią StackGen ir LangChain architektūros apžvalgą ir įkvėpė kūrėjus ištirti autonominės infrastruktūros orkestravimo galimybes.