Развернуть
Локальная разработка
Обновлено 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 Studio —
http://127.0.0.1:2024(визуальный интерфейс для отладки) - API —
http://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.json → graphs.
Тестирование через 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'
}