mirror of
https://github.com/symfony/ai.git
synced 2026-03-23 23:42:18 +01:00
1e2df898a5b89789d1e4dba54aadf94368d96dcf
The Azure OpenAI platform previously used the Chat Completions API
(`/openai/deployments/{deployment}/chat/completions`) via `CompletionsModel`.
Azure now supports the unified Responses API (`/openai/v1/responses`), which
is consistent with how the standard OpenAI bridge already works.
- Remove `CompletionsModelClient` and replace with `Responses\ModelClient`
that authenticates via `api-key` header and targets `/openai/v1/responses`
- Update `ModelCatalog` to map `Gpt` models to `ResponsesModel` instead of
`CompletionsModel`, enabling file input support and unified streaming
- Update `PlatformFactory` to use the new `Responses\ModelClient` together
with `OpenAiContract` (which includes `DocumentNormalizer`) and the
`OpenResponses\ResultConverter`
- Fix `DocumentNormalizer::supportsModel()` to use capability-based check
(`Capability::INPUT_PDF`) instead of `$model instanceof Gpt`, so it works
for any model that declares PDF support (including Azure's `ResponsesModel`)
- Register `DocumentNormalizer` in `OpenAiContract::create()` so PDF documents
are serialized correctly when sent via agents
- Add `OpenResponsesPlatform` to `AzurePlatform` allowed deps in deptrac.yaml
- Add `.codespellrc` to suppress false positive on `Vektor` (intentional name
of the Vektor vector store bridge)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Symfony AI is a set of components that integrate AI capabilities into PHP applications.
Components & Bundles
Symfony AI consists of several lower and higher level components and the respective integration bundles:
- Components
- Agent: Framework for building AI agents that can interact with users and perform tasks.
- Chat: A unified interface to send messages to agents and store long-term context.
- Mate: MCP development server enabling AI assistants to interact with PHP applications through standardized tools.
- Platform: A unified interface to various AI platforms like OpenAI, Anthropic, Azure, Gemini, VertexAI, and more.
- Store: Data storage abstraction with indexing and retrieval for AI applications.
- Bundles
- AI Bundle: Symfony integration for AI Platform, Store and Agent components.
- MCP Bundle: Symfony integration for official MCP SDK, allowing them to act as MCP servers or clients.
Examples & Demo
To get started with Symfony AI, you can either check out the examples to see how to use the components in smaller snippets, or you can run the demo application to see the components work together in a full Symfony web application.
Resources
Sponsor
Help Symfony by sponsoring its development!
Contributing
Thank you for considering contributing to Symfony AI! You can find the contribution guide here.
Languages
PHP
97.4%
Twig
1.9%
CSS
0.4%
JavaScript
0.3%