Перейти к основному содержанию
Плагины расширяют возможности любой модели, добавляя функции поиска в интернете, обработки PDF и автоматического исправления JSON. Плагины подключаются через параметр plugins в запросе.

Доступные плагины

ПлагинIDОписание
Поиск в интернетеwebДополнение ответов актуальными данными из интернета
Парсинг файловfile-parserИзвлечение текста из PDF документов
Исправление ответовresponse-healingАвтоматическое исправление невалидного JSON в ответах

Подключение плагинов

Добавьте массив plugins в запрос к /v1/chat/completions:
import OpenAI from 'openai';

const openai = new OpenAI({
  baseURL: 'https://polza.ai/api/v1',
  apiKey: '<POLZA_AI_API_KEY>'
});

const completion = await openai.chat.completions.create({
  model: 'openai/gpt-4o',
  messages: [
    { role: 'user', content: 'Какие последние новости в сфере AI?' }
  ],
  // @ts-ignore — plugins не входит в типы OpenAI SDK
  plugins: [
    { id: 'web' }
  ]
});

Несколько плагинов

Можно подключить несколько плагинов одновременно:
{
  "model": "openai/gpt-4o",
  "messages": [...],
  "plugins": [
    { "id": "web", "max_results": 3 },
    { "id": "response-healing" }
  ],
  "response_format": {
    "type": "json_schema",
    "json_schema": { ... }
  }
}

Отключение плагина

Чтобы отключить плагин для конкретного запроса, передайте enabled: false:
{
  "plugins": [
    { "id": "web", "enabled": false }
  ]
}

Поиск в интернете (web)

Плагин web дополняет ответ модели актуальными результатами поиска в интернете.

Шорткат :online

Вместо указания плагина можно добавить :online к имени модели:
{
  "model": "openai/gpt-4o:online"
}
Это эквивалентно:
{
  "model": "openai/gpt-4o",
  "plugins": [{ "id": "web" }]
}

Параметры

ПараметрТипОписание
enabledbooleanВключить/выключить плагин
max_resultsnumberМаксимум результатов поиска (по умолчанию 5)
search_promptstringПользовательский промпт для поиска
enginestringПоисковый движок: native или exa

Выбор поискового движка

ЗначениеОписание
nativeВстроенный поиск провайдера (OpenAI, Anthropic, Perplexity, xAI)
exaПоиск через Exa — комбинация ключевых слов и эмбеддингов
Не указанАвтоматически: native если доступен, иначе exa

Пример с настройками

{
  "model": "openai/gpt-4o",
  "plugins": [
    {
      "id": "web",
      "engine": "exa",
      "max_results": 3,
      "search_prompt": "Найти актуальную информацию:"
    }
  ]
}

Альтернативный синтаксис: web_search_options

Для нативного поиска OpenAI также поддерживается параметр web_search_options:
{
  "model": "openai/gpt-4o",
  "web_search_options": {
    "search_context_size": "medium"
  }
}
Значения search_context_size: low, medium, high.

Парсинг результатов поиска

Результаты поиска возвращаются в поле annotations ответа:
{
  "message": {
    "role": "assistant",
    "content": "Последние новости: ...",
    "annotations": [
      {
        "type": "url_citation",
        "url_citation": {
          "url": "https://example.com/article",
          "title": "Заголовок статьи",
          "content": "Содержание результата",
          "start_index": 100,
          "end_index": 200
        }
      }
    ]
  }
}

Парсинг файлов (file-parser)

Плагин file-parser извлекает текст из PDF документов для обработки моделью.

Параметры

ПараметрТипОписание
enabledbooleanВключить/выключить плагин
pdf.enginestringДвижок обработки PDF

Движки обработки PDF

ЗначениеОписание
pdf-textИзвлечение текста из PDF
mistral-ocrOCR через Mistral (для сканов и изображений)
nativeВстроенная обработка провайдера

Пример

{
  "model": "openai/gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Проанализируй этот документ" },
        {
          "type": "file",
          "file": {
            "filename": "report.pdf",
            "file_data": "data:application/pdf;base64,..."
          }
        }
      ]
    }
  ],
  "plugins": [
    { "id": "file-parser", "pdf": { "engine": "mistral-ocr" } }
  ]
}

Исправление ответов (response-healing)

Плагин response-healing автоматически исправляет невалидный JSON в ответах моделей. Полезен при использовании response_format с json_schema.

Параметры

ПараметрТипОписание
enabledbooleanВключить/выключить плагин

Пример

{
  "model": "openai/gpt-4o",
  "plugins": [
    { "id": "response-healing" }
  ],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "result",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "answer": { "type": "string" }
        },
        "required": ["answer"],
        "additionalProperties": false
      }
    }
  }
}

Следующие шаги