Spaces:
Sleeping
Sleeping
File size: 2,061 Bytes
46fb1fc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | from qdrant_client import QdrantClient
from mem0 import Memory
from app.core.config import *
# =========================================================
# MEM0 + QDRANT CONFIG
# =========================================================
config = {
"version": "v1.1",
"llm": {
"provider": "gemini",
"config": {
"api_key": GEMINI_API_KEY,
"model": "gemini-2.5-flash"
}
},
"embedder": {
"provider": "gemini",
"config": {
"api_key": GEMINI_API_KEY,
"model": "gemini-embedding-001"
}
},
"vector_store": {
"provider": "qdrant",
"config": {
"url": QDRANT_URL,
"api_key": QDRANT_API_KEY,
"collection_name": "mem0_memory",
"embedding_model_dims": 768
}
}
}
mem_client = Memory.from_config(config)
# =========================================================
# SEARCH MEMORY
# =========================================================
def search_memory(user_id, user_query):
try:
results = mem_client.search(
query=user_query,
filters={"user_id": user_id}
)
memories = [
f"ID:{mem.get('id')}\nMemory:{mem.get('memory')}"
for mem in results.get("results", [])
]
return memories
except Exception as e:
print(f"[MEMORY SEARCH ERROR]: {e}")
return []
# =========================================================
# ADD MEMORY
# =========================================================
def add_memory(user_id, user_query, ai_response):
try:
mem_client.add(
user_id=user_id,
messages=[
{
"role": "user",
"content": user_query
},
{
"role": "assistant",
"content": ai_response
}
]
)
except Exception as e:
print(f"[MEMORY ADD ERROR]: {e}") |