AI模型(二)LangChain 的核心组件

90 阅读2分钟

从AI的视角,怎么定义我遇到的业务问题

  • 很核心的一个问题是怎么能够把业务问题,描述清楚,拆解清楚,问清楚
  • 从三个角度看
    1. 输入是什么:文本,图像,语音
    2. 输出是什么: 标签,数值,大段文字
    3. 怎么量化衡量输出的对错/好坏

业务问题分类

  1. 分类问题
    1. 输出是标签,输出是有限集
  2. 聚类问题
    1. 没法提前规定有多少种标签,只能把同一类事物聚合在一起,具体能聚出多少类,是数据本身决定的
  3. 回归问题
    1. 输出的是一个数值,更重要的,评价输出的好坏的标准是误差大小,而不是二元的对错
  4. 决策问题
    1. 输出是连续的一些列动作,每一步动作都有带进或收益,每一步动作本身没有对错,而是要最大化最终的收益:比如下棋,无人驾驶
  5. 概念密度估计(超纲)

LangChain 的核心组件

  1. 模型I/O封装
  • LLMs:大语言模型
  • Chat Models:一般基于 LLMS,但按对话结构重新封装
  • PromptTemple: 提示词模板
  • OutputParser:解析输出
  1. 数据连接封装
  • Document Loaders: 各种格式文件的加载器
  • Document transformers:对文档的常用操作,如:split, filter, translate, extract metadata, etc 。Text EmbeddingModels: 文本向量化表示,用于检索等操作(啥意思?别急,后面详细讲) • Verctor stores:(面向检索的)向量的存储
  • Retrievers: 向量的检索
  1. 记忆封装
  • Memory:这里不是物理内存,从文本的角度,可以理解为”上文”、“历史记录“或者说“记忆力“的管理
  1. 架构封装
  • Chain:实现一个功能或者一系列顺序功能组合
  • Agent:根据用户输入,自动规划执行步骤,自动选择每步需要的工具,最终完成用户指定的功能
  • Tools:调用外部功能的函数,例如:调google 搜索、文件 V/O、Linux Shell 等等 • Toolkits:操作某软件的一组工具集,例如:操作 DB、操作 Gmail 等等
  1. Callbacks