如果按模型的厂商等分类有无数种,claude、gpt、qwen等,如果按功能分大致有三种:大语言模型LLM、聊天模型ChatModel、文本嵌入模型EmbeddingModel。
1.LLM
大语言模型,通常以text作为输入输出,通常用于简单问答、翻译、文本补全等功能。
2.Chat Model
聊天模型,通常同于agent的多轮对话、工具调用等复杂场景,在LangChain中它的输入输出都是message,更直接的说输入是一串message输出一条message,因为agent开发中不可能只有用户的提问,还包含系统提示词、上下文、工具调用等。
3.Embedding Model
文本嵌入模型,它一般是把输入的text转为向量,供系统做语义化搜索。而langchain的Embedding类为统一不同厂商提供了标准化接口。
另外LLM和Chat Model本质上其实都是聊天模型,但是并不冲突,Chat Model更像是LangChain单独为了复杂场景下为了规范化LLM输入而设计的规范。