llama_index [Bug]: 获取Neo4jPropertyGraphStore的弃用消息

mzmfm0qo  于 22天前  发布在  其他
关注(0)|答案(7)|浏览(22)

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,
 )`
7rtdyuoh

7rtdyuoh1#

同时收到以下消息。Llamaindex是否使用langchain?
/Users/joyeed/langmodel/langmodel/venv/lib/python3.11/site-packages/langchain/_api/module_import.py:92: LangChainDeprecationWarning: 从langchain.memory导入ChatMessageHistory已被弃用。请替换已弃用的导入项。

u4dcyp6a

u4dcyp6a2#

LlamaIndex默认不使用langchain,但您可以使用langchain llms/embeddings与llamaindex一起使用。(如果您不使用它,只需卸载即可)

uurity8g

uurity8g3#

感谢重新安装解决了langchain弃用错误,但NEO4J弃用消息仍然存在。

pqwbnv8z

pqwbnv8z4#

同时注意到在使用gpt-3.5创建节点时,出现了很多幻觉。如果我使用GPT-4,它不会创建任何关系,只会创建节点。我认为提示可能没有调整好。

fv2wmkja

fv2wmkja5#

我也注意到在使用gpt-3.5创建节点时,出现了很多幻觉。如果我使用GPT-4,它只会创建节点,而不会建立任何关系。我认为提示可能没有调整好。
是的,图没有被构建。它给出了一些模糊的关系,如“Bob”、“Alice”、“Philz”等,这些甚至不在我的数据集中!我正在使用Neo4j版本5.20.0。我想知道是什么导致了这个问题?
注意:我使用的是Llama3而不是ChatGPT。
以下是我的代码:
图:

9rygscc1

9rygscc16#

有任何解决方案吗?

pokxtpni

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

相关问题