基于大语言模型LLM 的知识图谱生成工具,支持从文本中自动提取实体关系并可视化展示。
试用网址:https://knowledgegraph-app.streamlit.app/
介绍文章:使用大语言模型 + streamlit-agraph 生成和可视化知识图谱
本项目是一个基于大语言模型的知识图谱生成工具,可以自动从输入文本中提取实体和关系,并生成可视化的知识图谱。目前支持智谱 AI 和 Azure OpenAI 两种模型供应商。
- 🤖 支持多个 LLM 供应商
- 智谱 AI (GLM-4)
- Azure OpenAI
- 📊 知识图谱可视化
- 交互式图形界面
- 节点和边的自定义样式
- 支持图谱缩放和拖拽
- 🎯 简单易用的 Web 界面
- Streamlit 构建的直观界面
- 实时反馈和错误提示
- 支持大段文本输入
- Python 3.8+
- pip
- langchain==0.2.16
- langchain-community==0.2.16
- langchain-core==0.2.38
- langchain-text-splitters==0.2.4
- langdetect==1.0.9
- streamlit==1.38.0
- streamlit-agraph==0.0.45
- zhipuai==2.1.5.20230904
- 克隆项目
git clone https://github.com/yourusername/KnowledgeGraph-Streamlit.git
cd KnowledgeGraph-Streamlit- 安装依赖
pip install -r requirements.txt- 运行应用
streamlit run app.py-
智谱 AI
- 访问 智谱 AI 开放平台
- 注册账号并创建应用
- 获取 API 密钥
-
Azure OpenAI
- 访问 Azure Portal
- 创建 Azure OpenAI 服务
- 获取 API 密钥和配置信息
-
启动应用后,在侧边栏:
- 选择 LLM 供应商(默认为智谱 AI)
- 输入对应的 API 密钥
-
在主界面:
- 在文本框中输入待分析文本
- 点击"Extract Knowledge"按钮
- 等待知识图谱生成
- 查看可视化结果
人工智能是计算机科学的一个分支,它包含机器学习和深度学习两个重要领域。
机器学习使用统计方法来让计算机系统逐步改善性能,而深度学习则是基于神经网络的一种特殊机器学习方法。
knowledge-graph-generator/
├── app.py # 主应用程序
├── llm_utils.py # LLM 调用工具
├── utils.py # 通用工具函数
├── requirements.txt # 项目依赖
└── README.md # 项目文档
- 前端框架: Streamlit
- 图形可视化: streamlit-agraph
- LLM 接口:
- langchain-community
- Azure OpenAI
- 数据处理: Python 标准库
-
API 密钥安全
- 不要在代码中硬编码 API 密钥
- 建议使用环境变量管理密钥
- 定期更换 API 密钥
-
使用限制
- 注意 API 调用频率限制
- 单次文本长度限制
- 知识图谱节点数量至少需要 3 个
-
性能优化
- 大文本建议分段处理
- 适当调整模型参数
- 缓存常用结果
-
Q: 为什么图谱生成失败? A: 常见原因:
- API 密钥无效或过期
- 输入文本过短或实体关系不足
- 网络连接问题
-
Q: 如何提高图谱质量? A: 建议:
- 使用结构化的输入文本
- 调整模型温度参数
- 增加输入文本的实体密度
感谢以下项目和工具: