> ## Documentation Index
> Fetch the complete documentation index at: https://polza.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Плагины

> Расширение возможностей моделей с помощью плагинов

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

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

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

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

Добавьте массив `plugins` в запрос к `/v1/chat/completions`:

<CodeGroup>
  ```typescript TypeScript theme={null}
  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' }
    ]
  });
  ```

  ```python Python theme={null}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://polza.ai/api/v1",
      api_key="<POLZA_AI_API_KEY>"
  )

  completion = client.chat.completions.create(
      model="openai/gpt-4o",
      messages=[
          {"role": "user", "content": "Какие последние новости в сфере AI?"}
      ],
      extra_body={
          "plugins": [
              {"id": "web"}
          ]
      }
  )
  ```

  ```bash cURL theme={null}
  curl -X POST "https://polza.ai/api/v1/chat/completions" \
    -H "Authorization: Bearer <POLZA_AI_API_KEY>" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "openai/gpt-4o",
      "messages": [
        {"role": "user", "content": "Какие последние новости в сфере AI?"}
      ],
      "plugins": [
        {"id": "web"}
      ]
    }'
  ```
</CodeGroup>

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

Можно подключить несколько плагинов одновременно:

```json theme={null}
{
  "model": "openai/gpt-4o",
  "messages": [...],
  "plugins": [
    { "id": "web", "max_results": 3 },
    { "id": "response-healing" }
  ],
  "response_format": {
    "type": "json_schema",
    "json_schema": { ... }
  }
}
```

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

Чтобы отключить плагин для конкретного запроса, передайте `enabled: false`:

```json theme={null}
{
  "plugins": [
    { "id": "web", "enabled": false }
  ]
}
```

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

Плагин `web` дополняет ответ модели актуальными результатами поиска в интернете. Работает с любой моделью — от GPT-5 до Claude и Gemini.

Подробное руководство по веб-поиску, включая параметры, формат ответа, совместимость моделей и Responses API — на странице [Поиск в интернете](/gaidy/web-search).

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

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

### Параметры

| Параметр     | Тип     | Описание                  |
| ------------ | ------- | ------------------------- |
| `enabled`    | boolean | Включить/выключить плагин |
| `pdf.engine` | string  | Движок обработки PDF      |

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

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

### Пример

```json theme={null}
{
  "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`.

### Параметры

| Параметр  | Тип     | Описание                  |
| --------- | ------- | ------------------------- |
| `enabled` | boolean | Включить/выключить плагин |

### Пример

```json theme={null}
{
  "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
      }
    }
  }
}
```

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

<CardGroup cols={2}>
  <Card title="Поиск в интернете" icon="globe" href="/gaidy/web-search">
    Подробный гайд по веб-поиску для любой модели
  </Card>

  <Card title="Tool Calling" icon="wrench" href="/gaidy/tool-calling">
    Вызов функций для получения данных
  </Card>

  <Card title="Структурный вывод" icon="brackets-curly" href="/gaidy/structured-output">
    Получение структурированных данных
  </Card>
</CardGroup>
