A FastAPI application that provides conversation log / memo storage with vector search capabilities.
- Conversation Log Management: Save, update, and delete with SQLite + ChromaDB dual storage
- Vector Search: Semantic search with SBERT embeddings
- Auto Summarization: Summary generation via Ollama
- Neural Dive UI: Web interface for managing memories from your browser
- MCP Integration: AI tool integration via Model Context Protocol
- RESTful API: Fast API server powered by FastAPI
- Docker Ready: Easy deployment
docker compose up -dDefault settings:
- Data stored in
./datasdirectory (SQLite / ChromaDB) - Port:
6001
http://localhost:6001/docs
View the API documentation via FastAPI's Swagger UI.
A web-based admin panel for browsing, editing, and deleting memories.
http://localhost:6001/
| Feature | Description |
|---|---|
| 📋 Memory List | Browse saved conversation logs by time or keyword search |
| ✏️ Edit | Edit main_text, sub_text, summary individually (auto-regenerates summary when main_text changes) |
| 🗑️ Delete | Delete unwanted memories |
| 🔍 Orphan Detection | Detect and fix inconsistencies between SQLite and ChromaDB |
Configure Basic Auth in .env:
UI_USER=admin
UI_PASS=secretUse MCP (Model Context Protocol) to operate memories from AI assistants.
| Tool | Description |
|---|---|
recall_memory |
Explicitly search and retrieve past memories |
delete_memory |
Delete memories (with confirmation) |
See the following for details:
- examples/usage.md - Client examples & MCP setup
- docs/MCP要件定義書.md - MCP specification (Japanese)
| File | Description |
|---|---|
examples/ai_sample.py |
Basic RAG client |
examples/ai_mcp_sample.py |
MCP-integrated client (with HITL) |
examples/open_webui_filter.py |
Filter for OpenWebUI |
See examples/usage.md for details.
Configure via .env or docker-compose.yml:
| Variable | Default | Description |
|---|---|---|
SQLITE_PATH |
./datas/semantic_memory.db |
SQLite file path |
CHROMA_PATH |
./datas/chroma/ |
ChromaDB directory |
OLLAMA_URL |
http://localhost:11434 |
Ollama API URL |
SBERT_MODEL |
cl-nagoya/ruri-small-v2 |
Embedding model |
UI_USER / UI_PASS |
(empty) | UI authentication (enabled when both set) |
API_TIMEOUT |
30 |
Client API timeout (seconds) |
./scripts/auto_update.shAutomatically performs git pull, Docker build, and removes old images.
This project uses the following external models:
- cl-nagoya/ruri-small-v2 - Apache 2.0, Gemma Terms
- SakanaAI/TinySwallow-1.5B-Instruct-GGUF - Apache 2.0, Gemma Terms
Model licenses differ from this repository's license. Users are responsible for reviewing and complying with model license terms.
This project is licensed under the MIT License. See LICENSE for details.