Bug描述
在现有的Weaviate向量存储中使用矢量存储索引时出现错误。
https://docs.llamaindex.ai/en/stable/examples/vector_stores/existing_data/weaviate_existing_data/
错误:
ValueError: Node content not found in metadata dict.
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
Cell In[28], [line 13](vscode-notebook-cell:?execution_count=28&line=13)
[1](vscode-notebook-cell:?execution_count=28&line=1) # set Logging to DEBUG for more detailed outputs
[2](vscode-notebook-cell:?execution_count=28&line=2) # question = "Effect of etafenone on total and regional myocardial blood flow."
[3](vscode-notebook-cell:?execution_count=28&line=3)
(...)
[9](vscode-notebook-cell:?execution_count=28&line=9) # pprint_source_node(nodes[0])
[10](vscode-notebook-cell:?execution_count=28&line=10) # nodes[0].node.metadata
[12](vscode-notebook-cell:?execution_count=28&line=12) query_engine = loaded_index.as_query_engine(similarity_top_k=2)
...
[133](https://file+.vscode-resource.vscode-cdn.net/Users/learn_AL_ML/~/Documents/Workspace/github/general/.conda/lib/python3.10/site-packages/llama_index/vector_stores/weaviate/utils.py:133) embedding=embedding,
[134](https://file+.vscode-resource.vscode-cdn.net/Users/learn_AL_ML/~/Documents/Workspace/github/general/.conda/lib/python3.10/site-packages/llama_index/vector_stores/weaviate/utils.py:134) )
[135](https://file+.vscode-resource.vscode-cdn.net/Users/learn_AL_ML/~/Documents/Workspace/github/general/.conda/lib/python3.10/site-packages/llama_index/vector_stores/weaviate/utils.py:135) return node
KeyError: 'id'
我的代码
index_name = "MedicalArticle"
vector_store = WeaviateVectorStore(weaviate_client=client, index_name=index_name, text_key="abstract")
loaded_index = VectorStoreIndex.from_vector_store(vector_store)
query_engine = loaded_index.as_query_engine(similarity_top_k=2)
response = query_engine.query("Effect of etafenone on total and regional myocardial blood flow?")
print(response)
版本
0.10.56
重现步骤
尝试这个链接
https://docs.llamaindex.ai/en/stable/examples/vector_stores/existing_data/weaviate_existing_data/
相关日志/回溯
- 无响应*
1条答案
按热度按时间eyh26e7m1#
要解决在使用Vector Store Index查询现有Weaviate向量存储时出现的
KeyError: 'id'
问题,请确保被查询的每个节点都正确设置了'id'属性。这种错误通常发生在响应中缺少预期的'id'键或正在处理的数据结构中。以下是确保
node_id
正确设置的解决方案:node_id
属性:当向Weaviate向量存储添加节点时,请确保每个
BaseNode
示例都有一个有效的node_id
属性。确保在查询中正确指定
node_ids
。当从向量存储加载索引时,请确保生成并正确存储嵌入。
通过确保在节点添加和查询中正确设置和使用
node_id
,你应该能够解决KeyError: 'id'
问题。