Repository navigation
Open
Description
这时我的程序
import os
import json
from mem0 import Memory
from mem0.configs.base import MemoryConfig, LlmConfig, EmbedderConfig
config = {
"embedder": {
"provider": "ollama",
"config": {
"model": "mxbai-embed-large"
}
},
# 向量库配置
"vector_store": {
"provider": "upstash_vector",
"config": {
"url": "https://internal-redfish-90105-us1-vector.upstash.io", # TODO: 注意替换,upstash创建索引时会给
"token": "ABoFMGludGVybmFsLXJlZGZpc2gtOTAxMDUtdXMxYWRtaW5OR0ptTVdaaVpUTXRaR0k0TXkwME5EY3lMV0UwT0RRdFlUQTNNMlJtT1RrNU4ySTE=",
"collection_name": "test_memory", # upstash 的 namespace
"embedding_model_dims": 1024,
"enable_embeddings": False,
}
},
"llm": {
"provider": "ollama",
"config": {
"model": "qwen3.5:9b",
"temperature": 0.1,
"max_tokens": 2000,
}
}
}
# 创建 Memory 实例
m = Memory.from_config(config)
# 添加对话记忆
messages = [
{"role": "user", "content": "我喜欢科幻电影,尤其是星际穿越。"},
{"role": "assistant", "content": "星际穿越确实是一部经典的科幻电影!我会记住你喜欢这类电影。"},
{"role": "user", "content": "我也喜欢克里斯托弗·诺兰的其他电影。"},
{"role": "assistant", "content": "诺兰的作品确实很出色!除了《星际穿越》,他还导演了《盗梦空间》、《信条》、《记忆碎片》等经典作品。您对这些电影有什么特别的看法吗?"}
]
# 添加记忆,并附加元数据
m.add(messages, user_id="alice", metadata={"category": "movies"})
# 检索记忆
memories = m.search(query="我喜欢什么类型的电影?", user_id="alice")
print(json.dumps(memories, indent=2, ensure_ascii=False))
# 获取所有记忆
all_memories = m.get_all(user_id="alice")
print(json.dumps(all_memories, indent=2, ensure_ascii=False))下面是报错:
(qapi) agilex@agilex-MS:~/non_ros_workspace/qapi$ python test_mem0.py
Traceback (most recent call last):
File "/home/agilex/non_ros_workspace/qapi/test_mem0.py", line 46, in <module>
m.add(messages, user_id="alice", metadata={"category": "movies"})
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/mem0/memory/main.py", line 375, in add
vector_store_result = future1.result()
^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/mem0/memory/main.py", line 475, in _add_to_vector_store
existing_memories = self.vector_store.search(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/mem0/vector_stores/upstash_vector.py", line 139, in search
responses = self.client.query_many(queries=queries)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/upstash_vector/core/index_operations.py", line 302, in query_many
has_vector_query, payload = query_requests_to_payload(queries)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/upstash_vector/utils.py", line 324, in query_requests_to_payload
payload["vector"] = to_list(vector)
^^^^^^^^^^^^^^^
File "/home/agilex/miniconda3/envs/qapi/lib/python3.12/site-packages/upstash_vector/utils.py", line 60, in to_list
raise TypeError(
TypeError: Expected a list or something can be converted to a list(like numpy or pandas array) but got <class 'float'>Metadata
Metadata
Assignees
Labels
No labels
Activity