Гайд · TNWS AI
Как получить Structured Output в Mistral API и валидировать Pydantic
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как получить 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.
- Невалидный ответ обрабатывается до записи в БД.
Пошаговая проверка
- Запросите заказ с ID, без ID и с двумя ID.
- Сверьте извлечённый номер с регулярным выражением и базой.
- Намеренно измените enum в тесте: валидатор обязан упасть.
Чего не делать
- Не публикуйте API-ключ и не передавайте его браузеру.
- Не записывайте результат в базу без проверки структуры.
- Не делайте бесконечные повторы после 401, 429 или 5xx.
- Не называйте уверенный текст доказанным фактом.
Ограничения
Доступность моделей, контекст, лимиты и цена зависят от актуальной версии сервиса и аккаунта. Сначала запускайте небольшой тест на обезличенных данных. Для важных решений используйте первичный источник и независимую проверку.
FAQ
Можно ли использовать пример в production?
Только после добавления таймаутов, обработки ошибок, лимитов и защиты секретов.
Как выбрать модель?
Сверить текущий список моделей и возможности в официальной документации непосредственно перед внедрением.
Нужно ли проверять ответ модели?
Да: формат — валидатором, факты — источником или базой, вычисления — обычным кодом.
Почему нет фиксированной цены?
Цены меняются и зависят от модели; используйте актуальную официальную страницу тарификации.
Официальный источник
Проверено 12 сентября 2026 года: https://docs.mistral.ai/capabilities/structured-output/
Читайте также
Как использовать embeddings Mistral для семантического поиска по документам
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как использовать embeddings Mistral».
Как настроить function calling в Mistral API: tools, tool_calls и tool result
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как настроить function calling Mistral».
Как отправить первый запрос в Mistral API через официальный Python SDK
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как подключить Mistral API».
Комментарии
Пока тихо. Скажите первое слово