非程序员注意:您可以在 instagraph.ai 上注册等候名单。
InstaGraph 🌐
你好,冒险的程序员!欢迎使用 InstaGraph,这是一款将文本或 URL 转换为富有洞察力的知识图谱的应用程序。对复杂主题中实体之间的关系感到好奇吗?将文本输入 InstaGraph,瞧!一张美丽的知识图谱就呈现在你眼前了。
查看 InstaGraph 生成的示例流程图,请点击这里。
这个 Flask 应用程序由 OpenAI 的 GPT-3.5 驱动,将您的文本转换为生动彩色的图谱,让您更轻松地可视化各种实体之间的关系。说得够多了,让我们开始吧!
作者的简要说明:如果你只想了解知识图谱是如何生成的,请查看 main.py 中占了一半的函数调用参数。
目录 📚
功能特性 🌟
- 动态文本到图谱的转换。
- 颜色编码的图谱节点和边。
- 响应式设计——可在任何设备上使用。
- 超级用户友好!
安装 🛠️
开始之前,你需要安装 Python 和 pip。
1. 克隆仓库
git clone https://github.com/yoheinakajima/instagraph.git
2. 进入项目目录
cd instagraph
3. 安装所需的 Python 包
pip install -r requirements.txt
4. 设置你的 OpenAI API 密钥
将 .env.example 更改为 .env
mv .env.example .env
在 .env 文件中添加你的 OpenAI API 密钥:
OPENAI_API_KEY=你的API密钥
可选 - 设置图数据库
使用:[--graph neo4j|falkordb]
选择图数据库驱动
- Neo4J
通过创建 neo4j 实例,在 *.env
文件中添加 Neo4J 用户名、密码和 URL。
NEO4J_USERNAME=
NEO4J_PASSWORD=
NEO4J_URI=
- FalkorDB
通过创建 FlakorDB 实例,在 *.env
文件中添加 FalkorDB URL。
FALKORDB_URL=
5. 运行 Flask 应用
python main.py [--graph neo4j|falkordb] [--port port] [--debug]
访问 http://localhost:8080
查看你的应用运行情况。
以容器方式运行
1. 克隆仓库
git clone https://github.com/yoheinakajima/instagraph.git
2. 进入项目的 docker 目录
cd instagraph/docker
3.1 以开发模式运行
docker-compose -f docker-compose-dev.yml up # 在末尾添加 -d 标志以后台/守护进程模式运行。
3.2 在生产环境中运行 - 创建 docker 镜像
- 使用
gunicorn==21.2.0
在生产模式下运行应用程序
docker-compose -f docker-compose.yml up --build -d
使用方法 🎉
Web 界面
- 打开你的网页浏览器,访问
http://localhost:8080
。 - 在输入框中输入文本或粘贴 URL。
- 点击"提交",等待奇迹发生!
API 端点
-
获取响应数据:
/get_response_data
- 方法:
POST
- 数据参数:
{"user_input": "你的文本"}
- 响应:GPT-3.5 处理后的数据
- 方法:
-
获取图谱数据:
/get_graph_data
- 方法:
POST
- 响应:图谱数据
- 方法:
-
获取历史数据:
/get_graph_history
- 方法:
GET
- 响应:图谱数据
- 方法:
贡献 🤝
与我交流的最佳方式是在 Twitter 上 @yoheinakajima。我通常只在周末或晚上编码,而且时间很零散。我有很多想在这里添加的想法,但显然如果大家一起参与会进展得更快。鉴于我的时间限制,我可能无法很好地管理 Github,所以如果你想帮我管理 Github,请联系我。现在,根据评论,这里有一些我认为我们应该添加的想法...
存储知识图谱(感谢 @tomasonjo! 9/13/23)从存储中提取知识图谱(感谢 @tomasonjo! 9/13/23)- 显示历史记录
- 合并两个图谱的能力
- 从历史记录中合并 2 个或更多图谱的能力
扩展图谱的能力(感谢 @tomasonjo! 9/13/23)- 从特定节点扩展图谱的能力
- 合并图谱时的节点模糊匹配(向量匹配 + LLM 确认)
市面上有很多"构建图表"的工具,所以与其做用户账户和自定义图表,对我来说更有趣的是致力于构建有史以来最大的知识图谱...
在创建 Issue 之前,请参考提供的 ISSUE_TEMPLATE。
许可证 📝
MIT 许可证。更多信息请参见 LICENSE。
享受使用 InstaGraph 吧!🎉