Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Ai Doctrine Message Store

Ai Doctrine Message Store Laravel Package

symfony/ai-doctrine-message-store

Doctrine DBAL message store integration for Symfony AI Chat. Persist and retrieve chat messages in a relational database using Doctrine DBAL, enabling durable conversation history and easy storage configuration within Symfony applications.

View on GitHub
Deep Wiki
Context7

Doctrine DBAL message store bridge for Symfony AI Chat

Frequently asked questions about Ai Doctrine Message Store
Can I use this package in Laravel to store AI chat messages without Symfony’s full AI ecosystem?
Yes, but with caveats. The package is Symfony-focused but relies on Doctrine DBAL, which Laravel natively supports. You’ll need to create a PSR-15 adapter or bypass PSR-15 entirely by directly using DBAL queries. If you’re not using Symfony AI Chat, consider a lightweight Laravel wrapper or a custom solution.
What Laravel versions and Doctrine DBAL versions does this package support?
The package itself targets Symfony’s ecosystem, but since it uses Doctrine DBAL (v3.x+), it works with Laravel 8+ (which includes DBAL v3). Ensure your `doctrine/dbal` version matches Symfony AI’s requirements (check their docs). Laravel’s native DBAL support avoids version conflicts.
How do I configure this for Laravel if I’m not using Symfony’s Messenger component?
You can skip PSR-15 entirely and interact directly with the DBAL connection. Create a service provider to bind the message store to Laravel’s container, then use raw DBAL queries or a custom facade. Avoid Symfony’s Messenger unless you’re already using it in your stack.
Will this work with Laravel’s Eloquent models, or do I need to manage the schema manually?
This package doesn’t integrate with Eloquent—it manages its own schema (e.g., `ai_messages` table). You’ll need to run its migrations separately or merge them into Laravel’s migration system. Use Laravel’s schema builder to avoid conflicts with existing tables.
Is this a good choice for high-volume AI chat applications (e.g., 10K+ messages/sec)?
No, DBAL is not optimized for high throughput. For real-time chatbots, use Redis for caching and DBAL only for persistence. Test performance under load—DBAL may introduce latency for frequent writes. Consider a hybrid approach with Laravel’s queue system for async processing.
Are there Laravel-native alternatives to avoid Symfony dependencies?
Yes, if you don’t need PSR-15 compliance, build a custom solution using Laravel’s query builder or a package like `spatie/laravel-ai`. For structured storage, a simple Eloquent model with soft deletes may suffice. Avoid pulling in Symfony if your stack is Laravel-only.
How do I handle GDPR compliance or data retention policies with this package?
The package stores messages in a relational database, making it easier to implement retention policies via SQL queries (e.g., `DELETE FROM ai_messages WHERE created_at < NOW() - INTERVAL '1 year'`). Use Laravel’s model events or DBAL queries to purge old data without affecting other tables.
Can I use this with Laravel’s caching (Redis/Memcached) for better performance?
Yes, cache frequently accessed messages in Redis while using DBAL for persistence. Implement a hybrid strategy: store messages in DBAL and cache their IDs or metadata in Redis. Use Laravel’s cache tags or a package like `spatie/laravel-cache` to sync data.
What if I need to query chat messages with complex joins (e.g., linking to user tables)?
DBAL’s relational nature makes this straightforward. Design your schema to include foreign keys (e.g., `user_id` in the `ai_messages` table) and use Laravel’s query builder or Eloquent to join with other tables. This is a key advantage over NoSQL stores like Redis.
How do I test this package in a Laravel application before production?
Start by creating a minimal Laravel project with `doctrine/dbal` and the Symfony AI message store. Write unit tests using Laravel’s testing tools to verify message persistence, retrieval, and schema integrity. Mock the DBAL connection to avoid hitting a real database during tests.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codraw/framework-extra-bundle
codraw/messenger
codraw/security
codraw/mailer
codraw/contracts
codraw/profiling
codraw/dependency-injection
codraw/tester
codraw/core
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony