赞
踩
全词查询
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;
具体代码如下(仅做备份自查):
- from langchain_core.runnables import (
- RunnableBranch,
- RunnableLambda,
- RunnableParallel,
- RunnablePassthrough,
- )
- from langchain_core.prompts import ChatPromptTemplate
- from langchain_core.prompts.prompt import PromptTemplate
- from langchain_core.pydantic_v1 import BaseModel, Field
- from typing import Tuple, List, Optional
- from langchain_core.messages import AIMessage, HumanMessage
- from langchain_core.output_parsers import StrOutputParser
- import os
- from langchain_community.graphs import Neo4jGraph
- from langchain.document_loaders import WikipediaLoader
- from langchain.text_splitter import TokenTextSplitter
- from langchain_openai import ChatOpenAI
- from langchain_experimental.graph_transformers import LLMGraphTransformer
- from neo4j import GraphDatabase
- from yfiles_jupyter_graphs import GraphWidget
- from langchain_community.vectorstores import Neo4jVector
- from langchain_openai import OpenAIEmbeddings
- from langchain_community.vectorstores.neo4j_vector import remove_lucene_chars
- from langchain_core.runnables import ConfigurableField, RunnableParallel, RunnablePassthrough
-
- try:
- import google.colab
- from google.colab import output
- output.enable_custom_widget_manager()
- except:
- pass

- os.environ["OPENAI_API_KEY"] = "sk-**********"
- os.environ["NEO4J_URI"] = "bolt://localhost:7687"
- os.environ["NEO4J_USERNAME"] = "neo4j"
- os.environ["NEO4J_PASSWORD"] = "123456cys"
-
- graph = Neo4jGraph()
- # 假设你有一个本地文件路径
- file_path = 'data/oil072801.txt' # 替换为你的文件路径
-
- # 读取本地文件内容
- with open(file_path, 'r', encoding='utf-8') as file:
- raw_documents = file.read()
-
- # 创建 Document 类,添加 metadata 属性
- class Document:
- def __init__(self, content, metadata=None):
- self.page_content = content
- self.metadata = metadata # 这里添加了 metadata 属性
-
- # 创建文档对象,并设置 metadata 属性
- documents = [Document(content, {'source': 'oil0728'}) for content in raw_documents.split('\n')]
-
- # Define chunking strategy
- text_splitter = TokenTextSplitter(chunk_size=512, chunk_overlap=24)
- split_documents = text_splitter.split_documents(documents)
-
- # Initialize the LLM
- llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo-0125") # gpt-4-0125-preview occasionally has issues
- llm_transformer = LLMGraphTransformer(llm=llm)
-
- # Transform documents to graph documents
- graph_documents = llm_transformer.convert_to_graph_documents(split_documents)
-
- # 存储到 neo4j
- graph.add_graph_documents(
- graph_documents,
- baseEntityLabel=True,
- include_source=True
- )

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。