Перейти к содержанию

Приложение 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
Формат запроса
{
  "model": "gpt-4o-mini",
  "messages": [
    {"role": "user", "content": "{{prompt}}"}
  ],
  "temperature": 0.7,
  "max_tokens": 500
}
Формат ответа
{
  "choices": [
    {
      "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 вернёт ошибку.

Формат запроса
{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "{{prompt}}"}
  ]
}
Формат ответа
{
  "content": [
    {
      "text": "Ответ модели..."
    }
  ]
}

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
Формат запроса
{
  "model": "deepseek-chat",
  "messages": [
    {"role": "user", "content": "{{prompt}}"}
  ],
  "temperature": 0.7
}

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.
Формат запроса
{
  "model": "GigaChat",
  "messages": [
    {"role": "user", "content": "{{prompt}}"}
  ],
  "temperature": 0.7,
  "max_tokens": 500,
  "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.
Формат запроса
{
  "modelUri": "gpt://YOUR_FOLDER_ID/yandexgpt-lite/latest",
  "completionOptions": {
    "stream": false,
    "temperature": 0.7,
    "maxTokens": "500"
  },
  "messages": [
    {"role": "user", "text": "{{prompt}}"}
  ]
}
Формат ответа
{
  "result": {
    "alternatives": [
      {
        "message": {
          "text": "Ответ модели..."
        }
      }
    ]
  }
}

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 секунд.

Формат запроса
{
  "model": "meta-llama/Llama-3.1-8B-Instruct",
  "messages": [
    {"role": "user", "content": "{{prompt}}"}
  ],
  "max_tokens": 500,
  "temperature": 0.7
}

Кастомные провайдеры

Помимо встроенных провайдеров, можно подключить любую модель с 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}} автоматически заменяется на текст атакующего промпта при выполнении сканирования.