LangChain模块介绍

Model I/O
- Prompts 提示词 - Template 模板 复用
- Selector 提示词选择器 - 根据不同的条件选择不同的提示词
 
 
- Language Models 语言模型 - LLM - 指代续写模型
 
- Chat - 对话形态的大语言模型
 
- 区分不同的语言模型
 
- LLM 
- Output Parsers - JSON
- Structured
 
Data Connection
 构建私域知识库时所用到的Data,更多是强调怎么把外部的数据获取进过来,并存储到一个地方,然后基于这个地方再进行相关的搜索或数据提取,因此在这个步骤有不同的参与方,再把各个参与方进行不同的串联或组合。
- Vector Stores – 向量数据库 - Emdedding - 文本嵌入语言模型
- 存储归根结底是存储向量,需要向量化,所以目前是由语言模型来进行向量嵌入
- 特定的一些支持Embedding的语言模型,不是所有的语言模型都支持向量化
 
- Memory、Self-Hosted、BaaS - 存储的向量数据库不同的形态
- 可以直接存在内存里,也可以存在自建的一些向量数据库里,更方便的可以直接存放在云上的服务中
 
- 由存储的介质和可以向量化的大语言模型构成
 
- Emdedding 
- Document Loaders - Folder
- File
- Web
 
- Document Transformers/Splitters - Text
- Code
- Token
 
- Document Retrievers - 把一个问题给它,可以根据这个问题获得想要的信息
- Vector DB - 通过向量数据库的能力进行向量的匹配、近似度的匹配,获取相关文档的内容
 
- Web API - 直接通过Web API返回
 
- BaaS
 
Memory
用来给对话形式的model存储对话的历史记录,还可以将历史记录重新的灌入到对话中
- Buffer - 即存即用
 
- Vector DB - 持久化
 
- KV DB
- SQL DB
Chains
串联Model I/O、Data Connections、Memory
- Foundational LLM - 基础的LLM
- 将model用到的Memory串联起来
 
- Conversational QA - 三个都串联起来
 
- Retrieval QA - 将数据库和model串联起来
- 也就是,model问一个问题,然后它从数据库中搜出一个内容
 
- Document - 针对文档进行一些信息的获取
 
- Sequential - 把各种串序列化的再串起来
 
Agents
-  不仅会把计划列出来,还会去执行这些计划 
-  Executors(Chains) - ReAct(Reason-Act)
- Plan-Execte
- OpenAI - 用了一些特有的具有Agent功能的大语言模型供应商做的Agent
 
 
-  Tools Agent的灵魂,可以实时搜索并做总结 外部搜索 - Standalone - 单独函数
 
- Collection - 函数集
 
 
- Standalone 
Callbacks
顾名思义,LangChain提供了回调能力,做日志记录、调用链路的追踪
- LangSmith - 日志以及链路的追踪平台
- 花费时间、执行了多少token
 
- Console - 把关键节点的内容选择性的输出到Console进行调试
 
- Custom - 其他接入方式