Model介绍

一个 AI 应用的核心就是它所依赖的大语言模型,LangChain作为一个“工具”,不提供任何 LLMs,而是依赖于第三方集成各种大模型。比如,将 OpenAI、Anthropic、Hugging Face 、LlaMA、阿里Qwen、ChatGLM等平台的模型无缝接入到你的应用。

LangChain 模型接口可参考官方文档:https://reference.langchain.com/python/langchain_core/language_models/

Model的分类

在这里插入图片描述

LLMs(非对话模型)

LLMs,也叫Text Model、非对话模型,是许多语言模型应用程序的支柱。主要特点如下:
输入:接受 文本字符串 或 PromptValue 对象
输出:总是返回 文本字符串

在这里插入图片描述
适用场景:仅需单次文本生成任务(如摘要生成、翻译、代码生成、单次问答)或对接不支持消息
结构的旧模型(如部分本地部署模型)
不支持多轮对话上下文。每次调用独立处理输入,无法自动关联历史对话(需手动拼接历史文
本)。
局限性:无法处理角色分工或复杂对话逻辑。

【示例代码】

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你是谁?"},
    ]
)
print(completion.model_dump_json())

Chat Models(对话模型)

ChatModels,也叫聊天模型、对话模型,底层使用LLMs。
大语言模型调用,以 ChatModel 为主!
主要特点如下:
输入:接收消息列表 List[BaseMessage] 或 PromptValue ,每条消息需指定角色(如
SystemMessage、HumanMessage、AIMessage)
输出:总是返回带角色的 消息对象 ( BaseMessage 子类),通常是 AIMessage

import os

from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI

client = ChatOpenAI(model="qwen-plus",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

messages = [
SystemMessage(content="我是人工智能助手,我叫小智"),
HumanMessage(content="你好,我是小明,很高兴认识你")
]
response = client.invoke(messages) # 输入消息列表
print(type(response))
print(response.content)

Embedding Model(嵌入模型)

Embedding Model:也叫文本嵌入模型,这些模型将 文本 作为输入并返回 浮点数列表 ,也就是
Embedding。

from langchain_community.embeddings import DashScopeEmbeddings
embeddings = DashScopeEmbeddings(
    model="text-embedding-v4",
    # other params...
)

text = "This is a test document."

query_result = embeddings.embed_query(text)
print("文本向量长度:", len(query_result), sep='')

doc_results = embeddings.embed_documents(
    [
        "Hi there!",
        "Oh, hello!",
        "What's your name?",
        "My friends call me World",
        "Hello World!"
    ])
print("文本向量数量:", len(doc_results), ",文本向量长度:", len(doc_results[0]), sep='')

在这里插入图片描述

Chat Model 主要参数

在这里插入图片描述

OpenAI Chat. OpenAI Responses. DashScope. 三种方式有什么区别

这三者是不同厂商、不同代际、不同定位的大模型调用接口:
• OpenAI Chat(Chat Completions):OpenAI 经典无状态对话接口,适合简单对话与文本生成,需手动管理上下文。
• OpenAI Responses:OpenAI 新一代有状态接口,内置工具与上下文托管,面向 Agent 与复杂交互,是未来主推标准。
• DashScope(阿里云灵积):阿里云的多模型统一服务平台,兼容 OpenAI 协议,主打国内合规、多模型与中文优化DashScope。

在这里插入图片描述
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐