Гайд · TNWS AI

Как получить Structured Output в Mistral API и валидировать Pydantic

2 мин

Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как получить JSON Mistral API».

Для автоматизации задайте структурированную модель ответа и проверьте её Pydantic. Если достаточно произвольного объекта, можно использовать JSON mode; если поля являются контрактом базы, предпочтительнее строгая схема и отдельная бизнес-валидация.

Рабочий пример

from pydantic import BaseModel
from typing import Literal
class Ticket(BaseModel):
 intent: Literal["order","support","other"]
 order_id: str | None

r=client.chat.parse(
 model="mistral-small-latest",
 messages=[{"role":"user","content":"Где мой заказ 5412?"}],
 response_format=Ticket
)
ticket=r.choices[0].message.parsed

Что важно в реализации

  • Pydantic проверяет типы и enum.
  • Правильная схема не доказывает существование заказа.
  • Необязательное поле должно допускать None.
  • Невалидный ответ обрабатывается до записи в БД.

Пошаговая проверка

  1. Запросите заказ с ID, без ID и с двумя ID.
  2. Сверьте извлечённый номер с регулярным выражением и базой.
  3. Намеренно измените enum в тесте: валидатор обязан упасть.

Чего не делать

  • Не публикуйте API-ключ и не передавайте его браузеру.
  • Не записывайте результат в базу без проверки структуры.
  • Не делайте бесконечные повторы после 401, 429 или 5xx.
  • Не называйте уверенный текст доказанным фактом.

Ограничения

Доступность моделей, контекст, лимиты и цена зависят от актуальной версии сервиса и аккаунта. Сначала запускайте небольшой тест на обезличенных данных. Для важных решений используйте первичный источник и независимую проверку.

FAQ

Можно ли использовать пример в production?

Только после добавления таймаутов, обработки ошибок, лимитов и защиты секретов.

Как выбрать модель?

Сверить текущий список моделей и возможности в официальной документации непосредственно перед внедрением.

Нужно ли проверять ответ модели?

Да: формат — валидатором, факты — источником или базой, вычисления — обычным кодом.

Почему нет фиксированной цены?

Цены меняются и зависят от модели; используйте актуальную официальную страницу тарификации.

Официальный источник

Проверено 12 сентября 2026 года: https://docs.mistral.ai/capabilities/structured-output/

Читайте также

Комментарии

Пока тихо. Скажите первое слово