add
This commit is contained in:
4
.env
4
.env
@@ -3,7 +3,9 @@ CHROMA_DB_PATH=/app/data/chroma_db
|
|||||||
CHROMA_COLLECTION_NAME=memories
|
CHROMA_COLLECTION_NAME=memories
|
||||||
|
|
||||||
# SQLite Configuration
|
# SQLite Configuration
|
||||||
SQLITE_DB_PATH=/app/data/graph_store.db
|
NEO4J_URI=bolt://neo4j:7687
|
||||||
|
NEO4J_USERNAME=neo4j
|
||||||
|
NEO4J_PASSWORD=mem0graph
|
||||||
|
|
||||||
# Ollama Configuration
|
# Ollama Configuration
|
||||||
# When using Docker Compose with Ollama service, use: http://ollama:11434
|
# When using Docker Compose with Ollama service, use: http://ollama:11434
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -103,3 +103,15 @@ Before running the server, ensure you have:
|
|||||||
- `DELETE /memories` - Delete all memories for an identifier
|
- `DELETE /memories` - Delete all memories for an identifier
|
||||||
- `POST /reset` - Reset all memories
|
- `POST /reset` - Reset all memories
|
||||||
- `GET /docs` - OpenAPI documentation
|
- `GET /docs` - OpenAPI documentation
|
||||||
|
|
||||||
|
# 验证
|
||||||
|
测试 ollama
|
||||||
|
|
||||||
|
curl http://localhost:11434/api/embeddings \
|
||||||
|
-d '{
|
||||||
|
"model":"nomic-embed-text",
|
||||||
|
"prompt":"hello world"
|
||||||
|
}'
|
||||||
|
|
||||||
|
测试 mem0
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ services:
|
|||||||
- PYTHONUNBUFFERED=1 # Ensures Python output is sent straight to terminal
|
- PYTHONUNBUFFERED=1 # Ensures Python output is sent straight to terminal
|
||||||
depends_on:
|
depends_on:
|
||||||
- ollama
|
- ollama
|
||||||
|
- neo4j
|
||||||
# ollama:
|
# ollama:
|
||||||
# condition: service_healthy
|
# condition: service_healthy
|
||||||
|
|
||||||
@@ -43,6 +44,29 @@ services:
|
|||||||
- "11434:11434"
|
- "11434:11434"
|
||||||
# profiles: ["gpu"]
|
# profiles: ["gpu"]
|
||||||
|
|
||||||
|
|
||||||
|
neo4j:
|
||||||
|
image: neo4j:5.26.4
|
||||||
|
networks:
|
||||||
|
- mem0_network
|
||||||
|
# healthcheck:
|
||||||
|
# test: wget http://localhost:7687 || exit 1
|
||||||
|
# interval: 1s
|
||||||
|
# timeout: 10s
|
||||||
|
# retries: 20
|
||||||
|
# start_period: 90s
|
||||||
|
ports:
|
||||||
|
- "8474:7474" # HTTP
|
||||||
|
- "8687:7687" # Bolt
|
||||||
|
volumes:
|
||||||
|
- ./data/neo4j_data:/data
|
||||||
|
environment:
|
||||||
|
- NEO4J_AUTH=neo4j/mem0graph
|
||||||
|
- NEO4J_PLUGINS=["apoc"] # Add this line to install APOC
|
||||||
|
- NEO4J_apoc_export_file_enabled=true
|
||||||
|
- NEO4J_apoc_import_file_enabled=true
|
||||||
|
- NEO4J_apoc_import_file_use__neo4j__config=true
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ollama_data: {}
|
ollama_data: {}
|
||||||
|
|
||||||
|
|||||||
12
main.py
12
main.py
@@ -18,8 +18,9 @@ load_dotenv()
|
|||||||
CHROMA_DB_PATH = os.environ.get("CHROMA_DB_PATH", "/app/chroma_db")
|
CHROMA_DB_PATH = os.environ.get("CHROMA_DB_PATH", "/app/chroma_db")
|
||||||
CHROMA_COLLECTION_NAME = os.environ.get("CHROMA_COLLECTION_NAME", "memories")
|
CHROMA_COLLECTION_NAME = os.environ.get("CHROMA_COLLECTION_NAME", "memories")
|
||||||
|
|
||||||
# SQLite configuration for graph store
|
NEO4J_URI = os.environ.get("NEO4J_URI", "bolt://neo4j:7687")
|
||||||
SQLITE_DB_PATH = os.environ.get("SQLITE_DB_PATH", "/app/graph_store.db")
|
NEO4J_USERNAME = os.environ.get("NEO4J_USERNAME", "neo4j")
|
||||||
|
NEO4J_PASSWORD = os.environ.get("NEO4J_PASSWORD", "mem0graph")
|
||||||
|
|
||||||
# Ollama configuration
|
# Ollama configuration
|
||||||
OLLAMA_HOST = os.environ.get("OLLAMA_HOST", "http://localhost:11434")
|
OLLAMA_HOST = os.environ.get("OLLAMA_HOST", "http://localhost:11434")
|
||||||
@@ -38,11 +39,8 @@ DEFAULT_CONFIG = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"graph_store": {
|
"graph_store": {
|
||||||
"provider": "chromadb",
|
"provider": "neo4j",
|
||||||
"config": {
|
"config": {"url": NEO4J_URI, "username": NEO4J_USERNAME, "password": NEO4J_PASSWORD},
|
||||||
"path": CHROMA_DB_PATH,
|
|
||||||
"collection_name": "graph",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"llm": {
|
"llm": {
|
||||||
"provider": "ollama",
|
"provider": "ollama",
|
||||||
|
|||||||
Reference in New Issue
Block a user