AI模型(二)LangChain 的核心组件
从AI的视角,怎么定义我遇到的业务问题
- 很核心的一个问题是怎么能够把业务问题,描述清楚,拆解清楚,问清楚
- 从三个角度看
- 输入是什么:文本,图像,语音
- 输出是什么: 标签,数值,大段文字
- 怎么量化衡量输出的对错/好坏
业务问题分类
- 分类问题
- 输出是标签,输出是有限集
- 聚类问题
- 没法提前规定有多少种标签,只能把同一类事物聚合在一起,具体能聚出多少类,是数据本身决定的
- 回归问题
- 输出的是一个数值,更重要的,评价输出的好坏的标准是误差大小,而不是二元的对错
- 决策问题
- 输出是连续的一些列动作,每一步动作都有带进或收益,每一步动作本身没有对错,而是要最大化最终的收益:比如下棋,无人驾驶
- 概念密度估计(超纲)
LangChain 的核心组件
- 模型I/O封装
- LLMs:大语言模型
- Chat Models:一般基于 LLMS,但按对话结构重新封装
- PromptTemple: 提示词模板
- OutputParser:解析输出
- 数据连接封装
- Document Loaders: 各种格式文件的加载器
- Document transformers:对文档的常用操作,如:split, filter, translate, extract metadata, etc 。Text EmbeddingModels: 文本向量化表示,用于检索等操作(啥意思?别急,后面详细讲) • Verctor stores:(面向检索的)向量的存储
- Retrievers: 向量的检索
- 记忆封装
- Memory:这里不是物理内存,从文本的角度,可以理解为”上文”、“历史记录“或者说“记忆力“的管理
- 架构封装
- Chain:实现一个功能或者一系列顺序功能组合
- Agent:根据用户输入,自动规划执行步骤,自动选择每步需要的工具,最终完成用户指定的功能
- Tools:调用外部功能的函数,例如:调google 搜索、文件 V/O、Linux Shell 等等 • Toolkits:操作某软件的一组工具集,例如:操作 DB、操作 Gmail 等等
- Callbacks