pydantic/pydantic-ai

AI Agent Framework, the Pydantic way

Агенты⭐ 20 080Pythonпоследний релиз: v2.46.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Pydantic AI — это фреймворк для создания AI-агентов на Python, разработанный командой Pydantic для обеспечения строгой типизации и простоты разработки.

Зачем нужен

Инструмент решает проблему создания надежных и типобезопасных приложений с LLM, перенося проверку ошибок с этапа выполнения на этап написания кода. Он полезен для быстрой разработки production-решений, обеспечивая интеграцию с множеством провайдеров моделей и встроенное отслеживание производительности через Pydantic Logfire.

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

  • Создание агентов с доступом к внешним данным через Model Context Protocol (MCP)
  • Разработка систем с проверкой человеком (Human-in-the-Loop) перед выполнением критических действий
  • Построение долговечных (durable) агентов, сохраняющих состояние при сбоях API или перезапусках
  • Стриминг структурированных данных с немедленной валидацией в реальном времени

Ключевые возможности

  • Полная типобезопасность (Type-safe) для улучшения автодополнения и статического анализа
  • Модель-агностицизм: поддержка OpenAI, Anthropic, Gemini, Ollama и других провайдеров
  • Встроенная интеграция с Pydantic Logfire для трассировки, оценки (evals) и отслеживания затрат
  • Компонуемые возможности (capabilities) для добавления инструментов, хуков и инструкций
  • Поддержка графов (Graph Support) для сложных рабочих процессов

👤 Кому подойдёт: разработчики на Python, создающие production-grade AI-приложения и агентов

Релизы

v2.45.0minor
🕐 3 дн назад · релиз на GitHub ↗

Добавлен TypeSafeModel для Jev, поддержка GPT-5.6 на Bedrock, оптимизация сессий MCP и исправления использования.

  • Added: Добавлен TypeSafeModel для интеграции с Jev от TypeSafe.
  • Added: Добавлена поддержка моделей gpt-5.6-sol, gpt-5.6-luna и gpt-5.6-terra в Bedrock Converse.
  • Fixed: Исправлено использование усилий xhigh в Bedrock при поддержке профиля модели.
  • Fixed: DynamicToolset и сессии MCP теперь разрешаются один раз за durable run, а не для каждого блока.
  • Fixed: Исправлено сохранение истории инструментов в MCPSamplingModel и корректный отчет об использовании.
v2.44.0patchbreaking
🕐 4 дн назад · релиз на GitHub ↗

Выпуск v2.44.0: исправление 4 уязвимостей в web_fetch и OpenTelemetry, стабилизация сериализации AgentRunResult и безопасность потоков.

  • Fixed: Исправлены четыре уязвимости безопасности в web_fetch_tool и OpenTelemetry, включая обход блокировок IPv6 и утечку данных в спанах.
  • Breaking: UI-адаптер теперь требует заголовок Content-Type: application/json для входящих запросов.
  • Added: Добавлен навык миграции для Vercel AI SDK и Eve, а также страница Storage для удобства поиска настроек хранения.
  • Fixed: RunContext.enqueue() стал безопасным для вызова из рабочих потоков, а AgentRunResult получил стабильную форму сериализации.
  • Fixed: Исправлена передача blocked_domains в OpenAI web search, корректная работа tool_search в AG-UI и завершение RealtimeSession при отмене задачи.
v2.43.0minor
🕐 9 дн назад · релиз на GitHub ↗

Pydantic AI v2.43.0: добавлен баннер первого запуска, исправлена потеря границ текста в OpenAIChatModel и логика оптимизации MCP.

  • Added: Добавлен баннер первого запуска, описывающий выполнение, и возможность открывать сессии clai через него.
  • Fixed: В OpenAIChatModel исправлено сохранение границ текстовых частей после вызова инструментов.
  • Fixed: Исправлена проверка оптимизации ключевых инструментов в Temporal: теперь она опирается на тип операции, а не на импорт MCP.
v2.42.0minorbreaking
🕐 12 дн назад · релиз на GitHub ↗

Добавлен провайдер GitHub Copilot, исправлена работа с Bedrock и валидация ToolReturnContent.

  • Breaking: Внедрена строгая валидация значений approvals в DeferredToolResults, теперь некорректные значения отклоняются.
  • Added: Добавлен GitHubCopilotProvider для работы с OpenAI-совместимым API GitHub Copilot.
  • Fixed: Исправлена поддержка настроек sampling в BedrockConverseModel для Anthropic.
  • Fixed: Улучшена валидация ToolReturnContent без вызова Python и исправлена работа с inline-ссылками в code-mode.
v2.41.0minor
🕐 13 дн назад · релиз на GitHub ↗

Добавлена прямая генерация изображений, поддержка OpenAI Codex и исправления для Anthropic и Bedrock.

  • Added: Появился прямой API генерации изображений через ImageGenerator.
  • Added: Добавлен провайдер openai-codex для аутентификации подписок ChatGPT/Codex.
  • Deprecated: fallback_model в ImageGeneration и XSearch устарел, используйте fallback_subagent_model.
  • Fixed: Исправлен учёт стоимости и деталей веб-поиска Anthropic в RequestUsage.details.
  • Fixed: Ошибки транспорта botocore в BedrockConverseModel теперь корректно оборачиваются в ModelAPIError.
  • Fixed: Уровни мышления Gemini теперь автоматически привязываются к ближайшему поддерживаемому значению.
v2.40.0minor
🕐 16 дн назад · релиз на GitHub ↗

Добавлены функции для работы с Realtime API, слушатели событий и асинхронное обновление цен.

  • Added: Добавлена поддержка barge-in в сессиях Realtime API, включая методы interrupt и played_audio_bytes.
  • Added: Внедрен декоратор @agent.on_event для регистрации слушателей событий на уровне агента.
  • Added: Появились функции update_in_background для цен, enqueue для очередей и provider_factory для infer_realtime_model.
  • Fixed: Исправлена синхронизация tool_result и tool_use при defer_loading, а также состояние сессии при некорректных аудио данных.
  • Fixed: Устранены проблемы с подпиской на потоки аудио и транскриптов, а также корректное завершение сессий при ошибках инструментов.
v2.39.0patch
🕐 17 дн назад · релиз на GitHub ↗

Исправлены утечки памяти в экспортере, восстановлена опция Instrumentation, улучшена обработка ошибок Azure и инструментов.

  • Fixed: Устранены утечки памяти и проблемы с кэшированием в экспортере context_subtree().
  • Fixed: Восстановлена опция Instrumentation include_model_request_parameters и улучшена обработка ошибок слияния атрибутов.
  • Fixed: Добавлено корректное обнаружение ошибок фильтрации контента Azure для провайдеров AzureProvider и AsyncAzureOpenAI.
  • Fixed: Исправлена передача медиафайлов, возвращаемых инструментами, когда они не могут быть включены в результат вызова.
  • Fixed: Исправлена генерация события завершения речи при использовании инструмента в stream_transcripts().
v2.38.0minor
🕐 18 дн назад · релиз на GitHub ↗

Добавлены модели Gemini 3.8 Flash, Claude Fable/Mythos 5.1, контекстное окно и кастомные события; исправления багов и зависимостей.

  • Added: Добавлена поддержка моделей gemini-3.8-flash, claude-fable-5-1 и claude-mythos-5-1.
  • Added: В ModelProfile добавлено поле context_window, а в RunContext — context_window_used.
  • Added: Приложения и возможности теперь могут генерировать и подписываться на события CustomEvent и CapabilityEvent через @on_event.
  • Fixed: Исправлена обработка tool_choice для DeepSeek и Together, а также поддержка NativeOutput в Responses API DeepSeek.
  • Fixed: Устранены проблемы с отменой выполнения, загрузками CodeExecutionTool в Anthropic и восстановлением ID вызовов инструментов в Bedrock.
v2.37.0minor
🕐 20 дн назад · релиз на GitHub ↗

Добавлена поддержка модели glm-5.3-flash, исправлены ошибки маршрутизации и управления контекстом в durable-операциях.

  • Added: Добавлена поддержка модели glm-5.3-flash и обновлен тестовый набор для Z.AI.
  • Fixed: Исправлена маршрутизация веток API Vertex и Gemini в GoogleModel на основе транспорта клиента.
  • Fixed: Исправлено сохранение всех условий в запросах к обрезанным span-ам.
  • Fixed: Добавлена обработка нестандартных значений finish_reason от Z.AI.
  • Fixed: Улучшено управление контекстом моделей, пересозданных внутри durable-операций, и отключено их повторное создание.
v2.36.0minorbreaking
🕐 23 дн назад · релиз на GitHub ↗

Pydantic AI v2.36.0: добавлена поддержка MCP, durable-операций и стриминга в CLI, исправлен TestModel.

  • Breaking: В CLI clai добавлена поддержка --mcp-config и стриминг вызовов инструментов.
  • Added: Введен декоратор @durable_operation для интеграции с движками надежного выполнения.
  • Added: Теперь требуется явное указание имени операции в декораторе @durable_operation.
  • Added: Метод RealtimeSession.send_audio() теперь принимает асинхронные итерируемые объекты.
  • Added: Части инструкций получили стабильный идентификатор InstructionPart.id.
  • Fixed: Исправлена генерация в TestModel для узких эксклюзивных числовых границ.
v2.35.3patch
🕐 24 дн назад · релиз на GitHub ↗

Исправлены баги в маршрутизации GLM, безопасности cookies, обработке инструментов и зависимостях dbos.

  • Fixed: Маршрутизация моделей GLM через Heroku теперь осуществляется через zai_model_profile.
  • Fixed: Cookies функции safe_download теперь ограничены исходными именами хостов.
  • Fixed: Исправлено определение оставшихся ID результатов в DeferredToolRequests для разных категорий.
  • Fixed: Добавлена идентификация отклонённых наборов инструментов в ошибках durable execution.
  • Fixed: Убрано ограничение extra для dbos; opentelemetry-instrumentation-logging добавлен как тестовая зависимость.
v2.35.2patch
🕐 24 дн назад · релиз на GitHub ↗

Исправления в маршрутизации GLM, безопасности cookies, работе DeferredToolRequests и зависимостях dbos.

  • Fixed: Маршрутизация моделей GLM через Heroku теперь осуществляется через zai_model_profile.
  • Fixed: Cookies функции safe_download теперь ограничены исходными именами хостов.
  • Fixed: Исправлено определение оставшихся ID результатов для DeferredToolRequests в разных категориях.
  • Fixed: Отклоненные наборы инструментов runtime теперь корректно идентифицируются в ошибках durable execution.
  • Fixed: Снят лимит на extra dbos; opentelemetry-instrumentation-logging добавлен как тестовая зависимость.
v2.35.1patch
🕐 25 дн назад · релиз на GitHub ↗

Исправлено сохранение трассировки guardrail в Bedrock, учёт provider_factory при отмене Temporal и ограничение версии dbos.

  • Fixed: Трассировка Bedrock guardrail теперь корректно сохраняется в provider_details ответа модели.
  • Fixed: При отмене ответов Temporal теперь учитывается provider_factory.
  • Fixed: Версия dbos ограничена версией ниже 2.31.0 для предотвращения ошибки импорта opentelemetry-instrumentation-logging.
v2.35.0minor
🕐 26 дн назад · релиз на GitHub ↗

В Pydantic AI v2.35.0 устарели методы управления способностями, исправлена работа TestModel и сохранение пустых описаний инструментов.

  • Deprecated: Устарели RunContext.capability_loaded и available_capability_ids; используйте capability_active и active_capability_ids.
  • Fixed: Исправлено достижение граничного значения maximum в TestModel для целочисленных диапазонов.
  • Fixed: Теперь пустое описание Tool сохраняется явно, а не заменяется на docstring функции.
  • Added: Снижена частота экспорта метрик Temporal по умолчанию.
v2.34.0minor
🕐 27 дн назад · релиз на GitHub ↗

Добавлена поддержка GLM-5.3, навык миграции с LangChain и исправлены ошибки в TestModel, Vercel и Cohere.

  • Added: Добавлен навык миграции с LangChain для упрощения перехода.
  • Added: В ZaiModel добавлена поддержка модели GLM-5.3.
  • Fixed: Исправлена генерация TestModel для равных включенных границ и ложных значений const.
  • Fixed: Исправлена потеря вызовов инструментов без аргументов в CohereModel.
  • Fixed: Устранены проблемы с отклонением ID частей в VercelAIAdapter и потерей профиля Groq.
v2.33.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Релиз v2.33.0: поддержка Anthropic SDK 1.0.0 с переходом на httpx2, что является ломающим изменением для клиентов.

  • Breaking: Обновлена поддержка Anthropic SDK до версии 1.0.0, что требует перехода на httpx2.
  • Breaking: Пользовательские http_client для AnthropicProvider теперь должны быть экземплярами httpx2.AsyncClient.
  • Fixed: Исправлена проблема совместимости, возникавшая при установке новой версии SDK Anthropic.
  • Added: Добавлена поддержка httpx2 для клиентов Anthropic.
v2.32.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка с пустыми блоками мышления в Anthropic, улучшена валидация синхронных вызовов и принятие callable в FunctionModel.

  • Fixed: Запрещён вызов Agent.run_sync() из синхронных колбэков во время выполнения агента.
  • Fixed: Убраны блоки thinking от Anthropic, если они содержат пустую подпись.
  • Added: FunctionModel теперь принимает любой вызываемый объект для параметров function и stream_function.
v2.32.0minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v2.32.0: улучшена работа с xAI и OpenRouter, исправлены ошибки синхронных хуков и обработки ответов, обновлен httpx.

  • Added: Добавлена поддержка жизненного цикла поиска xAI и отображение источников OpenRouter в provider_details.
  • Added: Введена версия инструментации 6 с отправкой результатов инструментов под ролью 'tool'.
  • Added: Система теперь предлагает известные имена моделей при вводе некорректных идентификаторов.
  • Fixed: Исправлена работа синхронных хуков: они выполняются в пуле потоков с учетом таймаутов.
  • Fixed: Устранены ошибки обработки отмены через RunContext, пустых текстовых ответов и сортировки результатов для Bedrock.
  • Fixed: Обновлена зависимость httpx до версии 2 для совместимых HTTP-клиентов.
v2.31.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена работа со структурированным выводом для Claude Sonnet 5 и Fable 5, а также улучшена обработка Gemini.

  • Fixed: Запрещён нативный структурированный вывод для моделей Claude Sonnet 5 и Fable 5 в Bedrock.
  • Fixed: Добавлен fallback на thinking_level='LOW' для моделей Gemini, отклоняющих параметр MINIMAL.
v2.31.0minor
🕐 1 мес назад · релиз на GitHub ↗

Pydantic AI v2.31.0: улучшена работа UIEventStream, исправлены атрибуты FallbackModel и пропуск openai в Temporal.

  • Added: UIEventStream теперь можно инициализировать без run_input, а AGUIEventStream получил собственные thread_id и run_id.
  • Fixed: Исправлено атрибутирование провалов FallbackModel: ошибки теперь корректно привязываются к конкретной модели, а не к обёртке fallback.
  • Fixed: Исправлен пропуск библиотеки openai через песочницы Temporal workflow.
v1.107.5patchbreaking
🕐 1 мес назад · релиз на GitHub ↗

Исправлена уязвимость DNS-rebinding в локальном веб-интерфейсе через валидацию Host-заголовка и новый параметр allowed_hosts.

  • Fixed: Устранена уязвимость DNS-rebinding в локальном веб-интерфейсе (Agent.to_web(), clai web) из-за отсутствия проверки заголовка Host.
  • Breaking: Добавлена валидация Host-заголовка по умолчанию; для доступа по реальному имени хоста теперь требуется явное указание параметра allowed_hosts.
  • Added: Внедрён новый параметр конфигурации allowed_hosts для управления списком разрешённых хостов.
v2.29.0minor
🕐 1 мес назад · релиз на GitHub ↗

Pydantic AI v2.29.0: поддержка FastMCP 4, Azure AI Voice Live, исправления потоков и gzip.

  • Added: Добавлена поддержка FastMCP 4 и MCP SDK v2 в MCPToolset.
  • Added: Реализована интеграция Azure AI Voice Live через настройку azure_voice_live.
  • Fixed: Исправлено молчаливое усечение gzip-ответов.
  • Fixed: В описания инструментов теперь включаются описания параметров.
  • Fixed: Устранены ошибки наследования for_realtime в WebRTC и Azure, а также проблемы с завершением потоков провайдеров.
v1.107.4patch
🕐 1 мес назад · релиз на GitHub ↗

Выпуск v1.107.4: исправлена ошибка сборки v1.107.3 и применены два бэкпорта исправлений безопасности.

  • Fixed: Исправлена ошибка в инструментах сборки, из-за которой предыдущий тег v1.107.3 не мог быть опубликован на PyPI.
  • Fixed: Устранена уязвимость в веб-интерфейсе чата: теперь эндпоинт требует заголовок Content-Type: application/json, предотвращая несанкционированный запуск инструментов агента.
  • Fixed: Исправлено скрытие чувствительных данных: контент промптов при повторных попытках теперь корректно скрывается настройками InstrumentationSettings.
v2.27.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления багов: восстановление span'ов, маппинг finish_reason, поддержка адаптивного мышления в Anthropic.

  • Fixed: Восстановлены span'ы инструментов при ошибках валидации аргументов.
  • Fixed: Исправлено маппинг finish_reason для потоковых ответов XaiStreamedResponse.
  • Added: Добавлена поддержка адаптивного мышления с Tool Output и принудительным выбором инструментов в Anthropic.
  • Fixed: Содержимое RetryPromptPart в OpenTelemetry теперь фильтруется по параметру include_content.
  • Fixed: Исправлена ссылка на автономную сборку веб-интерфейса для офлайн-хостинга.
v2.27.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка Snowflake Cortex, улучшена работа с компактизацией и исправлены ошибки OTel-трейсинга.

  • Added: Добавлены SnowflakeModel и SnowflakeProvider для работы с Snowflake Cortex.
  • Added: В XaiModelSettings добавлено поле xai_agent_count.
  • Added: Обеспечен round-trip для CompactionPart через адаптеры Vercel AI и AG-UI.
  • Fixed: Исправлена сериализация OTel: теперь корректно учитывается include_binary_content=False.
  • Fixed: Исправлено сопоставление атрибутов в SpanQuery для JSON-сериализованных словарей и списков.
  • Fixed: Улучшена обработка компактизации: сохранение encrypted_content, очистка provenance stamp и предотвращение дублирования standing prompt.
v2.26.0minor
🕐 1 мес назад · релиз на GitHub ↗

Pydantic AI v2.26.0: отложенные инструменты, отмена выполнения, кэширование промптов и поддержка DeepSeek V4 Flash.

  • Added: Добавлена поддержка отложенных инструментов: скрытие функций до их раскрытия через поиск, load_capability или ToolReturn.tools.
  • Added: Введена встроенная отмена выполнения: методы AgentRun.cancel(), RunContext.cancel() и исключение RunCancelled.
  • Added: Добавлен метод Model.resolve_prompt_cache_retention() для определения эффективного удержания кэша промптов.
  • Added: Итератор run_stream_events() вынесен в публичный интерфейс AgentRunEvents с доступом к отмене и состоянию запуска.
  • Added: Добавлена поддержка модели DeepSeek V4 Flash через OpenAIResponsesModel и DeepSeekProvider.
  • Fixed: Исправлена передача model_id через WrapperModel, маппинг деталей OpenRouter, работа с системными сообщениями и компактированием.
v2.25.0minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления для Azure, GPT-5.6 и некорректных аргументов инструментов; добавлена поддержка опций поиска xAI FileSearchTool.

  • Added: Добавлена поддержка опций поиска коллекций для xAI FileSearchTool.
  • Fixed: Исправлена передача max_tokens для моделей Mistral в Azure вместо max_completion_tokens.
  • Fixed: Исправлена работа режима thinking="minimal" для моделей GPT-5.6.
  • Fixed: Улучшена обработка некорректных аргументов вызова инструментов в ToolCallPart.args_as_json_str().
  • Fixed: Исправлена передача base_url через WrapperModel при некорректном порте.
v2.24.0minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления в провайдерах Google, Bedrock, OpenAI, Grok, Kimi, Vercel и OpenRouter; поддержка новых моделей и протоколов.

  • Fixed: Исправлена потеря явного таймаута в Google-провайдере и фильтрация недоступных имён функций.
  • Fixed: Улучшена работа с Bedrock: сохранение настроек OpenAI, корректная отправка top_p и учёт пробелов в потоке.
  • Added: Добавлена поддержка моделей kimi-k2-thinking, kimi-k2-5 и Groq compound.
  • Fixed: Исправлена обработка ошибок OpenRouter, строгий тип для Vercel AI и защита от отрицательных Retry-After.
  • Fixed: Оптимизирована работа с AG-UI: пропуск новых версий контента и сохранение индексов при воспроизведении.
v2.23.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка Bedrock, стоимость запросов, новые алиасы Gemini и исправления багов.

  • Added: Добавлена поддержка extra_headers для Bedrock.
  • Added: В RunUsage добавлена стоимость, в UsageLimits — лимит расходов.
  • Added: Восстановлены алиасы для моделей gemini-3-pro-image и gemini-3.1-flash-image.
  • Added: Добавлена поддержка ToolAvailabilityDeltaPart для рендеринга инструментов.
  • Fixed: Исправлено зависание при bedrock_max_concurrency=0 и утечка переменных Google Cloud.
  • Fixed: Исправлено чтение timestamp в OpenAI-стриминге и закрытие асинхронных потоков.