added reranker
This commit is contained in:
parent
fb332c5346
commit
e7b839810b
5 changed files with 30 additions and 48 deletions
|
|
@ -3,6 +3,7 @@ OPENAI_API_KEY=sk-your-openai-api-key-here
|
|||
OPENAI_COMPAT_API_KEY=sk-your-openai-compatible-api-key-here
|
||||
OPENAI_BASE_URL=https://your-openai-compatible-endpoint.com/v1
|
||||
EMBEDDER_API_KEY=AIzaSy-your-google-gemini-api-key-here
|
||||
COHERE_API_KEY=your-cohere-api-key-here
|
||||
|
||||
# Database Configuration
|
||||
QDRANT_HOST=qdrant
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ class Settings(BaseSettings):
|
|||
# API Configuration
|
||||
openai_api_key: str = Field(..., env="OPENAI_COMPAT_API_KEY")
|
||||
openai_base_url: str = Field(..., env="OPENAI_COMPAT_BASE_URL")
|
||||
embedder_api_key: str = Field(..., env="EMBEDDER_API_KEY")
|
||||
|
||||
cohere_api_key: str = Field(..., env="COHERE_API_KEY")
|
||||
|
||||
# ollama_base_url: str = Field(..., env="OLLAMA_BASE_URL")
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import logging
|
||||
from typing import Dict, List, Optional, Any
|
||||
from datetime import datetime
|
||||
from mem0 import Memory
|
||||
from openai import OpenAI
|
||||
|
||||
|
|
@ -19,6 +20,7 @@ class Mem0Manager:
|
|||
|
||||
def __init__(self):
|
||||
# Custom endpoint configuration with graph memory enabled
|
||||
logger.info("Initializing ultra-minimal Mem0Manager with custom endpoint with settings:", settings)
|
||||
config = {
|
||||
"enable_graph": True,
|
||||
"llm": {
|
||||
|
|
@ -56,6 +58,14 @@ class Mem0Manager:
|
|||
"password": settings.neo4j_password
|
||||
}
|
||||
},
|
||||
"reranker": {
|
||||
"provider": "cohere",
|
||||
"config": {
|
||||
"api_key": settings.cohere_api_key,
|
||||
"model": "rerank-english-v3.0",
|
||||
"top_n": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.memory = Memory.from_config(config)
|
||||
|
|
@ -87,11 +97,24 @@ class Mem0Manager:
|
|||
else:
|
||||
formatted_messages.append(msg)
|
||||
|
||||
# Direct Mem0 add with metadata support
|
||||
# Auto-enhance metadata for better memory quality
|
||||
combined_metadata = metadata or {}
|
||||
result = self.memory.add(formatted_messages, user_id=user_id,
|
||||
|
||||
# Add automatic metadata enhancement
|
||||
auto_metadata = {
|
||||
"timestamp": datetime.now().isoformat(),
|
||||
"source": "chat_conversation",
|
||||
"message_count": len(formatted_messages),
|
||||
"auto_generated": True
|
||||
}
|
||||
|
||||
# Merge user metadata with auto metadata (user metadata takes precedence)
|
||||
enhanced_metadata = {**auto_metadata, **combined_metadata}
|
||||
|
||||
# Direct Mem0 add with enhanced metadata
|
||||
result = self.memory.add(formatted_messages, user_id=user_id,
|
||||
agent_id=agent_id, run_id=run_id,
|
||||
metadata=combined_metadata if combined_metadata else None)
|
||||
metadata=enhanced_metadata)
|
||||
|
||||
return {
|
||||
"added_memories": result if isinstance(result, list) else [result],
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ services:
|
|||
environment:
|
||||
OPENAI_API_KEY: ${OPENAI_COMPAT_API_KEY}
|
||||
OPENAI_BASE_URL: ${OPENAI_COMPAT_BASE_URL}
|
||||
COHERE_API_KEY: ${COHERE_API_KEY}
|
||||
EMBEDDER_API_KEY: ${EMBEDDER_API_KEY:-AIzaSyA_}
|
||||
QDRANT_HOST: qdrant
|
||||
QDRANT_PORT: 6333
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
{
|
||||
"name": "mem0-interface-frontend",
|
||||
"version": "1.0.0",
|
||||
"description": "React frontend for Mem0 Interface POC",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-scripts": "5.0.1",
|
||||
"axios": "^1.6.0",
|
||||
"react-router-dom": "^6.8.0",
|
||||
"@mui/material": "^5.14.0",
|
||||
"@mui/icons-material": "^5.14.0",
|
||||
"@emotion/react": "^11.11.0",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"recharts": "^2.8.0",
|
||||
"react-json-view": "^1.21.3"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"react-app",
|
||||
"react-app/jest"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"proxy": "http://localhost:8000"
|
||||
}
|
||||
Loading…
Reference in a new issue