【LangChain】LangChain Model 模型分类
LangChain Model 模型
LangChain的Model I/O模块是与大语言模型(LLM)交互的核心,它将各类模型抽象为三种主要类型,方便开发者统一调用。下面这个表格总结了它们的主要特点和应用场景。
| 模型类型 | 核心功能 | 输入格式 | 输出格式 | 典型应用场景 |
|---|---|---|---|---|
| LLMs (非对话模型) | 文本补全与生成 | 文本字符串 | 文本字符串 | 文案创作、翻译、代码补全等单次任务 |
| Chat Models (对话模型) | 多轮对话交互 | 结构化消息列表 | 结构化消息 (如AIMessage) | 客服机器人、多轮对话助手 |
| Embedding Models (嵌入模型) | 文本向量化表示 | 文本 | 浮点数列表 (向量) | 语义搜索、文档聚类、RAG系统 |
💬 LLMs (非对话模型)
LLMs,也称为Text Model(文本模型),是许多语言模型应用的支柱。它们专为单次、独立的文本生成任务设计。
- 核心特点:每次调用都是独立的,模型不保留上下文记忆,输入和输出都是简单的文本字符串。
- 适用场景:适用于不需要历史对话上下文的场景,例如内容摘要、翻译、代码生成、单次问答等。
- 典型模型:如OpenAI的
text-davinci-003,以及通过Llama.cpp运行的本地模型等。
💬 Chat Models (对话模型)
Chat Models底层虽然也基于LLMs,但专门针对多轮对话场景进行了优化和封装。
- 核心特点:输入和输出都是结构化的消息对象,例如
SystemMessage(系统消息)、HumanMessage(用户消息)和AIMessage(AI消息)。这种设计使得模型能够自然地维护和理解多轮对话的上下文。 - 适用场景:非常适合构建智能客服、聊天机器人等需要根据历史对话进行回复的应用。
- 典型模型:如
ChatOpenAI(GPT系列)、ChatAnthropic(Claude系列) 以及ChatOllama(用于本地模型) 等。
🔢 Embedding Models (嵌入模型)
Embedd
