框架原生的数据处理流 Data Connection

62 阅读1分钟

image.png

一个复杂的应用 是通过多个chain 串联 选择判断 运行的 使用统一的数据处理 更规范

Data Connection 数据流介绍

image.png

  • Source 数据来源

    • 文字 代码
    • 载体
      • github
      • youtube
      • 各种blog网站
      • doc文档
  • Load 文档数据加载能力

    • Document loader
    • 视频 代码的量很大 无法将所有的数据换换成一个embedding向量
  • Transform

    • 数据格式化、处理 切割成我们要的形式
    • 例如将文章内容 转换成一段段
    • Document Transforms
  • Embed

    • Text
    • 注意 数据的颗粒度
  • Store 存储向量

  • Retrieve 检索

Document Loaders: 快速接入各类数据源

image.png

数据格式

  • CSV
  • HTML
  • JSON
  • Markdown
  • PDF
  • File Directory
  • •...

代码剖析

BaseLoader and Document Class

BaseLoader基类

  • load返回一个doc的列表
  • load_and_split 将文档加载后 切割 image.png

DOcument基类

  • 跟前面# OpenAI-Translator BOOK类 有点类似 image.png

Document Transformers: 原生数据转换模块

image.png

Text Embedding Models: 文本嵌入模型

支持的embeding模型 image.png

image.png

Vector Stores: 向量数据库

详见 juejin.cn/post/736020…

image.png

向量数据库的列表

image.png

注意问题

同一个单词 使用不同的embeding model 进行处理 可能出现不一样的向量

所以存储 和读取 需要使用同一个embeding model

embeding model 其实就是一个桥梁 自然语言 转换成 向量 大模型可以识别

整体流程

image.png

最佳实践的方法

mysql可以通过一些计算公式 抽取数据 因为这是标量数据

检索模式

  • 余弦相似度
  • 欧氏距离

根据问题 找到相关的数据

Retrieves: 数据检索器

image.png

数据检索器的列表 image.png