**AI回答:
你的 embeddings 不同模型导致无法匹配!(使用英文测试发现不成立)**
你用的是:
存储时用的 embedding:
SentenceTransformer("all-MiniLM-L6-v2")
检索时用的 embedding:
SentenceTransformer("all-MiniLM-L6-v2")
这看起来没问题,但 你的 query 是中文!
而 MiniLM-L6-v2 中文能力极差!!!
通过查找输入输出,结果发现从文件读取上文的函数根本没起作用
def retrieve(query, k=3):
query_vector = get_embedding(query)
results = collection.query(
query_embeddings=[query_vector],
n_results=k
)
docs = results["documents"]
print(docs)
if not docs or not docs[0]:
return []
return docs[0] # 返回 list[string]