Использование Python-A2A для создания и подключения финансовых агентов с помощью протокола Google Agent-to-Agent (A2A)

Python A2A — это реализация протокола Google Agent-to-Agent (A2A), который позволяет агентам искусственного интеллекта взаимодействовать друг с другом, используя общий стандартизированный формат. Это устраняет необходимость в индивидуальной интеграции между сервисами.

В этом руководстве мы будем использовать подход, основанный на декораторах, который предоставляет библиотека python-a2a. С помощью простых декораторов @agent и @skill вы можете определить личность и поведение вашего агента, а библиотека позаботится об обработке протокола и потоке сообщений.

Этот метод идеально подходит для быстрого создания полезных агентов, ориентированных на решение конкретных задач, не беспокоясь о логике низкоуровневого взаимодействия.

Установка зависимостей

Чтобы начать работу, вам необходимо установить библиотеку python-a2a, которая предоставляет чёткую абстракцию для создания и запуска агентов, следующих протоколу A2A.

Откройте терминал и выполните команду:

`pip install python-a2A`

Создание агентов

В этом руководстве мы создадим двух агентов:

* один для расчёта доходности по акциям на основе инвестиций, ставки и времени;
* другой для корректировки суммы с учётом инфляции за период в несколько лет.

Агент EMI (emi_agent.py)

«`python
from pythona2a import A2AServer, skill, agent, runserver, TaskStatus, TaskState
import re

@agent(
name=»EMI Calculator Agent»,
description=»Calculates EMI for a given principal, interest rate, and loan duration»,
version=»1.0.0″
)
class EMIAgent(A2AServer):
# …
«`

Агент инфляции (inflation_agent.py)

«`python
from pythona2a import A2AServer, skill, agent, runserver, TaskStatus, TaskState
import re

@agent(
name=»Inflation Adjusted Amount Agent»,
description=»Calculates the future value adjusted for inflation»,
version=»1.0.0″
)
class InflationAgent(A2AServer):
# …
«`

Создание сети агентов

Сначала запустите обоих агентов в двух отдельных терминалах:

`python emi_agent.py`
`python inflation_agent.py`

Каждый из этих агентов предоставляет конечную точку REST API (например, http://localhost:4737 для EMI, http://localhost:4747 для инфляции). Они прослушивают входящие задачи (например, «рассчитать EMI для ₹2,00,000…») и отвечают текстовыми ответами.

Теперь мы добавим этих двух агентов в нашу сеть:

«`python
from python_a2a import AgentNetwork, A2AClient, AIAgentRouter

Create an agent network

network = AgentNetwork(name=»Economics Calculator»)

Add agents to the network

network.add(«EMI», «http://localhost:4737»)
network.add(«Inflation», «http://localhost:4747»)
«`

Далее мы создадим маршрутизатор для интеллектуальной маршрутизации запросов к лучшему агенту. Это основная утилита протокола A2A — он определяет стандартный формат задач, чтобы агенты могли обрабатываться единообразно, а маршрутизаторы могли принимать интеллектуальные решения о маршрутизации с использованием LLM.

«`python
router = AIAgentRouter(
llm_client=A2AClient(«http://localhost:5000/openai»), # LLM for making routing decisions
agent_network=network
)
«`

Наконец, мы отправим запросы агентам:

«`python
query = «Calculate EMI for ₹200000 at 5% interest over 18 months.»
agentname, confidence = router.routequery(query)
print(f»Routing to {agent_name} with {confidence:.2f} confidence»)

Get the selected agent and ask the question

agent = network.getagent(agentname)
response = agent.ask(query)
print(f»Response: {response}»)
«`

Проверьте записные книжки — inflationagent.py, network.ipynb и emiagent.py. Все заслуги за это исследование принадлежат исследователям этого проекта. Также подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в ML SubReddit с более чем 100 тысячами участников и подписывайтесь на нашу рассылку.

Источник

Оставьте комментарий