admin管理员组文章数量:1277401
I'm using the following code to try to test insert data into ChromaDB, I want to insert embeddings manually, so I use the embeddings parameter in the add method, but the embeddings in the database is always 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)
output:
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'>]}
I'm using the following code to try to test insert data into ChromaDB, I want to insert embeddings manually, so I use the embeddings parameter in the add method, but the embeddings in the database is always 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)
output:
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'>]}
Share
Improve this question
edited Feb 24 at 10:43
Ethan
asked Feb 24 at 10:28
EthanEthan
12 bronze badges
1 Answer
Reset to default 0change the query code from
results = collection.query(query_embeddings=[query_embedding], n_results=1)
to
results = collection.query(query_embeddings=[query_embedding], n_results=1, include=["embeddings"])
would fix the problem
本文标签: pythonEmbedding found None After ChromaDB insertionStack Overflow
版权声明:本文标题:python - Embedding found None After ChromaDB insertion - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741277826a2369834.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论