symfony/ai-cache-store
Symfony AI Cache Store integrates a cache-backed vector store with Symfony AI Store, enabling lightweight storage and retrieval of embeddings using Symfony Cache. Ideal for development, testing, and small deployments where simplicity matters.
fruitcake/laravel-cache). This enables seamless integration with Laravel’s existing caching infrastructure (Redis, database, file, etc.), reducing architectural friction.StoreFactory in Laravel’s container. Example:
$this->app->bind(\Symfony\AI\Store\CacheStore::class, function ($app) {
return new \Symfony\AI\Store\CacheStore(
$app->make(\Psr\Cache\CacheItemPoolInterface::class)
);
});
$results = $vectorStore->query(
[0.1, 0.2, 0.3],
['metadata' => ['user_id' => '123']]
);
composer require symfony/ai symfony/ai-cache-store predis/predis
.env:
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
CacheStore in AppServiceProvider:
use Symfony\AI\Store\CacheStore;
use Symfony\Component\Cache\Adapter\RedisAdapter;
public function register()
{
$this->app->singleton(CacheStore::class, function ($app) {
$redis = new \Redis();
$redis->connect(env('REDIS_HOST'), env('REDIS_PORT'));
return new CacheStore(new RedisAdapter($redis));
});
}
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class VectorStore extends Facade {
protected static function getFacadeAccessor() {
return \Symfony\AI\Store\CacheStore::class;
}
}
VectorStore::insert('user_123', [0.1, 0.2, 0.3]);
$results = VectorStore::query([0.15, 0.2, 0.3]);
$results = VectorStore::query(
[0.1, 0.2, 0.3],
['metadata' => ['user_id' => '123']]
);
predis/predis) for performance/persistence.fruitcake/laravel-cache, database cache).CACHE_DRIVER=file in .env.predis/predis..env for Redis connection.How can I help you explore Laravel packages today?