Bug描述
收到来自DBMS服务器的通知:{severity: WARNING} {code: Neo.ClientNotification.Statement.FeatureDeprecationWarning} {category: DEPRECATION} {title: 此功能已被弃用,将在未来的版本中被移除。} {description: 该过程具有已弃用的字段。('config'被'apoc.meta.graphSample'使用已被弃用。)} {position: line: 1, column: 1, offset: 0} 对于查询:“CALL apoc.meta.graphSample() YIELD nodes, relationships RETURN nodes, [rel in relationships | {name:apoc.any.property(rel, 'type'), count: apoc.any.property(rel, 'count')}] AS relationships”
版本
最新版本
重现步骤
运行以下代码
import os
from dotenv import load_dotenv
from llama_index.core import SimpleDirectoryReader, PropertyGraphIndex
from typing import Literal
from llama_index.core.indices.property_graph import SchemaLLMPathExtractor
from llama_index.graph_stores.neo4j import Neo4jPropertyGraphStore
from llama_index.legacy.embeddings import HuggingFaceEmbedding
from llama_index.llms.openai import OpenAI
load_dotenv()
OPENAI_API_KEY = os.environ.get('OPENAI_API_KEY')
NEO4J_URI = os.environ.get('NEO4J_URI')
NEO4J_USERNAME = os.environ.get("NEO4J_USERNAME")
NEO4J_PASSWORD = os.environ.get("NEO4J_PASSWORD")
documents = SimpleDirectoryReader("/Users/joyeed/langmodel/langmodel/data").load_data()
## best practice to use upper-case
entities = Literal["PERSON", "SKILL", "EMPLOYER","ADDRESS","PROFILE","PHONE"]
relations = Literal["HAS", "PART_OF", "EMPLOYED","BELONGS_TO","WORKED_FOR","WORKED_FROM","WORKED_TILL"]
## define which entities can have which relations
validation_schema = {
"PERSON": ["HAS", "PART_OF","WORKED_FOR","WORKED_FROM","WORKED_TILL"],
"ADDRESS":["BELONGS_TO"],
"PROFILE":["HAS"],
"PHONE":["BELONGS_TO"],
"SKILL": ["HAS","BELONGS_TO"],
"EMPLOYER": ["EMPLOYED"],
}
kg_extractor = SchemaLLMPathExtractor(
llm=OpenAI(),
possible_entities=entities,
possible_relations=relations,
kg_validation_schema=validation_schema,
# if false, allows for values outside of the schema
# useful for using the schema as a suggestion
strict=True,
)
graph_store = Neo4jPropertyGraphStore(
username=NEO4J_USERNAME,
password=NEO4J_PASSWORD,
url=NEO4J_URI,
)
vec_store = None
index = PropertyGraphIndex.from_documents(
documents,
kg_extractors=[kg_extractor],
embed_model=HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5"),
property_graph_store=graph_store,
vector_store=vec_store,
show_progress=True,
)`
7条答案
按热度按时间7rtdyuoh1#
同时收到以下消息。Llamaindex是否使用langchain?
/Users/joyeed/langmodel/langmodel/venv/lib/python3.11/site-packages/langchain/_api/module_import.py:92: LangChainDeprecationWarning: 从langchain.memory导入ChatMessageHistory已被弃用。请替换已弃用的导入项。
u4dcyp6a2#
LlamaIndex默认不使用langchain,但您可以使用langchain llms/embeddings与llamaindex一起使用。(如果您不使用它,只需卸载即可)
uurity8g3#
感谢重新安装解决了langchain弃用错误,但NEO4J弃用消息仍然存在。
pqwbnv8z4#
同时注意到在使用gpt-3.5创建节点时,出现了很多幻觉。如果我使用GPT-4,它不会创建任何关系,只会创建节点。我认为提示可能没有调整好。
fv2wmkja5#
我也注意到在使用gpt-3.5创建节点时,出现了很多幻觉。如果我使用GPT-4,它只会创建节点,而不会建立任何关系。我认为提示可能没有调整好。
是的,图没有被构建。它给出了一些模糊的关系,如“Bob”、“Alice”、“Philz”等,这些甚至不在我的数据集中!我正在使用Neo4j版本5.20.0。我想知道是什么导致了这个问题?
注意:我使用的是Llama3而不是ChatGPT。
以下是我的代码:
图:
9rygscc16#
有任何解决方案吗?
pokxtpni7#
同时注意到在使用gpt-3.5创建节点时,出现了很多幻觉。如果我使用GPT-4,它只会创建节点,而不会创建任何关系。我认为提示可能没有调整好。即使使用GPT-4和text-embedding-3-small,也无法提取关系。在Neo4J浏览器中看到独立的19个节点。配置参数周围的弃用消息仍然显示。Neo4j版本:5.19,Python:3.11,lama-index.core:0.11.1