Создание автономных AI-решений: интеграция инструментов Arcade с Gemini API и агентами LangGraph
Подробный гайд по интеграции инструментов Arcade в агентов LangGraph с использованием API Gemini для создания мощных автономных AI-решений.
Преобразование агентов LangGraph с помощью инструментов Arcade
Arcade превращает агентов LangGraph из статичных чат-ботов в динамичных ассистентов, способных выполнять реальные действия. Платформа предоставляет готовый набор инструментов, включая веб-скрапинг, поиск, а также специализированные API для финансов, карт и других областей.
Настройка и инициализация инструментов
Для начала установите необходимые библиотеки, включая LangChain, интеграцию Arcade, коннектор Google GenAI и фреймворк оркестрации LangGraph.
!pip install langchain langchain-arcade langchain-google-genai langgraphБезопасно загрузите ваши ключи API Gemini и Arcade в переменные окружения, чтобы защитить данные доступа.
from getpass import getpass
import os
if "GOOGLE_API_KEY" not in os.environ:
os.environ["GOOGLE_API_KEY"] = getpass("Gemini API Key: ")
if "ARCADE_API_KEY" not in os.environ:
os.environ["ARCADE_API_KEY"] = getpass("Arcade API Key: ")Инициализируйте ArcadeToolManager с вашим API ключом, затем получите отдельные инструменты, например Web.ScrapeUrl, или целые наборы инструментов, например Google.
from langchain_arcade import ArcadeToolManager
manager = ArcadeToolManager(api_key=os.environ["ARCADE_API_KEY"])
tools = manager.get_tools(tools=["Web.ScrapeUrl"], toolkits=["Google"])
print("Загруженные инструменты:", [t.name for t in tools])Настройка чат-модели Gemini Developer API
Создайте модель Gemini с детерминированными параметрами для предсказуемых ответов и привяжите к ней инструменты Arcade.
from langchain_google_genai import ChatGoogleGenerativeAI
from langgraph.checkpoint.memory import MemorySaver
model = ChatGoogleGenerativeAI(
model="gemini-1.5-flash",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
)
bound_model = model.bind_tools(tools)
memory = MemorySaver()Создание агента LangGraph в стиле ReAct
С помощью готовых функций LangGraph создайте агента ReAct, который объединяет модель Gemini, инструменты Arcade и управление памятью для сохранения состояния между вызовами.
from langgraph.prebuilt import create_react_agent
graph = create_react_agent(
model=bound_model,
tools=tools,
checkpointer=memory
)Запуск агента с пользовательским вводом
Настройте конфигурацию и запрос пользователя, затем получайте потоковые ответы от агента. Обрабатывайте ошибки авторизации корректно.
from langgraph.errors import NodeInterrupt
config = {
"configurable": {
"thread_id": "1",
"user_id": "user@example.com"
}
}
user_input = {
"messages": [
("user", "Перечисли новые и важные письма в моём почтовом ящике.")
]
}
try:
for chunk in graph.stream(user_input, config, stream_mode="values"):
chunk["messages"][-1].pretty_print()
except NodeInterrupt as exc:
print(f"\n NodeInterrupt: {exc}")
print("Пожалуйста, обновите авторизацию инструмента или скорректируйте запрос и запустите снова.")Преимущества интеграции Arcade с Gemini и LangGraph
Такая архитектура дает мгновенный доступ к экосистеме внешних инструментов без необходимости создавать сложные интеграции с нуля. Паттерн bind_tools объединяет внешние возможности Arcade с языковым интеллектом Gemini, а LangGraph управляет вызовами инструментов в ответ на запросы пользователя. Независимо от того, нужно ли вам собирать данные с веб-сайтов, автоматизировать рутинные задачи или использовать специализированные API, Arcade масштабируется под ваши задачи, позволяя легко менять инструменты и наборы инструментов по мере развития ваших проектов.
Switch Language
Read this article in English