当前位置:   article > 正文

neo4j+LLM构建成品油&医疗跨领域知识图谱(初)&neo4j查询某个节点_llm查询neo4j

llm查询neo4j

全词查询

MATCH(n) WHERE n.name = '成品油' RETURN n

关键词查询:

MATCH (n) WHERE n.id CONTAINS '油' RETURN n

计算节点数

MATCH (n) RETURN count(n) AS number_of_nodes;

计算关系数:

MATCH ()-[r]->() RETURN count(r) AS number_of_relationships;
 

具体代码如下(仅做备份自查):

  1. from langchain_core.runnables import (
  2. RunnableBranch,
  3. RunnableLambda,
  4. RunnableParallel,
  5. RunnablePassthrough,
  6. )
  7. from langchain_core.prompts import ChatPromptTemplate
  8. from langchain_core.prompts.prompt import PromptTemplate
  9. from langchain_core.pydantic_v1 import BaseModel, Field
  10. from typing import Tuple, List, Optional
  11. from langchain_core.messages import AIMessage, HumanMessage
  12. from langchain_core.output_parsers import StrOutputParser
  13. import os
  14. from langchain_community.graphs import Neo4jGraph
  15. from langchain.document_loaders import WikipediaLoader
  16. from langchain.text_splitter import TokenTextSplitter
  17. from langchain_openai import ChatOpenAI
  18. from langchain_experimental.graph_transformers import LLMGraphTransformer
  19. from neo4j import GraphDatabase
  20. from yfiles_jupyter_graphs import GraphWidget
  21. from langchain_community.vectorstores import Neo4jVector
  22. from langchain_openai import OpenAIEmbeddings
  23. from langchain_community.vectorstores.neo4j_vector import remove_lucene_chars
  24. from langchain_core.runnables import ConfigurableField, RunnableParallel, RunnablePassthrough
  25. try:
  26. import google.colab
  27. from google.colab import output
  28. output.enable_custom_widget_manager()
  29. except:
  30. pass
  1. os.environ["OPENAI_API_KEY"] = "sk-**********"
  2. os.environ["NEO4J_URI"] = "bolt://localhost:7687"
  3. os.environ["NEO4J_USERNAME"] = "neo4j"
  4. os.environ["NEO4J_PASSWORD"] = "123456cys"
  5. graph = Neo4jGraph()
  1. # 假设你有一个本地文件路径
  2. file_path = 'data/oil072801.txt' # 替换为你的文件路径
  3. # 读取本地文件内容
  4. with open(file_path, 'r', encoding='utf-8') as file:
  5. raw_documents = file.read()
  6. # 创建 Document 类,添加 metadata 属性
  7. class Document:
  8. def __init__(self, content, metadata=None):
  9. self.page_content = content
  10. self.metadata = metadata # 这里添加了 metadata 属性
  11. # 创建文档对象,并设置 metadata 属性
  12. documents = [Document(content, {'source': 'oil0728'}) for content in raw_documents.split('\n')]
  13. # Define chunking strategy
  14. text_splitter = TokenTextSplitter(chunk_size=512, chunk_overlap=24)
  15. split_documents = text_splitter.split_documents(documents)
  16. # Initialize the LLM
  17. llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo-0125") # gpt-4-0125-preview occasionally has issues
  18. llm_transformer = LLMGraphTransformer(llm=llm)
  19. # Transform documents to graph documents
  20. graph_documents = llm_transformer.convert_to_graph_documents(split_documents)
  21. # 存储到 neo4j
  22. graph.add_graph_documents(
  23. graph_documents,
  24. baseEntityLabel=True,
  25. include_source=True
  26. )

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/897533
推荐阅读
相关标签
  

闽ICP备14008679号