专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

一次知识图谱的开发尝试

ins518 2024-12-05 13:04:49 技术文章 13 ℃ 0 评论

项目开发分为4个过程

数据清洗与处理

项目名称 data。

项目主要采用python语言进行开发,其中引用的主要类库是pandas和py2neo

pandas主要对Excel数据进行处理,并读取

py2neo主要是把读取的数据写入neo4j数据库

注意:如果有图片文件,务必是jpg或者png格式。并且要放到项目的data/图片目录下

项目执行完成后,会把数据写入neo4j数据库


服务端

项目服务端使用python进行开发,使用的框架是fastapi,涉及到的注意类库包括fastapi 和 jieba

fastapi是web框架,负责整个服务端框架 官网:https://fastapi.tiangolo.com/

jieba jieba分词用于在知识问答实现相关功能


前端


vue3:前端框架使用的vue3 官网:https://vuejs.org/guide/essentials/list.html

element-plus:前端框架,为了达到更好的效果和简要对css等编写。采用了element-plus ui框架 官网:https://element-plus.org/zh-CN/

axios:访问服务端使用的是axios 官网:http://www.axios-js.com/

neovis:知识图谱显示使用neovis。官网:https://github.com/neo4j-contrib/neovis.js

知识图谱的图片需要放到 public文件夹内

GraphRag

GraphRag目前已经使用的百度的千帆模型ERNIE-4.0-8K

后面需要根据实际情况,修改为自己需要的模型

需要注意:

  1. neo4j需要安装apoc
  2. neo4j的版本需要5.17及以上版本
  3. 模型等需要提前付费

数据处理过程分为:

  1. 上传文档
  2. 拆分文档
  3. 把拆分的文档 转换为 图文档
  4. 把图文档写入neo4j数据库
  5. 图数据向量化
  6. 构造问答模板
  7. 创建Rag链 RagChain
  8. 提问 并获取回答内容


功能介绍


浏览检索

  1. 左侧显示当前所有的实体分类。
  2. 实体分类下一级菜单是A-Z的字母,对应每个实体的首字母。
  3. 字母的下一级是实体名称。
  1. 点击实体名称会显示对应的知识图谱
  1. 点击任意图谱,右侧会显示当前实体的所有属性
  2. 如果有图片,则可以看到【查看】,并点击查看图片
  1. 搜索建议,随便输入任意关键词,都会提供建议实体,点击后查看对应的知识图谱


问答功能

在这个界面输入问题,然后点击【提交问题】或者直接在输入框回车,都会触发提交操作。

找到答案后,会提示答案内容,并显示相关的图谱

论文检索

  1. 论文检索分为3部分显示 ,左上角是图谱,右侧是论文 左下角是分类
  2. 查询可以根据标题进行搜索,搜索后,知识图谱随着变化,
  3. 查询支持分页
  4. 查询和分类进行关联,不勾选默认全部,勾选后会根据勾选内容显示相关论文和图谱


GraphRag知识问答

  1. 选择文件,然后点击上传。只支持文本文件
  2. 选择模型,目前支持的是BaiduQianFan ERNIE-4.0-8K 如果需要openAi需要简单修改
  3. 文件名称会在选择的时候自动显示
  4. 提问题即可

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表