<НА ГЛАВНУЮ

Создание автономных 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

Switch to English