当前位置: 首页 > article >正文

AI大模型开发架构设计(19)——大模型向量数据库企业级应用实践

文章目录

      • 1 向量数据库技术架构剖析
        • 什么是向量数据库
        • 向量化表达的好处
        • 数据如何检索
        • 向量数据库整体架构
      • 2 AI大模型离不开向量数据库技术侧剖析
        • 大模型的 3 点局限性
        • 大模型与向量数据的关系
        • 利用向量数据库改进大模型
      • 3 利用向量数据库构建企业知识库案例实战
        • 构建智能客服整体架构设计

1 向量数据库技术架构剖析

什么是向量数据库
  • 关系型数据库:MySQL
    • 结构化数据精确匹配
  • 非关系型数据库:NoSQL
    • 非结构化数据精确匹配

那么,什么是向量数据库?——非结构化数据模糊匹配

  • 向量数据库是一种以向量嵌入(高维向量)方式存储和管理费结构化数据的数据库。

image.png

数据如何向量化表达?

image.png

image.png

image.png

向量化表达的好处
  • 图搜图、视频搜索、商品搜索、…
  • 文本:相似问题,并找到问题解答

思考:如果把 ChatGPT 的对话(Prompt & Answer)向量化会怎么样?

数据如何检索
  • 模糊匹配:从库中搜索和查询向量最为相似的向量
  • 相似度计算:
    • 夹角(余弦计算)
    • 欧式距离
  • 方式一:平推
    • 搜索质量最高
    • 最耗时长
  • 方式二:聚类

image.png

image.png

存在的问题?

  • 搜索准确度下降
    • 与查询向量最近的应该在聚类D里,但结果现在只能返回聚类B中最近的向量

image.png

image.png

  • 方式三:位置敏感哈希

image.png

image.png

image.png

image.png

向量数据库整体架构

image.png

2 AI大模型离不开向量数据库技术侧剖析

大模型的 3 点局限性
  • 缺乏领域特定信息:利用向量数据库建立知识库,扩展LLM的认知边界
  • 容易产生幻觉:利用向量数据库投喂知识
  • 无法获取最新的信息/知识:利用向量数据库为大模型建立记忆,及时更新
大模型与向量数据的关系

image.png

利用向量数据库改进大模型

给大模型构建知识库

  • Embedding Model 是将非结构化数据映射到高维空间的工具
  • 使用合适的Embedding Model,向量的近似度代表语义的近似度

image.png

给大模型构建知识库

  • 将私有知识库向量化存储

image.png

给大模型构建知识库

  • 文档检索增强:利用提前构建好的知识库,通过检索与 Query 相关的知识片段来增强大模型回答效果
    • 容易管理
    • 更精确
    • 传统优化技术可复用

image.png

image.png

落地中可能遇到的问题

  • 查询性能
  • 准确度

3 利用向量数据库构建企业知识库案例实战

构建智能客服整体架构设计

整体流程

  • 将私人数据转换为向量数据,并写入到向量数据库中
  • 根据 Prompt 从向量数据库中提取相似数据
  • 结合相似数据重新组装 Prompt,让 ChatGPT 生成回答

image.png

向量数据库选型

  • 推荐 Pinecone 向量数据库:https://www.pinecone.io/
    • 免费、秒审通过
  • 核心三个参数
    • 索引名称:满足规范
    • 特征维度:向量维度,OpenAI转化为 1536 维
    • 度量距离指标:提供了 3 种,推荐 cosine

image.png

写入向量数据库(离线索引)

  • 安装对应的 Python 库:pip install pinecone-client
  • 写入新量数据(采用读取文件形式)
    • 将所有数据从文档中读取出来
    • 通过 OpenAI Embedding 转换为对应的向量化数据
    • 将向量化数据存储到 Pinecone 创建的 index 中
  • 在 Pinecone 网站查看这份数据

使用向量数据库(在线检索)

  • 从 Pinecone 获取指定的索引
  • 将 Prompt 转换为向量数据,从向量数据库提取相似数据
  • 将提取的数据与 Prompt 重新构建输入,发送给 ChatGPT
  • ChatGPT 整理内容后输出结果

image.png


http://www.kler.cn/a/407231.html

相关文章:

  • 插排快排
  • Leetcode169. 多数元素(HOT100)
  • Apple Vision Pro开发002-新建项目配置
  • Python的3D可视化库 - vedo (2)visual子模块 基本可视化行为
  • vue3+echarts+ant design vue实现进度环形图
  • uniapp input限制输入负数,以及保留小数点两位.
  • 【接口封装】——2、鼠标移动窗体
  • Python网络爬虫实践案例:爬取猫眼电影Top100
  • ssm150旅游网站的设计与实现+jsp(论文+源码)_kaic
  • 大数据调度组件之Apache DolphinScheduler
  • 工商业光储充,储能协调控制器助力能源新变革
  • Oralce数据库巡检SQL脚本
  • AVL树实现
  • IDEA2023版本中如何启动项目的多个实例
  • 关于C/C++Windows下连接MYSQL操作
  • 【深度学习之二】正则化函数(weight decay, dropout, label smoothing, and etc)详解,以及不同的函数适用的场景
  • 闫妮—《小巷人家》中的宝藏演员
  • Linux各种并发服务器优缺点
  • Vue3移动端-点餐项目
  • AOC显示器915Sw按键失灵维修记