ym88659208ym87991671
Локальная разработка | Документация для разработчиков

Локальная разработка

Обновлено 24 апреля 2026

Локальная разработка позволяет отладить агента до публикации на стенды GigaLab.

Перед началом работы

Вам понадобятся:

  • Node.js версии 20 и выше;
  • Docker — для тестирования Docker-образа;
  • Ключ авторизации GigaChat API. Ключ передаётся в переменной GIGACHAT_CREDENTIALS.

Запуск с помощью LangGraph CLI

Шаг 1: Установка зависимостей

Установите зависимости и LangGrapg CLI:

# Устанавливаем зависимости агента
npm install

# Устанавливаем LangGraph CLI (в Python venv)
python3 -m venv .venv
source .venv/bin/activate
pip install "langgraph-cli[inmem]"

Шаг 2: Настройка конфигурации

Создайте файл .env с переменными окружения:

# GigaChat
GIGACHAT_CREDENTIALS=<ваш_ключ_base64>
GIGACHAT_SCOPE=GIGACHAT_API_CORP
GIGACHAT_MODEL=GigaChat-2-Max
USE_GIGACHAT_ADVANCED=true
GIGACHAT_BASE_URL=https://gigachat.dev.sberdevices.ru/v1/
GIGACHAT_VERIFY_SSL_CERTS=false

# Опционально
MEMORY_ENABLED=false
AGENT_TZ=Europe/Moscow

Шаг 3: Запуск агента

Для запуска выполните команду:

langgraph dev

После запуска будут доступны:

  • LangGraph Studiohttp://127.0.0.1:2024 (визуальный интерфейс для отладки)
  • APIhttp://127.0.0.1:2024 (REST API для тестирования)

Шаг 4: Тестирование через curl

Пример запроса:

curl -sN http://localhost:2024/runs/stream \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "test-graph-js",
"thread_id": "'$(python3 -c "import uuid; print(uuid.uuid4())")'",
"input": {
"messages": [{"role": "human", "content": "привет"}]
},
"stream_mode": ["messages-tuple", "debug"],
"config": {
"configurable": {"user_id": "test-user"}
}
}'

Идентификатор assistant_id должен совпадать с ключом в langgraph.jsongraphs.

Тестирование через tsx

Для быстрой проверки без LangGraph CLI:

# Установите tsx для dev-зависимостей
npm install -D tsx dotenv

# Создайте test_invoke.ts
import "dotenv/config";
import { graph } from "./agents/test_graph_js/graph.js";
import { HumanMessage } from "@langchain/core/messages";

async function main() {
const result = await graph.invoke(
{ messages: [new HumanMessage("привет")] },
{ configurable: { thread_id: "test-1", user_id: "test-user" } },
);
const last = result.messages[result.messages.length - 1];
console.log("Response:", last.content);
}

main();
NODE_TLS_REJECT_UNAUTHORIZED=0 npx tsx test_invoke.ts

Тестирование через Docker

Для проверки совместимости со средой исполнения GigaLab:

# Сборка образа (замените тег на актуальный)
docker build -t my-agent:test .

# Запуск
docker run --env-file .env -p 8080:8080 my-agent:test

Образ должен наследоваться от registry.sberdevices.ru/public-repository/giga-labs/agent-toolkit:<version>-js. Проверьте актуальную версию в Dockerfile.

Отладка

Все логи агента сохраняются в Kibana:

Чтобы вывести лог работы агента, используйте console.log().

Конфигурация GigaChat логируется при старте агента:

[graph] GigaChat config: {
model: 'GigaChat-2-Max',
scope: 'GIGACHAT_API_CORP',
credentials_present: true,
use_advanced: true,
base_url: 'https://gigachat.dev.sberdevices.ru/v1/',
auth_url: 'https://gigachat.dev.sberdevices.ru/v1/token'
}

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.