Для получения чистого Markdown любой страницы добавьте .md к URL страницы.
Для полного индекса документации см. https://api.vega.chat/docs/llms.txt.
Для полного содержания документации см. https://api.vega.chat/docs/llms-full.txt.
Для интеграции AI‑клиентов (Claude Code, Cursor и др.) подключитесь к серверу MCP по адресу https://api.vega.chat/docs/_mcp/server.

Исцеление Ответов

MD версия

Плагин Response Healing автоматически проверяет и исправляет некорректные JSON‑ответы от моделей ИИ. Когда модели возвращают несовершенно отформатированный вывод — отсутствующие скобки, лишние запятые, обёртки markdown или смешанный текст — этот плагин пытается поправить ответ, чтобы вы получили валидный, парсимый JSON.

Обзор

Response Healing предоставляет:

  • Автоматический ремонт JSON: исправляет отсутствующие скобки, запятые, кавычки и другие синтаксические ошибки
  • Извлечение из markdown: извлекает JSON из блоков кода markdown

Как это работает

Плагин активируется для запросов без потоковой передачи, когда вы используете response_format с type: "json_schema" или type: "json_object" и включаете плагин response-healing в массив plugins. См. Полный пример ниже для полной реализации.

Что исправляется

Плагин Response Healing обрабатывает типичные проблемы в ответах LLM:

Ошибки синтаксиса JSON

Ввод: отсутствует закрывающая скобка

text
{"name": "Alice", "age": 30

Вывод: исправлено

json
{"name": "Alice", "age": 30}

Блоки кода markdown

Ввод: обёрнут в markdown

text
```json
{"name": "Bob"}
```

Вывод: извлечено

json
{"name": "Bob"}

Смешанный текст и JSON

Ввод: текст перед JSON

text
Here's the data you requested:
{"name": "Charlie", "age": 25}

Вывод: извлечено

json
{"name": "Charlie", "age": 25}

Лишние запятые

Ввод: недопустимая завершающая запятая

text
{"name": "David", "age": 35,}

Вывод: исправлено

json
{"name": "David", "age": 35}

Ключи без кавычек

Ввод: стиль JavaScript

text
{name: "Eve", age: 40}

Вывод: исправлено

json
{"name": "Eve", "age": 40}

Полный пример

typescript
const response = await fetch('https://api.vega.chat/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {{API_KEY_REF}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    messages: [
      {
        role: 'user',
        content: 'Generate a product listing with name, price, and description'
      }
    ],
    response_format: {
      type: 'json_schema',
      json_schema: {
        name: 'Product',
        schema: {
          type: 'object',
          properties: {
            name: {
              type: 'string',
              description: 'Product name'
            },
            price: {
              type: 'number',
              description: 'Price in RUB'
            },
            description: {
              type: 'string',
              description: 'Product description'
            }
          },
          required: ['name', 'price']
        }
      }
    },
    plugins: [
      { id: 'response-healing' }
    ]
  }),
});

const data = await response.json();
const product = JSON.parse(data.choices[0].message.content);
// Плагин пытается исправить некорректный синтаксис JSON
console.log(product.name, product.price);
python
import requests
import json

response = requests.post(
  "https://api.vega.chat/api/v1/chat/completions",
  headers={
    "Authorization": f"Bearer {{API_KEY_REF}}",
    "Content-Type": "application/json",
  },
  json={
    "model": "{{MODEL}}",
    "messages": [
      {
        "role": "user",
        "content": "Generate a product listing with name, price, and description"
      }
    ],
    "response_format": {
      "type": "json_schema",
      "json_schema": {
        "name": "Product",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Product name"
            },
            "price": {
              "type": "number",
              "description": "Price in RUB"
            },
            "description": {
              "type": "string",
              "description": "Product description"
            }
          },
          "required": ["name", "price"]
        }
      }
    },
    "plugins": [
      {"id": "response-healing"}
    ]
  }
)

data = response.json()
product = json.loads(data["choices"][0]["message"]["content"])
# Плагин пытается исправить некорректный синтаксис JSON
print(product["name"], product["price"])

Ограничения

Response Healing применяется только к запросам без потоковой передачи.

Некоторые некорректные JSON‑ответы могут оставаться неисправимыми. В частности, если ответ обрезан из‑за max_tokens, плагин не сможет его восстановить.