Подключите GigaChat, чтобы выполнять запросы генерации текста и эмбеддингов CodeGraph через API провайдера. Сценарии анализа используют общий интерфейс: передают системную инструкцию и вопрос пользователя, а получают текст ответа, сведения о модели и расходе токенов.
CodeGraph читает настройки из config.yaml, подставляет значения переменных окружения и подключает выбранного провайдера. Переменная CODEGRAPH_LLM_PROVIDER выбирает его для текущего процесса. Если она не задана, CodeGraph использует llm.provider. Выберите доступную вашей учётной записи модель и квоту, затем проверьте подключение запросом ниже.
Какие данные передаются
При генерации ответа CodeGraph отправляет на адрес API системную инструкцию, вопрос пользователя и параметры генерации. Потоковый режим передаёт те же входные данные и возвращает ответ по частям. Для эмбеддингов CodeGraph передаёт исходный текст и получает его числовое представление. GigaChat обрабатывает эти запросы в своей инфраструктуре.
Классифицируйте и редактируйте данные до вызова провайдера. Общие меры описаны в Безопасности LLM.
Настройка учётных данных
По быстрому старту Sber, с 1 сентября 2026 года новые клиенты и клиенты, ранее не покупавшие
пакеты, могут оплачивать работу с моделями через Cloud.ru. Сервис Foundation Models
предоставляет OpenAI-совместимый API. В CodeGraph выберите провайдера openai и укажите ключ,
адрес API и ID модели из Cloud.ru. Например:
$env:CODEGRAPH_LLM_PROVIDER = 'openai'
$env:OPENAI_API_KEY = '<cloud.ru-api-key>'
llm:
provider: openai
openai:
api_key: ${OPENAI_API_KEY}
base_url: https://foundation-models.api.cloud.ru/v1
model: <model-id-from-cloud.ru>
См. быстрый старт Cloud.ru Foundation Models и справочник API. Совместимый API описывает список моделей и генерацию ответа; справочник совместимости не описывает запросы эмбеддингов.
Для действующей учётной записи GigaChat API используйте нативную настройку ниже. В кабинете проекта откройте «Настройки API» и создайте Authorization Key.
Выполняйте команды в PowerShell из корня исходного репозитория CodeGraph с установленным
Python-окружением проекта и пакетом langchain-gigachat. Подготовьте проект GigaChat API,
доступ к выбранной модели и квоту. Создайте Authorization Key в кабинете проекта и сохраните
его в хранилище секретов. Порядок работы с существующими аккаунтами описан в быстрых стартах
GigaChat API: для физических лиц
и для бизнеса.
Замените значения в угловых скобках своим ключом и именем модели.
Объедините фрагмент YAML с существующим разделом llm; не создавайте второй одноимённый раздел.
Храните секрет вне репозитория. Команда просмотра конфигурации CLI распознаёт GIGACHAT_AUTH_KEY. Фрагмент YAML ниже подставляет её значение в credentials. Для использования GIGACHAT_CREDENTIALS укажите ${GIGACHAT_CREDENTIALS} в том же поле.
$env:CODEGRAPH_LLM_PROVIDER = 'gigachat'
$env:GIGACHAT_AUTH_KEY = '<secret-from-approved-store>'
В config.yaml оставьте только ссылку на окружение:
llm:
provider: gigachat
gigachat:
credentials: ${GIGACHAT_AUTH_KEY}
model: <approved-model-name>
base_url: https://api.giga.chat/v1
scope: GIGACHAT_API_PERS
verify_ssl_certs: true
ca_bundle_file: ''
base_url задаёт адрес запросов к моделям: в примере указан https://api.giga.chat/v1 из документации провайдера. SDK получает токен доступа по ключу авторизации.
По умолчанию verify_ssl_certs равен true. Если корпоративный TLS-прокси использует частный
центр сертификации, укажите одобренный ca_bundle_file вместо отключения проверки. Храните ключ и содержащий его .env вне Git.
Выбор модели и scope
Укажите в model имя модели, доступной вашей учётной записи GigaChat. CodeGraph передаёт это имя в запросах к API. Выберите scope по типу доступа: GIGACHAT_API_PERS для физических лиц, GIGACHAT_API_B2B для бизнеса с предоплатой или GIGACHAT_API_CORP для бизнеса с оплатой по использованию. Значения описаны в справочнике авторизации провайдера.
Перед изменением сохраните текущие значения провайдера и модели. Проверьте доступ к модели и квоту в кабинете, затем меняйте по одному параметру.
Проверка интеграции
Сначала выполните python -m src.cli llm providers: команда показывает настроенного провайдера и наличие переменных с учётными данными. Затем выполните запрос из корня репозитория в той же сессии PowerShell. Пример загружает полный раздел llm и отправляет выбранному провайдеру короткий вопрос:
$env:PYTHONUTF8 = '1'
@'
import json
from src.llm import create_llm_provider
provider = create_llm_provider()
response = provider.generate(
system_prompt="Explain software concepts in one short sentence.",
user_prompt="What is a call graph?",
max_tokens=128,
)
print(response.content)
fields = ("provider", "model", "latency_ms", "prompt_tokens", "completion_tokens")
print(json.dumps({key: response.metadata.get(key) for key in fields}, ensure_ascii=False))
'@ | python -
Ожидаемый результат — одно предложение о том, что граф вызовов связывает функции через их вызовы, затем строка JSON с метаданными. Формулировка зависит от модели. Проверьте provider, model и latency_ms; сопоставьте prompt_tokens и completion_tokens с записью об использовании в кабинете провайдера.
Пример запрашивает не более 128 выходных токенов. При ошибке авторизации, доступа к модели, TLS или квоты выполните подходящее действие из следующего раздела и повторите вопрос после исправления настройки.
Обработка сбоев
- Ошибка учётных данных или
scope: проверьте одобренную учётную запись и ротируйте секрет без логов. - Ошибка TLS: проверьте адрес API и цепочку CA, не отключая
verify_ssl_certs. - Ограничение запросов: снизьте параллелизм или запросите квоту; повторите запрос после восстановления квоты.
- Неизвестная модель: проверьте настроенное имя и доступ к модели в учётной записи.
- Превышение времени ожидания: проверьте соединение с GigaChat и размер запроса.
Для отката верните прежнего провайдера или модель и повторите вопрос из раздела «Проверка интеграции». Сверьте ответ и имя модели в метаданных.
Следующие шаги
- Конфигурация — подключение провайдера к остальным настройкам CodeGraph.
- Программное использование — вызовы анализа из Python.
- Безопасность LLM — управление данными, которые передаются модели.