Приложение D. Провайдеры¶
Полная конфигурация 6 встроенных LLM-провайдеров и инструкция по подключению кастомных моделей.
Встроенные провайдеры¶
OpenAI (ChatGPT, GPT-4)¶
| Параметр | Значение |
|---|---|
| Base URL | https://api.openai.com/v1/chat/completions |
| Аутентификация | Bearer Token |
| Заголовок | Authorization: Bearer {{api_key}} |
| Модели | gpt-4o-mini, gpt-4o, gpt-4-turbo, gpt-4, gpt-3.5-turbo |
| Timeout | 60 000 мс |
| content_path | choices.0.message.content |
Формат запроса
Anthropic Claude¶
| Параметр | Значение |
|---|---|
| Base URL | https://api.anthropic.com/v1/messages |
| Аутентификация | API Key |
| Заголовок | x-api-key: {{api_key}} |
| Доп. заголовок | anthropic-version: 2023-06-01 |
| Модели | claude-3-5-sonnet-20241022, claude-3-opus-20240229, claude-3-sonnet-20240229, claude-3-haiku-20240307 |
| Timeout | 90 000 мс |
| content_path | content.0.text |
Обязательный заголовок
Anthropic Claude требует заголовок anthropic-version: 2023-06-01 в каждом запросе. Без него API вернёт ошибку.
Формат запроса
DeepSeek¶
| Параметр | Значение |
|---|---|
| Base URL | https://api.deepseek.com/v1/chat/completions |
| Аутентификация | Bearer Token |
| Заголовок | Authorization: Bearer {{api_key}} |
| Модели | deepseek-chat, deepseek-coder |
| Timeout | 60 000 мс |
| content_path | choices.0.message.content |
Формат запроса
OpenAI-совместимый API
DeepSeek использует формат запросов и ответов, полностью совместимый с OpenAI Chat Completions API.
GigaChat (Sber)¶
| Параметр | Значение |
|---|---|
| Base URL | https://gigachat.devices.sberbank.ru/api/v1/chat/completions |
| Аутентификация | Bearer Token (OAuth2) |
| Заголовок | Authorization: Bearer {{api_key}} |
| Модели | GigaChat, GigaChat-Plus, GigaChat-Pro, GigaChat-Max |
| Timeout | 60 000 мс |
| content_path | choices.0.message.content |
| SSL verify | false |
Особенности GigaChat
- SSL-сертификат: GigaChat использует сертификат Минцифры РФ, требуется
verify=falseдля HTTPS-запросов. - OAuth2-токен: Для получения Bearer-токена необходимо предварительно пройти OAuth2-авторизацию через
https://ngw.devices.sberbank.ru:9443/api/v2/oauth. - Формат запроса: OpenAI-совместимый, но обязательно нужно добавить
"stream": false.
Формат запроса
YandexGPT¶
| Параметр | Значение |
|---|---|
| Base URL | https://llm.api.cloud.yandex.net/foundationModels/v1/completion |
| Аутентификация | API Key |
| Заголовок | Authorization: Api-Key {{api_key}} |
| Модели | yandexgpt-lite/latest, yandexgpt/latest, yandexgpt-32k/latest |
| Timeout | 60 000 мс |
| content_path | result.alternatives.0.message.text |
Нестандартный формат
YandexGPT использует собственный формат запроса, несовместимый с OpenAI. Ключевые отличия:
- Вместо
model— полеmodelUriвидаgpt://FOLDER_ID/MODEL/latest. - Вместо
messages[].content— полеmessages[].text. - Параметры генерации вложены в объект
completionOptions.
Формат запроса
HuggingFace Inference API¶
| Параметр | Значение |
|---|---|
| Base URL | https://api-inference.huggingface.co/models/{model}/v1/chat/completions |
| Аутентификация | Bearer Token |
| Заголовок | Authorization: Bearer {{api_key}} |
| Модели | meta-llama/Llama-3.1-8B-Instruct, mistralai/Mistral-7B-Instruct-v0.3, google/gemma-2-9b-it |
| Timeout | 120 000 мс |
| content_path | choices.0.message.content |
Cold start
HuggingFace Inference API может быть недоступен в течение 30--60 секунд при первом запросе (cold start), если модель не загружена в память. Рекомендуемый timeout — 120 секунд.
Формат запроса
Кастомные провайдеры¶
Помимо встроенных провайдеров, можно подключить любую модель с HTTP API. Наиболее распространённые сценарии:
Ollama (локальная модель)¶
| Параметр | Значение |
|---|---|
| Base URL | http://host.docker.internal:11434/v1/chat/completions |
| Аутентификация | Без аутентификации |
| content_path | choices.0.message.content |
Конфигурация модели
{
"name": "local-llama3",
"provider": "custom",
"base_url": "http://host.docker.internal:11434/v1/chat/completions",
"request_format": {
"model": "llama3",
"messages": [{"role": "user", "content": "{{prompt}}"}],
"temperature": 0.7,
"max_tokens": 500
},
"response_format": {
"content_path": "choices.0.message.content"
},
"auth_type": "none",
"timeout_ms": 120000
}
vLLM (OpenAI-compatible сервер)¶
| Параметр | Значение |
|---|---|
| Base URL | http://<server>:8000/v1/chat/completions |
| Аутентификация | Без аутентификации или Bearer Token |
| content_path | choices.0.message.content |
Конфигурация модели
{
"name": "vllm-mistral",
"provider": "custom",
"base_url": "http://vllm-server:8000/v1/chat/completions",
"request_format": {
"model": "mistralai/Mistral-7B-Instruct-v0.3",
"messages": [{"role": "user", "content": "{{prompt}}"}],
"temperature": 0.7,
"max_tokens": 500
},
"response_format": {
"content_path": "choices.0.message.content"
},
"auth_type": "bearer",
"auth_header_name": "Authorization",
"auth_value_template": "Bearer {{api_key}}",
"timeout_ms": 60000
}
Сводная таблица провайдеров¶
| Провайдер | Аутентификация | Формат API | Timeout | SSL | Особенности |
|---|---|---|---|---|---|
| OpenAI | Bearer | OpenAI Chat | 60 с | Стандартный | Эталонный формат |
| Anthropic Claude | API Key (x-api-key) |
Anthropic Messages | 90 с | Стандартный | Требует anthropic-version |
| DeepSeek | Bearer | OpenAI Chat | 60 с | Стандартный | OpenAI-совместимый |
| GigaChat | Bearer (OAuth2) | OpenAI Chat | 60 с | verify=false |
OAuth2 токен, сертификат Минцифры |
| YandexGPT | API Key | YandexGPT (собственный) | 60 с | Стандартный | modelUri, completionOptions |
| HuggingFace | Bearer | OpenAI Chat | 120 с | Стандартный | Cold start до 60 с |
| Custom | Настраивается | Настраивается | Настраивается | Настраивается | Ollama, vLLM и др. |
Шаблон {{prompt}}
Во всех форматах запросов плейсхолдер {{prompt}} автоматически заменяется на текст атакующего промпта при выполнении сканирования.