You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ChromaDB手动插入Embedding后查询结果中embeddings为None的问题求助

ChromaDB手动插入Embedding后查询结果中embeddings为None的问题求助

我最近在测试往ChromaDB里手动插入embedding数据,代码里已经在add方法里传了embeddings参数,但查询结果里的embeddings字段始终是None,这让我特别困惑。

以下是我的完整测试代码:

import chromadb
import numpy as np

client = chromadb.Client()
collection = client.create_collection(name="test")

def get_embedding(text):
    a = np.random.rand(384) 
    print(f"Generated embedding: {a}")
    return a 

documents = ["This is a document.", "Another document.", "And a third document."]
embeddings = [get_embedding(doc) for doc in documents]

print(f"Embeddings to be added: {embeddings}")

collection.add(
    documents=documents,
    embeddings=embeddings,  
    ids=["doc1", "doc2", "doc3"]
)

query_embedding = get_embedding("This is a query.")
results = collection.query(query_embeddings=[query_embedding], n_results=1)
print("Query results:", results)

运行后得到的输出如下:

Generated embedding: [5.94073439e-01 3.85563925e-01 ......... ]
Query results: {'ids': [['doc3']], 'embeddings': None, 'documents': [['And a third document.']], 'uris': None, 'data': None, 'metadatas': [[None]], 'distances': [[62.61347579956055]], 'included': [<IncludeEnum.distances: 'distances'>, <IncludeEnum.documents: 'documents'>, <IncludeEnum.metadatas: 'metadatas'>]}

从输出能看到,我生成的embedding是正常的,但查询返回的结果里embeddings就是None。有没有朋友知道这是哪里出了问题?是不是我在插入或者查询的时候漏了什么关键参数?

备注:内容来源于stack exchange,提问作者Ethan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 10:59:50