https://github.com/valx76/symfonyai-poc
POC - Order system that can be queried using an LLM agent. Secured user data isolation (a user can only get information about his orders).
https://github.com/valx76/symfonyai-poc
ai ai-agents chromadb frankenphp gemini php php84 symfony symfony-ai symfony73
Last synced: 18 days ago
JSON representation
POC - Order system that can be queried using an LLM agent. Secured user data isolation (a user can only get information about his orders).
- Host: GitHub
- URL: https://github.com/valx76/symfonyai-poc
- Owner: valx76
- Created: 2025-08-20T17:50:06.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-08-21T20:55:30.000Z (11 months ago)
- Last Synced: 2026-02-09T06:49:51.643Z (5 months ago)
- Topics: ai, ai-agents, chromadb, frankenphp, gemini, php, php84, symfony, symfony-ai, symfony73
- Language: PHP
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SymfonyAI-POC
POC of a simulated order system that can be queried using an LLM agent.
It is using the Symfony AI bundle.
**The data retrieval is secured using metadata**: A user can only access his own orders using the LLM.
This cannot be _hacked_ using some special prompts because the restriction is applied on the vector database directly.
## Stack
- PHP 8.4
- Symfony 7.3
- Symfony AI Bundle
- ChromaDB (as a vector database)
- Gemini 2 Flash
- Docker
- FrankenPHP
## Usage
Create a free API key for Google Gemini and put it in the `.env` file.
Start docker:
`docker compose up`
Generate the data (migrations, fixtures, embeddings):
`make init`
Go to https://localhost.
## Tools
PHP-CS-FIXER:
`make php-cs-fixer`
PHPSTAN / PHPAT (level 10):
`make phpstan`
## Preview
https://github.com/user-attachments/assets/39f97333-f30b-4b67-ac1b-67665d3db3ed