Загрузка...

Блог

Code Executor: API и примеры использования

Code Executor: API и примеры использования

Code Executor доступен по HTTP (NodePort) или внутри кластера; все вызовы API, кроме /health и /metrics, требуют заголовок X-API-Key.

Установка и доступ

Развертывание: kubectl apply -k k8s/apps/code-executor/. Проверка: kubectl get pods -n apps -l app=code-executor, curl <host>/health. Требуются: Kubernetes, PostgreSQL, LiteLLM Proxy, образ code-linter:latest для выполнения кода.

Основные endpoints

МетодПутьНазначение
GET/healthПроверка здоровья (без ключа)
GET/metricsМетрики Prometheus (без ключа)
POST/api/generateГенерация и выполнение кода с автоисправлением
GET/api/historyИстория заданий
GET/api/statisticsСтатистика использования

POST /api/generate

Основные параметры запроса: task — задание на естественном языке; language — python, javascript, typescript, go, bash; test_cases — массив проверок; max_retries — максимум попыток перегенерации; use_cache, use_self_consistency, num_candidates; timeout_seconds, max_code_size.

Поле ответаОписание
codeИтоговый сгенерированный код
successtrue, если выполнение прошло успешно
execution_resultexit_code, stdout, stderr — результат запуска в Job
attemptsЧисло попыток до успеха (1 при первой удаче)
tests_passed / tests_totalСколько тестовых случаев пройдено
final_errorТекст последней ошибки (если не удалось)

Примеры

curl: curl -X POST <host>/api/generate -H "X-API-Key: ВАШ_КЛЮЧ" -H "Content-Type: application/json" -d '{"task": "Напиши функцию на Python, которая считает факториал", "language": "python", "test_cases": ["factorial(5) == 120"]}'.

Python: requests.post(url, headers={"X-API-Key": key, "Content-Type": "application/json"}, json={"task": "...", "language": "python", "test_cases": [...]}) — в ответе result["code"], result["success"], result["attempts"].

Практика с библиотекой Adminica

Тема «Code Executor» лучше всего раскрывается на ваших материалах: кураторская библиотека плюс документы профиля и org-библиотека (если подключена). Задайте в чате конкретный вопрос, проверьте блок источников и при необходимости уточните формулировку — так RAG даёт воспроизводимый ответ, а не общий пересказ.

Короткий чек-лист

  • Один главный вопрос за сообщение; контекст — во вложении или ссылке на запись архива.
  • После обновления документов дождитесь индексации, прежде чем сравнивать ответы.
  • Для командных регламентов храните master-копию в согласованном разделе базы знаний.

Тарифы и on-prem зависят от контура; начните с чата на своих данных и оцените качество по цитатам, а не только по гладкости текста.

Итого: Главный endpoint — POST /api/generate с task, language и при необходимости test_cases; аутентификация через X-API-Key; история и статистика — через /api/history и /api/statistics.