【LangChain专栏】LangChain快速入门
文章目录
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。


更多推荐



所有评论(0)