Ташкили инфрасохтори автономӣ бо имкониятҳои мукаммали агенти AI: Дастури техникӣ барои суръат бахшидан ба DevOps бо DSPy ва LangChain | B4N1

Ташкили инфрасохтори автономӣ бо имкониятҳои мукаммали агенти AI: Дастури техникӣ барои суръат бахшидан ба DevOps бо DSPy ва LangChain

3 months ago · b4n1 Tiempo de lectura: 6 min

Муқаддима

Дар манзараи босуръати рақамии имрӯза, зарурати идоракунии муассир ва миқёспазири инфрасохтор ҳеҷ гоҳ ин қадар вазнин набуд. Вақте ки талабот ба хидматҳои абрӣ афзоиш меёбад, созмонҳо барои ба тартиб даровардани равандҳои DevOps худ ба ҳалли инфрасохтори мустақил рӯ меоранд. Дар ин мақола, мо ба ҷаҳони оркестрсозии инфрасохтори бо AI асосёфта, омӯхтани имкониятҳои DSPy ва LangChain, ду асбоби муосир, ки тарзи идоракунӣ ва автоматикунонии инфрасохтори моро инқилоб мекунанд.

Мушкилоти автоматизатсияи DevOps

Автоматикунонии DevOps як вазифаи мураккабест, ки фаҳмиши амиқи технологияҳои гуногунро талаб мекунад, аз контейнерсозӣ ва оркестрсозӣ то мониторинг ва сабти ном. Бо афзоиши шумораи барномаҳо ва хидматҳо, мураккабии инфрасохтор меафзояд ва идора ва нигоҳдории онро торафт душвортар мекунад. Равишҳои анъанавӣ ба автоматизатсияи DevOps аксар вақт ба скрипти дастӣ ва конфигуратсия такя мекунанд, ки метавонанд ба хатогиҳо, номувофиқатӣ ва осебпазирии амният оварда расонанд.

Афзоиши оркестри инфрасохтори бо AI

Оркестри инфрасохтори бо сунъӣ таъминшуда як тағирдиҳандаи бозӣ дар ҷаҳони автоматизатсияи DevOps мебошад. Бо истифода аз омӯзиши мошинсозӣ ва коркарди забони табиӣ, агентҳои AI метавонанд вазифаҳои мураккабро автоматӣ кунанд, мушкилотро пешгӯӣ ва пешгирӣ кунанд ва истифодаи захираҳоро оптимизатсия кунанд. DSPy ва LangChain ду абзори пешбари ин фазо мебошанд, ки як қатор хусусиятҳо ва қобилиятҳоро пешниҳод мекунанд, ки метавонанд ба созмонҳо дар суръат бахшидан ба равандҳои DevOps-и худ кӯмак расонанд.

DSPy: чаҳорчӯбаи оркестрсозии AI дар асоси Python

DSPy як чаҳорчӯбаи оркестрсозии AI дар асоси Python мебошад, ки ба таҳиягарон имкон медиҳад, ки ҳалли автоматикунонии инфрасохтори аз ҷониби AI асосёфта сохта ва ҷойгир кунанд. Бо DSPy, шумо метавонед агентҳои фармоишии AI эҷод кунед, ки метавонанд бо инфрасохтори шумо ҳамкорӣ кунанд, вазифаҳоро автоматӣ кунанд ва дар асоси маълумоти вақти воқеӣ қарор қабул кунанд. Меъмории модулии DSPy ва китобхонаи васеи ҷузъҳои қаблан сохташуда онро интихоби беҳтарин барои идоракунии инфрасохтори васеъмиқёс месозад.

Хусусиятҳои асосии DSPy

  • Архитектураи модулӣ: Меъмории модулии DSPy ба шумо имкон медиҳад, ки агентҳои фармоишии AI-ро, ки метавонанд бо инфрасохтори шумо ҳамкорӣ кунанд, сохта ва ҷойгир кунед.
  • Китобхонаи васеъ: Китобхонаи васеи DSPy аз ҷузъҳои қаблан сохташуда автоматикунонии вазифаҳои мураккаб ва ҳамгироӣ бо абзорҳои маъмули DevOpsро осон мекунад.
  • Коркарди маълумот дар вақти воқеӣ: Имкониятҳои коркарди маълумот дар вақти воқеии DSPy ба агентҳои AI имкон медиҳанд, ки дар асоси маълумоти замонавӣ қарор қабул кунанд.

Намунаи оддии рамзи DSPy

Ин аст як мисоли оддии блоки рамзи DSPy, ки ҷойгиркунии контейнери навро автоматӣ мекунад: `` питон воридоти dspy

Агенти AI-ро муайян кунед

агент = dspy.Agent ()

Вазифаи ҷойгиркунии контейнерро муайян кунед

вазифа = dspy.Task( номи = Ҷойгир кардани контейнер, description="Ҷойгир кардани контейнери нав ба муҳити истеҳсолӣ", inputs = ["container_image", "container_port"], баромадҳо = ["container_id"] )

Скрипти ҷойгиркунии контейнерро муайян кунед

скрипт = dspy.Script ( name = Ҷойгир кардани скрипти контейнерӣ, description="Ҷойгир кардани контейнери нав ба муҳити истеҳсолӣ", код = "" #!/bin/bash docker run -d -p {container_port}:{container_port} {container_image} """ )

Скриптро ба вазифа замима кунед

task.attach_script(скрипт)

Ҷараёни кории агенти AI-ро муайян кунед

ҷараёни корӣ = dspy. name = "Ҷараёни кории ҷойгиркунии контейнер", description="Автоматсозии ҷойгиркунии контейнери нав", вазифаҳо = [вазифа] )

Конфигуратсияи агенти AI-ро муайян кунед

config = dspy.Config( ном = "Танзимоти ҷойгиркунии контейнер", description="Танзим кардани агенти AI барои ҷойгиркунии контейнер", inputs = ["container_image", "container_port"] )

Эҷоди агенти AI

agent.create (ҷараёни кор, танзимот)

Ин блоки код як агенти оддии AI-ро муайян мекунад, ки ҷойгиркунии контейнери навро ба муҳити истеҳсолӣ автоматӣ мекунад. Агент барои ҷойгиркунии контейнер скрипти ҷойгиркунии контейнери қаблан сохташударо истифода мебарад ва ҷараёни кор барои қабули параметрҳои вуруд барои тасвири контейнер ва порт танзим шудааст.

## LangChain: чаҳорчӯбаи оркестрсозии AI дар асоси занг

LangChain як чаҳорчӯбаи оркестрсозии AI дар асоси Rust мебошад, ки ба таҳиягарон имкон медиҳад, ки қарорҳои автоматикунонии инфрасохтори аз ҷониби AI асосёфта сохта ва ҷойгир кунанд. Бо LangChain, шумо метавонед агентҳои фармоишии AI эҷод кунед, ки метавонанд бо инфрасохтори шумо ҳамкорӣ кунанд, вазифаҳоро автоматӣ кунанд ва дар асоси маълумоти вақти воқеӣ қарор қабул кунанд. Меъмории модулии LangChain ва китобхонаи васеи ҷузъҳои қаблан сохташуда онро интихоби беҳтарин барои идоракунии инфрасохтори васеъмиқёс месозад.

### Хусусиятҳои асосии LangChain

* **Архитектураи модулӣ**: Меъмории модулии LangChain ба шумо имкон медиҳад, ки агентҳои фармоишии AI-ро, ки метавонанд бо инфрасохтори шумо ҳамкорӣ кунанд, сохта ва ҷойгир кунед.
* **Китобхонаи васеъ**: Китобхонаи васеи LangChain аз ҷузъҳои қаблан сохташуда автоматикунонии вазифаҳои мураккаб ва ҳамгироӣ бо абзорҳои маъмули DevOpsро осон мекунад.
* **Коркарди маълумот дар вақти воқеӣ**: Имкониятҳои коркарди маълумот дар вақти воқеии LangChain ба агентҳои AI имкон медиҳанд, ки дар асоси маълумоти замонавӣ қарор қабул кунанд.

### Намунаи рамзи оддии LangChain

Ин аст як мисоли оддии блоки рамзи LangChain, ки ҷойгиркунии контейнери навро автоматӣ мекунад:
`` занг
langchain-ро истифода баред::{Агент, Вазифа, Скрипт, Раванди корӣ, Конфигуратсия};

// Агенти AI-ро муайян кунед
бигзор агент = Агент :: нав ();

// Вазифаи ҷойгиркунии контейнерро муайян кунед
бигзор вазифа = Вазифа::нав(
    "Ҷойгир кардани контейнер",
    "Ба муҳити истеҳсолӣ як контейнери нав ҷойгир кунед",
    vec!["container_image", "container_port"],
    vec!["container_id"]
);

// Скрипти густариши контейнерро муайян кунед
бигзор скрипт = Скрипт::нав(
    "Ҷойгир кардани скрипти контейнер",
    "Ба муҳити истеҳсолӣ як контейнери нав ҷойгир кунед",
    r#"
    #!/bin/bash
    docker run -d -p {container_port}:{container_port} {container_image}
    "#,
    vec!["container_image", "container_port"]
);

// Скриптро ба вазифа замима кунед
task.attach_script(скрипт);

// Ҷараёни кории агенти AI-ро муайян кунед
бигзор ҷараёни кор = Ҷараёни кор :: new(
    "Ҷараёни кори ҷойгиркунии контейнер",
    "Автоматизатсияи ҷойгиркунии контейнери нав",
    vec![вазифа]
);

// Конфигуратсияи агенти AI-ро муайян кунед
let config = Config :: new(
    "Танзимоти ҷойгиркунии контейнер",
    "Агенти AI-ро барои ҷойгиркунии контейнер танзим кунед",
    vec!["container_image", "container_port"]
);

// Эҷоди агенти AI
agent.create (ҷараёни кор, танзимот);

Ин блоки код як агенти оддии AI-ро муайян мекунад, ки ҷойгиркунии контейнери навро ба муҳити истеҳсолӣ автоматӣ мекунад. Агент барои ҷойгиркунии контейнер скрипти ҷойгиркунии контейнери қаблан сохташударо истифода мебарад ва ҷараёни кор барои қабули параметрҳои вуруд барои тасвири контейнер ва порт танзим шудааст.

Top 5-10 Фармонҳо/порчаҳои бештар истифодашаванда

Инҳоянд 5-10 фармонҳои / пораҳои аз ҳама бештар истифодашаванда барои DSPy ва LangChain:

DSPy

  1. dspy.Agent().create(ҷараёни кор, конфигуратсия): Агенти нави AI-ро бо ҷараёни кор ва конфигуратсияи муайяншуда эҷод мекунад.
  2. dspy.Task().attach_script(script): Скриптро ба вазифа дар ҷараёни кории агенти AI замима мекунад.
  3. dspy.Script().new(ном, тавсиф, код): Скрипти навро бо ном, тавсиф ва рамзи муайяншуда эҷод мекунад.
  4. dspy.Workflow().new(ном, тавсиф, вазифаҳо): Ҷараёни нави корро бо ном, тавсиф ва вазифаҳои муайяншуда эҷод мекунад.
  5. dspy.Config().new(ном, тавсиф, вурудот): Конфигуратсияи навро бо ном, тавсиф ва параметрҳои вуруди муайяншуда эҷод мекунад.

LangChain

  1. langchain::Agent::new(): Агенти нави AI эҷод мекунад.
  2. langchain::Task::new(ном, тавсиф, вурудҳо, натиҷаҳо): Вазифаи навро бо ном, тавсиф, воридот ва баромадҳои муайяншуда эҷод мекунад.
  3. langchain::Script::new(ном, тавсиф, код, вурудот): Скрипти навро бо ном, тавсиф, код ва параметрҳои вуруди муайяншуда эҷод мекунад.
  4. langchain::Ҷараёни кор::нав(ном, тавсиф, вазифаҳо): Ҷараёни нави корро бо ном, тавсиф ва вазифаҳои муайяншуда эҷод мекунад.
  5. langchain::Config::new(ном, тавсиф, вурудот): Конфигуратсияи навро бо ном, тавсиф ва параметрҳои вуруди муайяншуда эҷод мекунад.

Визуалӣ

Ин аст визуализатсияи ҷараёни кории агенти AI бо истифода аз Chart.js: ``json { "type": "бар", "маълумот": { "labels": ["Ҷойгиркунии контейнер", "Вазифаи 1", "Вазифаи 2", "Вазифаи 3"], "маҷмӯи додаҳо": [ { "label": "Ҷараёни кор", "data": [10, 5, 3, 2], "backgroundColor": "rgba(255, 99, 132, 0.2)", "borderColor": "rgba(255, 99, 132, 1)", "BroderWidth": 1 } ] }, "Options": { "унвон": { "дисплей": дуруст, "text": "Ҷараёни кории агенти AI" }, "тарозу": { "yAxes": [ { "дисплей": дуруст, "scaleLabel": { "дисплей": дуруст, "labelString": "Вазифаҳо" } } ] } } }

Ин визуализатсия ҷараёни кории агенти AI-ро бо ҳар як вазифа бо сатр нишон медиҳад. Меҳвари x вазифаҳоро ифода мекунад ва меҳвари Y шумораи вазифаҳоро ифода мекунад.

## Хулоса

Дар ин мақола, мо ҷаҳони оркестри инфрасохтори AI-ро омӯхта, ба DSPy ва LangChain, ду абзори пешбари ин фазо тамаркуз кардем. Мо дидем, ки чӣ гуна ин асбобҳоро барои автоматикунонии вазифаҳои мураккаб, пешгӯӣ ва пешгирии мушкилот ва оптимизатсияи истифодаи захираҳо истифода бурдан мумкин аст. Бо меъмории модулии худ ва китобхонаҳои васеи ҷузъҳои қаблан сохташуда, DSPy ва LangChain интихоби беҳтарин барои идоракунии инфрасохтори васеъмиқёс мебошанд. Новобаста аз он ки шумо як касби ботаҷрибаи DevOps ҳастед ё нав оғоз карда истодаед, ин асбобҳо бешубҳа ба шумо дар суръат бахшидан ба равандҳои DevOps ва идоракунии инфрасохтори шумо ба сатҳи оянда кӯмак мекунанд.

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn