资讯动态

llm-graph-builder:基于 LangChain + LLM 将非结构化数据构建为 Neo4j 知识图谱的完整实战指南

发布时间:2026/9/17 22:27:12 来源:尧图企业网站定制
llm-graph-builder基于 LangChain LLM 将非结构化数据构建为 Neo4j 知识图谱的完整实战指南【免费下载链接】llm-graph-builderNeo4j graph construction from unstructured data using LLMs项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder本指南以仓库根目录 README.md 为骨架结合 backend 与 frontend 的真实源码、示例环境变量与部署配置系统讲解 llm-graph-builder 的原理、环境准备、模型配置、嵌入选择、部署方案与使用流程。读完本文你将掌握如何把 PDF、DOC、TXT、YouTube 视频、网页、GCS/S3 对象等非结构化数据通过 LangChain 生态与任意主流 LLM 转换为可直接在 Neo4j 中查询与可视化的结构化知识图谱并能够独立完成本地、Docker、GCP Cloud Run 三种形态的部署。项目定位从非结构化文本到结构化知识图谱llm-graph-builder 的核心能力是将非结构化数据PDFs、DOCs、TXT、YouTube 视频、网页等经由 LLM 与 LangChain 框架转换为存储在 Neo4j 中的结构化知识图谱。应用允许用户从多种来源本地机器、GCS、S3 桶或 Web 来源上传文件选择偏好的 LLM 模型并生成知识图谱见 README.md。技术栈上后端基于Python FastAPI LangChain Neo4j前端基于ReactVite这一点可从根目录 README.md 的徽章以及 backend/requirements.txt、frontend/package.json 中印证。整体工作流结合 backend/src/main.py 的入口逻辑一次完整的图谱构建流程如下接入数据源后端按来源类型分别处理——本地文件local_file.py、GCS 桶gcs_bucket.py、S3 桶s3_bucket.py、网页web_pages.py、Wikipediawikipedia.py与 YouTubeyoutube.py。每种来源都会创建一个对应的sourceNode作为图谱起点。文本分块Chunking内容被切成带位置、长度、内容偏移量以及可选页码/时间戳元数据的 Chunk 节点并通过PART_OF指向 Document、通过FIRST_CHUNK/NEXT_CHUNK串联成序见 make_relationships.py。LLM 抽取实体与关系将 Chunk 文本交给用户选择的 LLM由 get_llm() 按模型路由创建对应的 LangChain 会话再利用 LangChain 的LLMGraphTransformer/DiffbotGraphTransformer抽取节点、关系与属性见 llm.py。建立 Chunk 与实体之间的HAS_ENTITY关系见 make_relationships.py。生成嵌入为 Chunk可选地为实体生成向量嵌入并创建向量索引见 make_relationships.py。持久化与查询图谱写入 Neo4j之后可通过图可视化Neo4j Bloom或多模式聊天问答进行消费。环境准备与前置条件必需软件组件版本要求说明Python3.12 或更高仅本地/独立部署后端时需要Neo4j5.23 或更高后端使用了 Cypher 变量作用域子查询语法CALL (variable) { ... }该语法在 5.20 等更早的 5.x 版本中不受支持因此必须使用 5.23APOC需安装图谱合并、关系构建依赖 APOC 过程如apoc.merge.nodeNeo4j Aura支持含免费层可直接使用托管实例Neo4j Desktop支持但有约束需分别部署后端与前端不支持 docker-compose以上版本要求可在 README.md 中确认。数据库连接方式应用支持三种方式向 Neo4j 提供连接凭据通过后端.env预配置NEO4J_URI/NEO4J_USERNAME/NEO4J_PASSWORD/NEO4J_DATABASE在登录对话框中手动填写 URI 与密码直接拖放 Neo4j 凭据文件。此外前端界面针对AURA DS与AURA DB提供了不同图标区分——AURA DB 显示数据库图标AURA DS 显示科学分子图标位于 Neo4j 连接信息标签下方见 README.md。后端部署步骤在backend目录下通过复制 backend/example.env 创建.env文件。如需绕过登录对话框可在.env中预配置凭据NEO4J_URIyour-neo4j-uri NEO4J_USERNAMEyour-username NEO4J_PASSWORDyour-password NEO4J_DATABASEyour-database-name启动服务cd backend python3.12 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt uvicorn score:app --reload需要注意仓库中 FastAPI 应用的模块入口是score即 backend/score.py因此使用uvicorn score:app --reload而非main:app启动这同样适用于后续的所有部署变体见 README.md 与 README.md。前端部署前端基于 Vite React TypeScriptcd frontend yarn yarn run dev在此之前先在frontend目录下复制 frontend/example.env 为.env并按需修改环境变量。开发模式下前端默认通过VITE_BACKEND_API_URL默认http://localhost:8000访问后端。LLM 模型支持与配置机制支持的模型提供商README 列出的模型生态如下其中标注 dev deployed version 的表示已在开发部署环境中启用OpenAIGeminiDiffbotAzure OpenAIAnthropicFireworksGroqAmazon BedrockOllamaDeepseek其他兼容 OpenAI 的 base URL 模型模型路由的底层实现模型并非硬编码在代码里而是通过LLM_MODEL_CONFIG_MODEL环境变量动态装配。在 backend/src/llm.py 中get_llm(model)将传入的模型名大写化并把.替换为_拼出环境变量键model model.upper().replace(., _).strip() env_key fLLM_MODEL_CONFIG_{model} env_value get_value_from_env(env_key)随后按模型关键字分发到不同的 LangChain 客户端见 llm.py模型关键字使用的 LangChain 类配置格式env 值GEMINIChatGoogleGenerativeAIvertexaiTrue默认走 GCP 应用默认凭据temperature0gemini-3.5-flashOPENAIChatOpenAIgpt-5.4-mini,openai-keyAZUREAzureChatOpenAIendpoint/部署名/api_versiongpt-4o,https://YOUR-ENDPOINT.openai.azure.com/,azure_api_key,api_versionANTHROPICChatAnthropicclaude-opus-4-7,anthropic_api_keyFIREWORKSChatFireworksaccounts/fireworks/models/qwen3p6-plus,fireworks_api_keyGROQChatGroqllama-3.1-8b-instant,base_url,groq_api_keyBEDROCKChatBedrockboto3 bedrock-runtime 客户端amazon.nova-pro-v1:0,aws_access_key,aws_secret_key,region_nameOLLAMAChatOllamallama3_model_name,model_local_urlDIFFBOTDiffbotGraphTransformerextract_types[entities,facts]不消耗 token 统计diffbot,diffbot_api_key其他OpenAI 兼容ChatOpenAI base_urlmodel_name,api_endpoint,api_key典型配置示例以下摘自 backend/example.env可直接复制使用LLM_MODEL_CONFIG_OPENAI_GPT_5_5gpt-5.5,openai-key LLM_MODEL_CONFIG_OPENAI_GPT_5_4_MINIgpt-5.4-mini,openai-key LLM_MODEL_CONFIG_GEMINI_3_5_FLASHgemini-3.5-flash LLM_MODEL_CONFIG_DIFFBOTdiffbot,diffbot_api_key LLM_MODEL_CONFIG_GROQ_LLAMA3_1_8Bllama-3.1-8b-instant,base_url,groq_api_key LLM_MODEL_CONFIG_ANTHROPIC_CLAUDE_4_6_SONNETclaude-sonnet-4-6,anthropic_api_key LLM_MODEL_CONFIG_ANTHROPIC_CLAUDE_4_7_OPUSclaude-opus-4-7,anthropic_api_key LLM_MODEL_CONFIG_LLAMA4_MAVERICKLlama-4-Maverick-17B-128E-Instruct-FP8,api_endpoint,api_key LLM_MODEL_CONFIG_AZURE_AI_GPT_4Ogpt-4o,https://YOUR-ENDPOINT.openai.azure.com/,azure_api_key,api_version LLM_MODEL_CONFIG_FIREWORKS_QWEN3_6accounts/fireworks/models/qwen3p6-plus,fireworks_api_key LLM_MODEL_CONFIG_FIREWORKS_GPT_OSSaccounts/fireworks/models/gpt-oss-120b,fireworks_api_key LLM_MODEL_CONFIG_FIREWORKS_DEEPSEEK_V3accounts/fireworks/models/deepseek-v3p1,fireworks_api_key LLM_MODEL_CONFIG_BEDROCK_NOVA_MICRO_V1amazon.nova-micro-v1:0,aws_access_key,aws_secret_key,region_name LLM_MODEL_CONFIG_OLLAMA_LLAMA3llama3_model_name,model_local_url说明内部应用 tokenfireworks_qwen3_6解析为 Fireworks serverless slugaccounts/fireworks/models/qwen3p6-plus见 backend/example.env。配置中指定的模型必须与前端VITE_LLM_MODELS/VITE_LLM_MODELS_PROD中暴露的选项一一对应否则get_llm会因找不到对应环境变量而抛出异常见 llm.py。嵌入模型选择前端在Graph Settings Processing Configuration Select Embedding Model中提供嵌入模型选择支持的提供商包括 OpenAI、Gemini、Amazon Titan 与 Sentence Transformers见 README.md。当启用TRACK_USER_USAGE时用户选择的嵌入模型会保存到用户画像中后续会话自动复用。本地配置的两种模式方式一启用用户跟踪TRACK_USER_USAGEtrue在backend/.env中设置TRACK_USER_USAGEtrue提供 token 跟踪库凭据TOKEN_TRACKER_DB_URI、TOKEN_TRACKER_DB_USERNAME等在前端选择嵌入模型选择结果将被保存并在后续会话自动使用。方式二不启用用户跟踪TRACK_USER_USAGEfalse在backend/.env中直接用EMBEDDING_MODEL与EMBEDDING_PROVIDER指定模型与提供商若两者均未设置应用默认使用 Sentence Transformer 模型默认all-MiniLM-L6-v2见 backend/example.env此模式下无法从前端更改嵌入模型。嵌入实际由 make_relationships.py 中的create_chunk_embeddings执行它读取IS_EMBEDDING默认True开关通过load_embedding_model加载模型为每个 Chunk 调用embeddings.embed_query(...)生成向量写回 Chunk 节点上的embedding属性。若设置ENTITY_EMBEDDINGTrue还会为每个实体节点生成嵌入供entity_vector聊天模式使用。部署选项方式一Docker Compose 一键部署使用根目录 docker-compose.yml 即可同时拉起前后端docker-compose up注意docker-compose.yml会读取backend/.env与frontend/.env因此请先完成两份.env的配置。Neo4j Desktop 用户不适用此方式需改为前后端分离部署。模型与数据源配置要点支持的 LLM 模型默认仅启用 OpenAI 与 DiffbotGemini 需要额外的 GCP 配置。通过VITE_LLM_MODELS_PROD配置所需模型例如VITE_LLM_MODELS_PRODgemini_3.5_flash,openai_gpt_5.4_mini,diffbot,anthropic_claude_4.5_haikuAnthropic 模型在配置中使用最新的 Claude 模型LLM_MODEL_CONFIG_ANTHROPIC_CLAUDE_4_7_OPUSclaude-opus-4-7,anthropic_api_key输入来源默认启用local、YouTube、Wikipedia、AWS S3与web。要加入 Google Cloud StorageGCS需追加gcs并配置 Google Client IDVITE_REACT_APP_SOURCESlocal,youtube,wiki,s3,gcs,web VITE_GOOGLE_CLIENT_IDyour-google-client-iddocker-compose.yml中前端构建参数docker-compose.yml与以上变量一一对应例如VITE_ENV默认DEV、VITE_CHUNK_SIZE默认52428805MB、VITE_BATCH_SIZE默认2、VITE_SKIP_AUTH默认true。聊天模式配置通过VITE_CHAT_MODES控制可用的聊天检索模式。默认全部启用VITE_CHAT_MODESvector,graph_vector,graph,fulltext,graph_vector_fulltext,entity_vector,global_vector如需限定例如仅启用向量与图模式VITE_CHAT_MODESvector,graph各模式在源码 backend/src/shared/constants.py 中均有对应的检索配置映射CHAT_MODE_CONFIG_MAP定义了下述差异模式底层索引说明vectorvectorChunk 向量纯向量语义检索按文档过滤fulltextvectorkeyword向量检索叠加关键词全文索引graph_vectorvector 图遍历命中向量结果后沿图谱关系扩展上下文graph图谱结构基于图结构的问答graph_vector_fulltextvectorkeyword 图遍历三路混合也是默认模式CHAT_DEFAULT_MODEentity_vectorentity_vector__Entity__嵌入实体级向量检索结合社区摘要需ENTITY_EMBEDDINGtrueglobal_vectorcommunity_vector__Community__嵌入基于社区Community摘要的全局向量检索用于全局性提问方式二前后端分离部署开发模式即上文「后端部署」「前端部署」两节的组合分别复制 backend/example.env 与 frontend/example.env后端执行uvicorn score:app --reload前端执行yarn run dev。方式三Google Cloud Run 云部署直接使用gcloud run deploy# 前端 gcloud run deploy dev-frontend \ --source . \ --region us-central1 \ --allow-unauthenticated # 后端 gcloud run deploy dev-backend \ --set-env-vars OPENAI_API_KEYyour-openai-api-key \ --set-env-vars DIFFBOT_API_KEYyour-diffbot-api-key \ --set-env-vars NEO4J_URIyour-neo4j-uri \ --set-env-vars NEO4J_USERNAMEyour-username \ --set-env-vars NEO4J_PASSWORDyour-password \ --source . \ --region us-central1 \ --allow-unauthenticated方式四Cloud Build 自动/手动构建项目支持通过cloudbuild.yaml位于仓库根目录将前后端部署到 Cloud Run并支持按分支main/staging/dev区分多环境。自动化部署推荐在 Google Cloud Console 的 Cloud Build Triggers 中创建触发器选择仓库并设置在目标分支推送时触发Cloud Build 会自动使用根目录的cloudbuild.yaml敏感值如_OPENAI_API_KEY、_DIFFBOT_API_KEY可配置为替换变量或使用 Secret Manager。手动部署gcloud auth login gcloud config set project YOUR_PROJECT_ID gcloud builds submit --config cloudbuild.yaml \ --substitutions_REGIONus-central1,_REPOcloud-run-repo,_OPENAI_API_KEYyour-openai-key,_DIFFBOT_API_KEYyour-diffbot-key,_BUCKET_UPLOAD_FILEyour-bucket,_BUCKET_FAILED_FILEyour-bucket,_PROJECT_IDyour-project-id,_GCS_FILE_CACHEFalse,_TRACK_USER_USAGEFalse,_TOKEN_TRACKER_DB_URI...,_TOKEN_TRACKER_DB_USERNAME...,_TOKEN_TRACKER_DB_PASSWORD...,_TOKEN_TRACKER_DB_DATABASE...,_DEFAULT_DIFFBOT_CHAT_MODEL...,_YOUTUBE_TRANSCRIPT_PROXY...,_EMBEDDING_MODEL..., _EMBEDDING_PROVIDER...,_BEDROCK_EMBEDDING_MODEL_KEY...,_LLM_MODEL_CONFIG_OPENAI_GPT_5_2...,_LLM_MODEL_CONFIG_OPENAI_GPT_5_MINI...,_LLM_MODEL_CONFIG_GEMINI_2_5_FLASH...,_LLM_MODEL_CONFIG_GEMINI_2_5_PRO...,_LLM_MODEL_CONFIG_DIFFBOT...,_LLM_MODEL_CONFIG_GROQ_LLAMA3_1_8B...,_LLM_MODEL_CONFIG_ANTHROPIC_CLAUDE_4_5_SONNET...,_LLM_MODEL_CONFIG_ANTHROPIC_CLAUDE_4_5_HAIKU...,_LLM_MODEL_CONFIG_LLAMA4_MAVERICK...,_LLM_MODEL_CONFIG_FIREWORKS_QWEN3_6...,_LLM_MODEL_CONFIG_FIREWORKS_GPT_OSS...,_LLM_MODEL_CONFIG_FIREWORKS_DEEPSEEK_V3...,_LLM_MODEL_CONFIG_BEDROCK_NOVA_MICRO_V1...,_LLM_MODEL_CONFIG_BEDROCK_NOVA_LITE_V1...,_LLM_MODEL_CONFIG_BEDROCK_NOVA_PRO_V1...,_LLM_MODEL_CONFIG_OLLAMA_LLAMA3...替换尖括号中的值为实际配置。其中_LLM_MODEL_CONFIG_FIREWORKS_QWEN3_6是fireworks_qwen3_6模型选项对应的应用级配置键应映射到 Fireworks serverless slugaccounts/fireworks/models/qwen3p6-plus。替换项可按需增删。注意事项cloudbuild.yaml支持按分支区分多环境main/staging/dev前端构建与部署步骤默认被注释如需同时部署前端需在cloudbuild.yaml中取消注释详见cloudbuild.yaml内的注释说明见 README.md。本地 LLMOllama 完整接入步骤不依赖云厂商 API完全本地化运行的接入方式拉取 Ollama 镜像docker pull ollama/ollama运行 Ollama 容器持久化模型卷并暴露 11434 端口docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama在容器内执行某个模型例如 llama3docker exec -it ollama ollama run llama3在 docker-compose 配置中声明模型环境变量LLM_MODEL_CONFIG_ollama_model_name # 示例 LLM_MODEL_CONFIG_ollama_llama3${LLM_MODEL_CONFIG_ollama_llama3-llama3,http://host.docker.internal:11434}配置后端 API 地址VITE_BACKEND_API_URL${VITE_BACKEND_API_URL-backendurl}打开应用在抽取设置中选择 Ollama 模型开始构建图谱。提示docker-compose.yml中已为后端声明extra_hosts: host.docker.internal:host-gateway见 docker-compose.yml使容器内可直接通过http://host.docker.internal:11434访问宿主机上运行的 Ollama 服务。使用指南八步完成一次图谱构建根据 README.md 的 Usage 章节标准使用流程为连接 Neo4j Aura 实例AURA DS 或 AURA DB 均可通过后端环境变量、登录对话框填写或拖放凭据文件三种方式提供 URI 与密码。区分实例类型AURA DB 显示数据库图标AURA DS 显示科学分子图标位于 Neo4j 连接信息标签下方。从非结构化来源列表中选择来源创建图谱。需要时从下拉菜单切换 LLM该模型将用于图谱生成。可选在实体图抽取设置中定义 schema节点与关系标签。选择多个文件执行 Generate Graph或让所有处于 New 状态的文件全部进入图创建流程。使用网格中的 View 查看单个文件的图谱或选择一个或多个文件后 Preview Graph 预览图谱。就处理完成的数据源向聊天机器人提问并获取由 LLM 生成的答案的详细信息答案来源元数据。Schema 支持应用支持使用自定义 schema或使用设置在配置中的已有 schema 来生成图谱见 README.md。前端的实体抽取设置中提供了 schema 定义入口后端对应实现位于 src/shared/schema_extraction.py其schema_extraction_from_text可从文本中解析节点与关系标签定义。图可视化图谱可在Neo4j Bloom中针对特定或多个数据源同时查看见 README.md。前端通过VITE_BLOOM_URL指定 Bloom 可视化入口默认指向 Neo4j Workspace 的 explore 页面见 frontend/example.env。与数据对话Chat with Data除了图构建应用还提供多模式问答能力通过对话式查询与 Neo4j 数据库中的数据交互检索查询答案对应的来源元数据独立聊天界面使用/chat-only路由访问专门的聊天应用见 README.md。问答实现位于 backend/src/QA_integration.py其底层使用Neo4jVector、Neo4jChatMessageHistory、GraphCypherQAChain等 LangChain 组件见 QA_integration.py聊天历史以用户固定的 session 形式持久化在 Neo4j 中并支持一键清空clear_chat_history见 QA_integration.py。Token 用量跟踪启用方式在backend/.env中设置TRACK_USER_USAGEtrue DAILY_TOKENS_LIMIT250000 MONTHLY_TOKENS_LIMIT1000000 TOKEN_TRACKER_DB_URI TOKEN_TRACKER_DB_USERNAME TOKEN_TRACKER_DB_PASSWORD TOKEN_TRACKER_DB_DATABASE其中TRACK_USER_USAGE控制开关DAILY_TOKENS_LIMIT与MONTHLY_TOKENS_LIMIT在 backend/src/shared/common_fn.py 中默认值为250000与1000000TOKEN_TRACKER_DB_*指向一个独立的 token 跟踪 Neo4j 库若TRACK_USER_USAGE为 true 则这几项均为必填见 backend/example.env。能力与底层实现启用后系统会为每个用户与每个数据库连接跟踪 LLM token 消耗展示每日/每月消费量与限额帮助管理用量、避免超额通过提供的 API 端点随时查询剩余额度。底层实现方面src/llm.py 中的UniversalTokenUsageHandler通过 LangChain 回调管理器挂接到所有模型调用上而 QA_integration.py 的get_total_tokens针对不同提供商OpenAI/Azure/Fireworks/Groq、Gemini、Bedrock、Anthropic、Ollama解析各自响应元数据中的 token 用量字段。另外仓库还提供了两个独立的定时任务cronjob/reset_daily_tokens/与cronjob/reset_monthly_tokens/各含main.py与Procfile分别用于按日、按月重置用户的 token 计数。完整环境变量参考下表汇总 README.md 中的环境变量含默认值并结合 backend/example.env 与 frontend/example.env 做了补充。后端环境变量变量名必填/可选默认值说明OPENAI_API_KEY可选使用 OpenAI LLM/嵌入模型时用于认证与请求跟踪DIFFBOT_API_KEY必填使用 Diffbot NLP 服务从非结构化数据抽取实体与关系所需的 API keyBUCKET_UPLOAD_FILE可选用于存储上传文件的 GCS 桶名BUCKET_FAILED_FILE可选抽取失败时存放文件的 GCS 桶名USER_AGENT可选llm-graph-builder用于跟踪 Neo4j 数据库活动的 User Agent 名称ENABLE_USER_AGENT可选true是否启用 Neo4j User AgentDUPLICATE_TEXT_DISTANCE可选5计算图中所有节点对距离的阈值基于节点属性计算DUPLICATE_SCORE_VALUE可选0.97判定重复节点的节点匹配分值EFFECTIVE_SEARCH_RATIO可选1有效搜索计算使用的比率GRAPH_CLEANUP_MODEL可选openai_gpt_5_mini后处理中用于图谱清理的模型名MAX_TOKEN_CHUNK_SIZE可选10000处理文件内容的最大 token 数YOUTUBE_TRANSCRIPT_PROXY必填处理 YouTube 视频获取转录文本所需的代理 keyIS_EMBEDDING可选true是否启用文本嵌入KNN_MIN_SCORE可选0.8KNN 算法的最低得分GCP_LOG_METRICS_ENABLED可选False是否启用 Google Cloud 日志NEO4J_URI可选neo4j://database:7687Neo4j 数据库 URINEO4J_USERNAME可选neo4jNeo4j 用户名NEO4J_PASSWORD可选passwordNeo4j 密码GCS_FILE_CACHE可选False为 True 时将待处理文件存入 GCS否则存本地ENTITY_EMBEDDING可选False为 True 时为库中每个实体添加嵌入LLM_MODEL_CONFIG_ollama_model_name可选本地部署的 Ollama 配置格式为model_name,model_local_urlTRACK_USER_USAGE可选false是否跟踪用户 token 用量DAILY_TOKENS_LIMIT跟踪启用时必填250000每日 token 限额MONTHLY_TOKENS_LIMIT跟踪启用时必填1000000每月 token 限额TOKEN_TRACKER_DB_URI跟踪启用时必填token 跟踪数据库 URITOKEN_TRACKER_DB_USERNAME跟踪启用时必填token 跟踪数据库用户名TOKEN_TRACKER_DB_PASSWORD跟踪启用时必填token 跟踪数据库密码TOKEN_TRACKER_DB_DATABASE跟踪启用时必填token 跟踪数据库名AUTHENTICATION_REQUIRED可选False是否启用 API 访问认证AUTH0_DOMAIN认证启用时必填Auth0 租户域名用于校验 Bearer Token如your-tenant.us.auth0.comAUTH0_AUDIENCE可选Auth0 API audience/标识设置后 Bearer Token 必须携带该 audience 声明ALLOWED_FRONTEND_ORIGINS可选*允许的前端来源列表逗号分隔用于 CORS注EMBEDDING_MODEL默认all-MiniLM-L6-v2与EMBEDDING_PROVIDER默认sentence-transformer在 backend/example.env 中列出DEFAULT_DIFFBOT_CHAT_MODEL用于指定 Diffbot 会话使用的默认模型BEDROCK_EMBEDDING_MODEL_KEY用于配置 Bedrock 嵌入格式aws_access_key,aws_secret_key,region_name。前端环境变量变量名必填/可选默认值说明VITE_BLOOM_URL必填指向 Neo4j Workspace explore 页的 URLBloom 可视化 URLVITE_REACT_APP_SOURCES必填local,youtube,wiki,s3可用的输入来源列表VITE_CHAT_MODES必填vector,graph_vector,graph,fulltext,graph_vector_fulltext,entity_vector,global_vector问答可用的聊天模式VITE_ENV必填DEV或PROD应用环境标识VITE_LLM_MODELS可选openai_gpt_5_mini,gemini_flash_latest,anthropic_claude_4.5_haiku应用支持的模型列表VITE_BACKEND_API_URL可选http://localhost:8000后端 API 地址VITE_TIME_PER_PAGE可选50每页处理时间VITE_CHUNK_SIZE可选5242880文件上传的每块大小字节约 5MBVITE_LARGE_FILE_SIZE可选5242880触发大文件告警/分段处理的文件大小阈值VITE_GOOGLE_CLIENT_ID可选Google 认证 Client IDVITE_LLM_MODELS_PROD可选gemini_3.5_flash,openai_gpt_5.4_mini,diffbot,anthropic_claude_4.5_haiku按环境DEV/PROD区分模型列表VITE_AUTH0_CLIENT_ID启用认证时必填Okta OAuth Client IDVITE_AUTH0_DOMAIN启用认证时必填Okta OAuth 域名VITE_AUTH0_AUDIENCE可选Auth0 audience 声明VITE_SKIP_AUTH可选true是否跳过认证VITE_CHUNK_OVERLAP可选20分块重叠大小VITE_TOKENS_PER_CHUNK可选100每块 token 数适配不同分词需求VITE_CHUNK_TO_COMBINE可选1并行处理时合并的块数VITE_BATCH_SIZE可选2批处理大小前端示例文件 frontend/example.env 中还包含VITE_FRONTEND_HOSTNAME默认localhost:8080与VITE_SEGMENT_API_URL等补充变量。分块参数对抽取质量的影响VITE_CHUNK_OVERLAP、VITE_TOKENS_PER_CHUNK、VITE_CHUNK_TO_COMBINE三个参数直接控制进入 LLM 的文本粒度更大的VITE_TOKENS_PER_CHUNK让单次抽取看到更多上下文但会增加 token 消耗与出错概率VITE_CHUNK_OVERLAP保留块间冗余降低跨块实体被截断漏抽的风险VITE_CHUNK_TO_COMBINE 1时后端 llm.py 中的get_combined_chunks会将相邻 chunk 拼接为组合文档再交给 LLM并在元数据中记录combined_chunk_ids可提升抽取连贯性但相应增大单次调用长度。常见问题与排查要点LLM_MODEL_CONFIG_MODEL未定义get_llm会抛出 Environment variable ... is not defined as per format or missing。请检查.env中的模型配置键与前端VITE_LLM_MODELS选项是否完全一致模型名经过去点、大写规范化处理。Neo4j 版本过低若使用 5.20 及更早的 5.x后端使用的CALL (variable) { ... }变量作用域子查询语法将不兼容请升级到 5.23。YouTube 转录失败YOUTUBE_TRANSCRIPT_PROXY为必填项缺失或失效会导致视频来源无法获取转录文本见 main.py 中的异常处理。docker-compose 下无法连接数据库确认backend/.env已创建且NEO4J_*指向可达实例Aura 实例需放行出口 IP 或用 Aura 的 IP Allowlist。聊天模式下拉为空检查VITE_CHAT_MODES是否设置模式名须与CHAT_MODE_CONFIG_MAP中的键一致。总结llm-graph-builder 是一个端到端、多数据源、多模型的知识图谱构建平台后端以 FastAPI 为 HTTP 层、LangChain 为模型编排层、Neo4j 为存储与检索层前端以 React 提供上传、配置、可视化与多模式问答交互。本文完整覆盖了从环境准备、模型/嵌入配置、三种部署形态到使用流程的全部内容并给出了 backend/example.env、frontend/example.env、docker-compose.yml、backend/src/llm.py、backend/src/make_relationships.py、backend/src/QA_integration.py 等关键文件的源码级依据可作为你在本地或云端落地 LLM 知识图谱应用时的实操参考。【免费下载链接】llm-graph-builderNeo4j graph construction from unstructured data using LLMs项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价