Оркестрирање агенти со вештачка интелигенција со LangChain и DSPy за подобрена софтверска архитектура | B4N1

Оркестрирање агенти со вештачка интелигенција со LangChain и DSPy за подобрена софтверска архитектура

8 months ago · b4n1 Tiempo de lectura: 4 min

Оркестрирање агенти со вештачка интелигенција со LangChain и DSPy за подобрена софтверска архитектура

Вовед

Во денешниот брз дигитален пејзаж, софтверските системи стануваат сè покомплексни, со интеграција на способностите за вештачка интелигенција (AI) и машинско учење (ML). Како резултат на тоа, дизајнирањето на скалабилни и еластични системи кои можат ефективно да ги оркестрираат агентите со вештачка интелигенција, стана итна грижа за софтверските инженери. Оваа статија го истражува пресекот на вештачката интелигенција, софтверското инженерство и алатките за оркестрација за дизајнирање ефикасни софтверски архитектури, со фокус на имплементација на агенти за вештачка интелигенција користејќи LangChain и DSPy.

Потребата за оркестрација со вештачка интелигенција

Традиционалните софтверски системи често се дизајнирани со монолитна архитектура, каде што сите компоненти се цврсто споени и работат заедно на линеарен начин. Меѓутоа, со доаѓањето на AI и ML, софтверските системи стануваат се повеќе дистрибуирани и децентрализирани, при што повеќе агенти работат заедно за да постигнат заедничка цел. Ова доведе до потреба за оркестрација на вештачка интелигенција, која вклучува дизајнирање системи кои можат ефективно да управуваат и да ги координираат интеракциите помеѓу повеќе агенти за вештачка интелигенција.

LangChain: Рамка за градење агенти за вештачка интелигенција

LangChain е рамка на Python за изградба на агенти за вештачка интелигенција кои можат да комуницираат едни со други и со надворешни системи. Обезбедува збир на алатки и библиотеки кои им овозможуваат на програмерите да креираат агенти кои можат да расудуваат, учат и да се прилагодуваат на променливите средини. LangChain е изграден на врвот на програмскиот јазик Rust и обезбедува API на високо ниво за градење агенти за вештачка интелигенција.

DSPy: Рамка за оркестрација

DSPy е рамка на Python за градење дистрибуирани системи кои можат да оркестрираат повеќе агенти за вештачка интелигенција. Обезбедува збир на алатки и библиотеки кои им овозможуваат на програмерите да дизајнираат и распоредуваат скалабилни и еластични системи кои можат да управуваат со сложени интеракции помеѓу повеќе агенти. DSPy е изграден на врвот на системот за пораки Apache Kafka и обезбедува API на високо ниво за градење дистрибуирани системи.

Имплементирање агенти за вештачка интелигенција со LangChain и DSPy

За да ги имплементираме агентите за вештачка интелигенција користејќи LangChain и DSPy, треба да ги следиме овие чекори:

  1. Дефинирајте ја архитектурата на агентот: Дефинирајте ја архитектурата на агентот за вештачка интелигенција, вклучувајќи ги влезовите, излезите и интеракциите со други агенти.
  2. Имплементирајте ја логиката на агентот: Имплементирајте ја логиката на агентот за вештачка интелигенција користејќи LangChain, вклучувајќи ги механизмите за расудување, учење и адаптација.
  3. Оркестрирај ги интеракциите на агентите: Користете DSPy за да ги оркестрирате интеракциите помеѓу повеќе агенти за вештачка интелигенција, вклучувајќи ги комуникациските протоколи и механизмите за размена на податоци.
  4. Распореди го системот: распоредете го системот користејќи облак платформа или рамка за контејнеризација, како што е Docker.

Пример на код: Имплементирање на едноставен агент за вештачка интелигенција со LangChain

Еве едноставен пример за код кој покажува како да се имплементира агент за вештачка интелигенција користејќи LangChain:

увозен лангсин
од langchain.синџири увоз LLMCchain


агент = langchain.Agent(
    input_schema={"текст": str},
    output_schema={"текст": str},
    синџир=LLMCланџир(
        model="davinci:instructix",
        max_length=2048,
        температура=0,7,
    ),
)

# Спроведување на логиката на агентот
def agent_logic (влезен_текст):
    output_text = agent.run(input_text)
    врати излез_текст

# Тестирајте го агентот
input_text = "Која е смислата на животот?"
излез_текст = агент_логика (влезен_текст)
печатење (излезен_текст)

Овој пример на код покажува како да се дефинира агент за вештачка интелигенција користејќи LangChain, вклучувајќи ги влезните и излезните шеми и логиката на агентот. Агентот се имплементира со помош на синџир на модел на голем јазик (LLM), кој е тип на агент за вештачка интелигенција што може да расудува и генерира текст.

** Топ 5-10 најкористени команди/парчиња за LangChain и DSPy**

Еве ги првите 5-10 најкористени команди/парчиња за LangChain и DSPy:

  1. langchain.Agent(): Создава нов пример на агент за вештачка интелигенција.
агент = langchain.Agent(
    input_schema={"текст": str},
    output_schema={"текст": str},
    синџир=LLMCланџир(
        model="davinci:instructix",
        max_length=2048,
        температура=0,7,
    ),
)
  1. agent.run(): Го извршува агентот AI со даден влез.
output_text = agent.run(input_text)
  1. DSPy.create_cluster(): Создава нов кластер на јазли за дистрибуираниот систем.
кластер = DSPy.create_cluster(
    број_јазли=5,
    node_type="работник",
)
  1. DSPy.create_agent(): Создава нов примерок на агент за вештачка интелигенција за дистрибуираниот систем.
агент = DSPy.create_agent(
    кластер = кластер,
    agent_type="LLM",
)
  1. DSPy.deploy_agent(): Го распоредува агентот за вештачка интелигенција во дистрибуираниот систем.
DSPy.deploy_agent(
    агент = агент,
    кластер = кластер,
)
  1. DSPy.get_agent_status(): Го враќа статусот на агентот за вештачка интелигенција.
статус = DSPy.get_agent_status(
    агент = агент,
    кластер = кластер,
)
  1. DSPy.update_agent(): Го ажурира агентот за вештачка интелигенција со нови податоци или параметри.
DSPy.update_agent(
    агент = агент,
    кластер = кластер,
    new_data={"text": "нов внесен текст"},
)
  1. DSPy.delete_agent(): Го брише агентот за вештачка интелигенција од дистрибуираниот систем.
DSPy.delete_agent(
    агент = агент,
    кластер = кластер,
)
  1. DSPy.create_chain(): Создава нов синџир на агенти за вештачка интелигенција за дистрибуираниот систем.
синџир = DSPy.create_chain(
    агенти=[агент1, агент2, агент3],
)
  1. DSPy.deploy_chain(): Го распоредува синџирот на агенти за вештачка интелигенција во дистрибуираниот систем.
DSPy.deploy_chain(
    синџир = синџир,
    кластер = кластер,
)

Визуелизација

Еве визуелизација на архитектурата LangChain и DSPy користејќи Chart.js:

{
  "type": "piechart",
  "податоци": {
    "етикети": ["LangChain", "DSPy"],
    "збирки на податоци": [
      {
        "етикета": "Агенти на ВИ",
        "податоци": [50, 50],
        „Боја на позадина“: [„#4CAF50“, „#FF9800“]
      }
    ]
  },
  "опции": {
    "наслов": {
      „екран“: точно,
      "text": "LangChain и DSPy Architecture"
    },
    "легенда": {
      „приказ“: точно
    }
  }
}

Оваа визуелизација ја демонстрира дистрибуцијата на агенти за вештачка интелигенција помеѓу LangChain и DSPy, при што 50% од агентите работат на LangChain и 50% работат на DSPy.

Заклучок

LangChain и DSPy обезбедуваат моќна рамка за градење и оркестрирање на агенти за вештачка интелигенција, овозможувајќи им на програмерите да дизајнираат скалабилни и еластични системи кои можат ефикасно да управуваат со сложените интеракции помеѓу повеќе агенти. Следејќи ги чекорите наведени во овој напис, програмерите можат да имплементираат агенти за вештачка интелигенција користејќи LangChain и DSPy и да ги распоредат во дистрибуиран систем користејќи DSPy. Примерите на кодот и визуелизацијата што се дадени ги демонстрираат можностите на LangChain и DSPy, а првите 5-10 најкористени команди/парчиња обезбедуваат брза референца за програмерите.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn