Использование 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 тысячами участников и подписывайтесь на нашу рассылку.

Источник

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