mirror of
https://github.com/symfony/ai.git
synced 2026-03-23 23:42:18 +01:00
628610478acfae7a35d255f752afd815c47657aa
DistanceCalculator (Guikingone)
This PR was merged into the main branch.
Discussion
----------
[Store] Introduce batch processing in `DistanceCalculator`
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| Docs? | yes
| Issues | --
| License | MIT
Following #1770, local stores might be used to store / retrieve vectors, problem is, the current implementation perform the sorting strategy through the whole dataset, this PR aims to introduce a "batch and reduce" approach, `VectorDocument`s are handled per batch (default size to `100`) and returned in smaller size if `maxItems` is set.
The implementation is inspired by https://x.com/JeffDean/status/1997854093239595503.
Commits
-------
293df7d9 feat(store): allow to sort documents as batches
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%