项目简介
LLM Graph Builder可以把非结构化数据,PDF、文档、文本、YouTube视频、网页等转换成存储在 Neo4j 中的知识图谱
利用大模型OpenAI、Gemini 、Llama3、Diffbot、Claude、Qwen等从非结构化数据中提取节点、关系及其属性(可自定义要提取的关系、节点)
主要特征
1、知识图谱创建:使用LLMs将非结构化数据转换为结构化知识图谱。
2、提供Schema:提供您自己的自定义Schema或使用已有的现有Schema来生成graph
3、查看图表:在 Bloom 中一次查看特定源或多个源的graph。
4、AI聊天:对话即可查询与 Neo4j 数据库中的数据进行交互,还可提供来源的元数据(支持使用不同 RAG 方法(GraphRAG、Vector、Text2Cypher)进行知识问答)。
入门
⚠️
您需要安装 Neo4j 数据库 V5.15 或更高版本并安装 APOC 才能使用此知识图生成器。您可以使用任何 Neo4j Aura 数据库(包括免费数据库)。如果您使用 Neo4j Desktop,您将无法使用 docker-compose,而必须遵循后端和前端部分的单独部署。
⚠️
部署
本地部署
通过 docker-compose 运行
默认情况下仅启用 OpenAI 和 Diffbot,因为 Gemini 需要额外的 GCP 配置。
在根文件夹中,使用 OPENAI 和 DIFFBOT 密钥创建一个 .env 文件(如果您想同时使用两者):
OPENAI_API_KEY="your-openai-key"
DIFFBOT_API_KEY="your-diffbot-key"
如果你只想要 OpenAI:
LLM_MODELS="diffbot,openai-gpt-3.5,openai-gpt-4o"
OPENAI_API_KEY="your-openai-key"
如果你只想要 Diffbot:
LLM_MODELS="diffbot"
DIFFBOT_API_KEY="your-diffbot-key"
然后,您可以运行 Docker Compose 来构建并启动所有组件:
附加配置
默认情况下,输入源为:本地文件、Youtube、维基百科、AWS S3 和网页。当应用此默认配置时:
REACT_APP_SOURCES="local,youtube,wiki,s3,web"
但是,如果您想要 Google GCS 集成,请添加
gcs
和您的 Google 客户端 ID:
REACT_APP_SOURCES="local,youtube,wiki,s3,gcs,web"
GOOGLE_CLIENT_ID="xxxx"
您当然可以合并所有内容(本地、youtube、维基百科、s3 和 gcs)或删除任何您不想要/不需要的内容。
聊天模式
默认情况下,所有聊天模式都可用:矢量、图形+矢量和图形。如果聊天模式变量中未提及任何模式,则所有模式都可用:
但是,如果您想指定唯一的矢量模式或仅图形模式,您可以通过在环境中指定模式来实现:
CHAT_MODES="vector,graph+vector"
分别运行后端和前端(开发环境)
或者,您可以单独运行后端和前端:
-
通过复制/粘贴 frontend/example.env 创建 frontend/.env 文件。
-
Change values as needed
根据需要更改值
cd frontend
yarn
yarn run dev
-
通过复制/粘贴 backend/example.env 创建 backend/.env 文件。
-
Change values as needed
根据需要更改值
-
cd backend
python -m venv envName
source envName/bin/activate
pip install -r requirements.txt
uvicorn score:app --reload
部署在云端
要在 Google Cloud Platform 上部署应用程序和包,请在 google cloud run 上运行以下命令:
gcloud run deploy
source location current directory > Frontend
region : 32 [us-central 1]