knowledge-graph-of-thoughts:集成LLM推理与动态知识图的AI助手架构
项目介绍
knowledge-graph-of-thoughts(KGoT)是一种创新的AI助手架构,它将大型语言模型(LLM)的推理能力与动态构建的知识图谱(KGs)相结合。KGoT能够从任务相关的信息中提取并构建动态的知识图谱表示,并通过外部工具(如数学求解器、网络爬虫和Python脚本)进行迭代增强。这种任务相关知识的结构化表示,使得低成本模型能够有效地解决复杂任务。
项目技术分析
KGoT系统设计为一个模块化和灵活的框架,包括三个主要组件:控制器(Controller)、图存储(Graph Store)和集成工具(Integrated Tools),每个组件在任务解决过程中都发挥着关键作用。
- 控制器(Controller):提供对KGoT管道中可自定义参数的细粒度控制,并协调基于KG的推理过程。
- 图存储(Graph Store):提供支持各种知识图谱后端的模块化接口。初始支持Neo4j和NetworkX。
- 集成工具(Integrated Tools):允许灵活和可扩展的工具使用,并赋予框架多模态推理能力。
项目技术应用场景
KGoT框架主要应用于构建成本效益高的AI助手,适用于需要结合外部信息和复杂推理的任务。例如,它可以用于:
- 复杂问题解答:在客户服务、技术支持和学术研究中,对用户提出的问题进行深入理解和回答。
- 文档摘要:自动从大量文档中提取关键信息,生成摘要。
- 数据分析:在数据密集型任务中,自动构建知识图谱以支持数据挖掘和洞察发现。
项目特点
- 动态知识图谱构建:KGoT能够根据任务需求动态构建知识图谱,提供任务相关的结构化信息。
- 低成本模型:通过集成工具和动态知识图谱,即使低成本模型也能够有效解决复杂任务。
- 模块化设计:框架的模块化设计使得它易于扩展和适应不同的需求。
- 多模态推理:通过集成多种工具,KGoT能够实现多模态推理,提供更全面的解决方案。
- 容器化部署:为了提供安全的执行环境,关键模块如Neo4j图数据库和Python代码工具被容器化,确保了代码执行的安全性。
以下是如何使用KGoT的快速入门指南:
安装KGoT
首先,确保您的系统中安装了Python 3.10或更高版本。
git clone https://github.com/spcl/knowledge-graph-of-thoughts.git
cd knowledge-graph-of-thoughts/
pip install -e .
playwright install
配置API密钥和模型
请根据需要更新kgot/config_llms.json
文件中的API密钥和模型信息。
对于SurferAgent
工具,需要设置SerpAPI的API密钥,可在kgot/config_tools.json
文件中完成。
设置容器化环境
为了提供安全且一致的执行环境,关键模块如Neo4j图数据库和Python代码工具被容器化。
cd docker_instances/
chmod -R 777 neo4j_docker/snapshots # 为快照日志授予权限
docker compose --env-file neo4j_docker/.env up
快速使用
KGoT主要使用GAIA基准进行评估,但也提供了直接使用任务描述来运行KGoT的方法。
kgot single -p "What is a knowledge graph?"
您还可以选择后端并传递文件:
kgot --db_choice neo4j --controller_choice directRetrieve single --p "Could you summarize the content of these files for me?" --files [path/to/file1] [path/to/file2]
通过以上介绍,KGoT无疑是一个值得关注的开源项目,特别是对于希望在AI助手领域实现创新的开发者而言。它不仅提供了动态知识图谱构建的强大能力,还通过模块化设计和容器化部署,确保了易用性和安全性。赶快尝试KGoT,开启您在AI领域的创新之旅吧!