项目介绍
概述
llmgraph 是一个开源项目,旨在利用大型语言模型(LLMs)帮助用户从特定的维基百科页面创建知识图谱。该项目支持生成 GraphML、GEXF 和 HTML 格式的知识图谱,其核心功能依赖于从 ChatGPT 或其他 LLMs(如支持的 LiteLLM)中提取世界知识。知识图谱是通过分析关联实体和关系来进行可视化展示的,对理解和分析复杂信息网络非常有用。
主要特性
- 知识图谱创建:用户可以通过指定一个源实体来生成相关的知识图谱,从而帮助挖掘深层信息。
- 多模型支持:不仅支持使用 ChatGPT,可以通过自定义配置支持其他语言模型。
- 多格式输出:可以将知识图谱输出为 HTML、GraphML 和 GEXF 格式,以便于在不同平台上进行查看和分析。
- 多实体类型和关系:支持通过自定义提示语以生成不同类型的实体和关系。
- 缓存功能:支持缓存以提高生成效率,支持迭代式的知识图谱扩展。
- 成本监控:输出总使用 token,以便用户更好地控制云端调用的成本。
- 自定义模型:可以灵活选择或定制模型,默认为 OpenAI 的 gpt-4o-mini,以兼顾速度和成本。
安装方法
用户可以通过 pip 命令安装 llmgraph,建议在 Python 虚拟环境中进行:
pip install llmgraph
此外,项目还提供了一个示例 notebook,用户可以在 Google Colab 上直接运行体验。
使用示例
下图是一个基于人工智能主题生成的知识图谱示例。使用以下命令生成的三层图谱:
llmgraph machine-learning "https://en.wikipedia.org/wiki/Artificial_intelligence" --levels 3
在此示例中,用户只需指定实体类型和维基百科源实体的 URL,系统会自动生成相关知识图谱。
未来展望
llmgraph 项目的未来改进计划包括:
- 增强图谱输出效果,例如改善 HTML 输出及其交互性。
- 对比不同 LLM 模型生成的图谱以深入理解这些模型处理知识信息的方式。
- 添加本地运行和自定义实体类型的指南。
- 增加示例和易浏览的文档。
如何参与贡献
llmgraph 欢迎广大开发者参与贡献。步骤如下:
- Fork 本项目仓库。
- 创建一个新分支用于您的功能或错误修复。
- 提交更改并进行 commit。
- 提出 Pull Request 并描述您的更改。
鸣谢
特别感谢 @breitburg 对 LiteLLM 更新的贡献。
参考资料
提供有关知识图谱生成与 LLM 应用的参考文献和相关资源链接,方便感兴趣的读者深入学习研究。
通过 llmgraph,用户可以轻松创建和探索各种主题的知识图谱,引导用户深入理解复杂的信息网络,让知识的整理与分析变得更为简便直观。