Подключите Yandex AI Studio, чтобы выполнять запросы генерации текста и эмбеддингов CodeGraph через API провайдера. Сценарии анализа используют общий интерфейс: передают системную инструкцию и вопрос пользователя, а получают текст ответа, сведения о модели и расходе токенов.
CodeGraph читает настройки из config.yaml, подставляет значения переменных окружения и подключает выбранного провайдера. Переменная CODEGRAPH_LLM_PROVIDER выбирает его для текущего процесса. Если она не задана, CodeGraph использует llm.provider. Выберите доступную вашей учётной записи модель и квоту, затем проверьте подключение запросом ниже.
Какие данные передаются
При генерации отправляются system_prompt, user_prompt и параметры. Для эмбеддингов передаются
исходные тексты. Запросы выходят из контура CodeGraph на настроенный адрес API Yandex.
Клиент устанавливает x-folder-id и x-data-logging-enabled: false. Второй заголовок отключает журналирование запросов у провайдера; механизм описан в документации Yandex. См. Безопасность LLM.
Настройка учётных данных
Выполняйте команды в PowerShell из корня исходного репозитория CodeGraph с установленным
Python-окружением проекта. Замените значения в угловых скобках одобренными значениями.
Объедините фрагмент YAML с существующим разделом llm; не создавайте второй одноимённый раздел.
Храните ключ в одобренном менеджере секретов, а CodeGraph передавайте только ссылки на окружение:
$env:CODEGRAPH_LLM_PROVIDER = 'yandex'
$env:YANDEX_API_KEY = '<secret-from-approved-store>'
$env:YANDEX_FOLDER_ID = '<approved-folder-id>'
llm:
provider: yandex
yandex:
api_key: ${YANDEX_API_KEY}
folder_id: ${YANDEX_FOLDER_ID}
model: <approved-model-name>
base_url: https://llm.api.cloud.yandex.net/v1
embedding_model: <approved-embedding-model>
timeout: 60
Провайдер формирует URI генерации как gpt://<folder_id>/<model>, а эмбеддингов — как
emb://<folder_id>/<model>. Политика IAM каталога должна разрешать только нужные пилоту операции.
Храните API-ключ в менеджере секретов.
Выбор моделей
Укажите в model и embedding_model модели, доступные вашему каталогу. CodeGraph преобразует совместимые псевдонимы модели в её имя и строит URI с идентификатором каталога. Сверьте интерфейс со справочником Yandex AI Studio API, а доступ к моделям и квоту — с настройками учётной записи.
Перед изменением сохраните текущие настройки. Меняйте модели генерации и эмбеддингов отдельно: так результат проверки можно связать с одним параметром.
Проверка интеграции
Сначала выполните python -m src.cli llm providers: команда показывает провайдера из конфигурации и наличие переменных с учётными данными. Для приведённого запроса выбор задаёт CODEGRAPH_LLM_PROVIDER; фактически использованный провайдер указан в поле provider ответа. Затем выполните запрос из корня репозитория в той же сессии 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 или квоты выполните подходящее действие из следующего раздела и повторите вопрос после исправления настройки.
Обработка сбоев
- Ошибка аутентификации или каталога: проверьте права ключа и
YANDEX_FOLDER_ID, затем безопасно ротируйте ключ. - Недоступная модель: проверьте настроенное имя и доступ к модели в вашем каталоге.
- Ограничение запросов: снизьте параллелизм или запросите квоту, не создавая бесконечный повтор.
- Превышение времени ожидания или ошибка сети: до увеличения времени проверьте политику сети и размер запроса.
- Несовместимая политика данных: остановите удалённую обработку и выберите одобренный контур.
Для отката верните предыдущего провайдера или модель и повторите создание клиента и ограниченную сквозную проверку.
Связанные руководства
- Конфигурация — выбор провайдера и настройки экземпляра.
- Командная строка — подготовка Python-окружения и запуск команд.
- Диагностика — проверка сервисов и сбор сведений о сбое.