An open source recommendation service that converts any text image or video description into clean tags with a local LLM then serves personalized results using light vector math. Copy paste into your stack and chill. It uses the same modern approach that companies like X (using Grok for recommendations) and Meta (using Llama for recommendations) are using.
- Universal Works for products posts clips bios anything described in words
- Bring your own tags Define enums in YAML and you are set
- Local friendly Runs with Ollama meaning your data never leaves your box
- Pluggable storage SQLite for hack nights Firestore or DynamoDB for prod
- Fully typed FastAPI endpoints plus a CLI for quick experiments
poetry install
poetry run uvicorn api.server:app --reloadSwagger UI pops up at http://127.0.0.1:8000/docs
- POST /tag get tags for a description
- POST /item store an item with tags and vector
- POST /interact update a user profile after a click view or like
- POST /recommend grab the top matches for that user
- Python 3.10 or newer
- Ollama running with your fave model
ollama pull llama3.2
ollama serveEdit config.yaml
model_urlpoints at Ollamastorage_backendselects your adapterenum_listlists valid tags
Switch backend by setting storage_backend to one of
storage.sqlite_adapter.SQLiteStoragestorage.firestore_adapter.FirestoreStoragestorage.dynamodb_adapter.DynamoDBStorage
Firestore
export GOOGLE_APPLICATION_CREDENTIALS=your-key.jsonDynamoDB
aws configurepoetry run python -m cli "A 4K sixty Hz monitor with ultra thin bezels"poetry run pytest -qShip it and have fun.