llm-graph-builder与Azure OpenAI集成:企业级知识图谱构建方案

llm-graph-builder与Azure OpenAI集成:企业级知识图谱构建方案

【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data 【免费下载链接】llm-graph-builder 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder

在当今数据驱动的商业环境中,企业面临着将海量非结构化数据转化为结构化知识的挑战。llm-graph-builder作为一款强大的知识图谱构建工具,通过与Azure OpenAI服务的深度集成,为企业提供了从非结构化数据(如PDF、文档、网页等)到结构化知识图谱的完整解决方案。本文将详细介绍如何配置和使用这一集成方案,帮助企业快速构建高质量的知识图谱。

方案概述

llm-graph-builder利用大型语言模型(LLM)的能力,将非结构化数据转化为存储在Neo4j图数据库中的结构化知识图谱。通过集成Azure OpenAI服务,企业可以利用微软 Azure 云平台的安全、可扩展特性,结合OpenAI的先进语言模型,实现高效、准确的实体和关系提取。

GraphDB Connection

核心优势包括:

  • 支持多种数据源:本地文件、网页、YouTube视频、AWS S3、Google Cloud Storage等
  • 灵活的LLM配置:支持Azure OpenAI及多种其他模型
  • 强大的图谱可视化:通过Neo4j Bloom实现直观的图谱浏览
  • 智能问答功能:与知识图谱进行自然语言交互

环境准备

系统要求

  • Neo4j数据库 5.23或更高版本(推荐使用Neo4j Aura)
  • Python 3.8+ 环境
  • Node.js 14+ 环境
  • Azure OpenAI服务订阅

基础架构

项目采用前后端分离架构:

项目架构

配置Azure OpenAI集成

后端配置

  1. 获取Azure OpenAI凭证

    • 登录Azure门户,创建或选择OpenAI资源
    • 获取API密钥、终结点(Endpoint)和部署名称(Deployment Name)
  2. 配置环境变量 编辑后端环境配置文件 backend/example.env,添加以下Azure OpenAI相关配置:

    # Azure OpenAI配置示例
    LLM_MODEL_CONFIG_azure_ai_gpt_35="your-deployment-name,https://your-endpoint.openai.azure.com/,your-api-key,2024-02-15-preview"
    LLM_MODEL_CONFIG_azure_ai_gpt_4o="gpt-4o,https://your-endpoint.openai.azure.com/,your-api-key,2024-02-15-preview"
    

    其中各参数含义:

    • 第一个值:Azure OpenAI部署名称
    • 第二个值:Azure OpenAI服务终结点URL
    • 第三个值:Azure OpenAI API密钥
    • 第四个值:API版本
  3. 安装依赖

    cd backend
    python -m venv env
    source env/bin/activate  # Windows: env\Scripts\activate
    pip install -r requirements.txt
    

前端配置

  1. 启用Azure OpenAI模型 编辑前端环境配置文件 frontend/example.env,在VITE_LLM_MODELS中添加Azure OpenAI模型:

    VITE_LLM_MODELS="diffbot,openai_gpt_4o,azure_ai_gpt_35,azure_ai_gpt_4o"
    
  2. 安装前端依赖

    cd frontend
    yarn install
    

部署与运行

使用Docker Compose部署(推荐)

  1. 创建.env文件 在项目根目录创建.env文件,包含必要的环境变量:

    # 后端配置
    NEO4J_URI=neo4j+s://your-neo4j-uri.databases.neo4j.io
    NEO4J_USERNAME=neo4j
    NEO4J_PASSWORD=your-neo4j-password
    LLM_MODEL_CONFIG_azure_ai_gpt_4o="gpt-4o,https://your-endpoint.openai.azure.com/,your-api-key,2024-02-15-preview"
    
    # 前端配置
    VITE_LLM_MODELS="azure_ai_gpt_4o,azure_ai_gpt_35"
    VITE_BACKEND_API_URL=http://localhost:8000
    
  2. 启动服务

    docker-compose up -d
    

手动部署

  1. 启动后端服务

    cd backend
    uvicorn score:app --reload --host 0.0.0.0 --port 8000
    
  2. 启动前端服务

    cd frontend
    yarn run dev
    

使用流程

1. 连接Neo4j数据库

访问前端应用(默认地址:http://localhost:8080),在登录界面配置Neo4j连接:

AuraDB Connection

可以通过三种方式连接:

  • 手动输入连接URI和密码
  • 上传Neo4j凭证文件
  • 使用环境变量预配置

2. 选择数据源

llm-graph-builder支持多种数据源,点击相应图标选择:

Sources

支持的数据源包括:

3. 配置Azure OpenAI模型

在文件上传后,从LLM模型下拉菜单中选择Azure OpenAI模型:

ChatModesProd

4. 定义图谱 schema(可选)

在实体提取设置中,可以定义自定义schema,指定要提取的实体类型和关系类型:

Entity Extraction

项目提供了预设的schema模板 frontend/src/assets/schemas.json,也可以创建新的schema frontend/src/assets/newSchema.json

5. 生成知识图谱

点击"Generate Graph"按钮开始处理数据并生成知识图谱:

Generate Graph

处理状态会实时更新,大型文件可能需要较长时间。处理完成后,状态会更新为"Completed":

CompletedReadyToReprocess

6. 可视化知识图谱

点击"View"按钮在Neo4j Bloom中查看生成的知识图谱:

AllFilesGraph

可以同时查看多个文件的图谱,或按实体类型、关系类型进行筛选。

7. 与知识图谱交互

使用聊天功能与知识图谱进行自然语言交互:

ChatBotSideView

支持多种聊天模式 frontend/src/components/ChatBot/ChatModesSwitch.tsx

  • Vector:基于向量相似性的检索
  • Graph:基于图结构的检索
  • Graph+Vector:混合检索模式
  • Fulltext:全文检索

高级功能

图谱增强

llm-graph-builder提供多种图谱优化功能:

Graph Enhancements

多文件图谱整合

系统支持同时处理多个文件,并将它们的实体和关系整合到统一的知识图谱中:

CommunitiesGraph

问答指标评估

可以对问答性能进行评估,包括准确性、相关性等指标:

MetricEval

评估结果可帮助优化模型选择和参数配置。

性能优化建议

1. 调整分块策略

根据文档类型和长度,调整分块大小和重叠度:

# 前端环境变量
VITE_CHUNK_OVERLAP=20      # 分块重叠百分比
VITE_TOKENS_PER_CHUNK=100  # 每块的标记数
VITE_CHUNK_TO_COMBINE=5    # 合并处理的块数

2. 选择合适的Azure OpenAI模型

  • 对于快速处理和成本敏感场景,推荐使用gpt-35-turbo
  • 对于复杂实体和关系提取,推荐使用gpt-4o

3. 启用缓存机制

配置GCS文件缓存可以提高重复处理相同文件的效率:

# 后端环境变量
GCS_FILE_CACHE=True

常见问题解决

连接问题

如果遇到Azure OpenAI连接问题,请检查:

  • API密钥和终结点URL是否正确
  • 网络连接是否允许访问Azure服务
  • Azure资源是否在有效期内

性能问题

处理大型文件时可能遇到性能瓶颈,可以:

实体提取质量问题

如果实体或关系提取质量不佳:

  • 尝试更具体的schema定义
  • 使用更高能力的模型(如从gpt-35-turbo切换到gpt-4o)
  • 提供示例实体和关系作为提示

总结与展望

llm-graph-builder与Azure OpenAI的集成为企业提供了强大的知识图谱构建解决方案。通过本文介绍的配置和使用方法,企业可以快速将非结构化数据转化为结构化知识,赋能智能决策和创新应用。

LLMGraphBuilderDocumentation

未来发展方向包括:

  • 更丰富的实体类型和关系类型支持
  • 多语言处理能力增强
  • 自动化图谱验证和修正
  • 与企业现有系统的深度集成

参考资源

希望本文能帮助您成功实施llm-graph-builder与Azure OpenAI的集成方案。如有任何问题或建议,请通过项目GitHub Issues反馈。

Happy Graph Building!

【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data 【免费下载链接】llm-graph-builder 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值