96SEO 2026-07-23 05:14 0
上一章我们完成了LangChain开发环境的搭建,相当于为大模型应用开发准备好了“工具房”。本章将聚焦LangChain最基础、最主要的两个抽象概念——Models和MessagesModels是LangChain与大模型交互的“入口”,决定了回答的质量和能力;怎么说呢,Messages是交互的“载体”。定义了使用者、AI和程序之间的对话逻辑。
本章将从“模型分类→模型集成→消息类型→生成控制→高级特性→实战落地”逐步展开,所有代码示例均简洁可复制、标注官方来源。兼顾新手入门和实际开发需求,帮你彻底吃透Models与Messages的主要用法,为后续链式调用、Agent开发打下基础。老实说,

LangChain中。与大模型交互的主要接口分为两类:LLM和ChatModel。很多新手容易混淆两者,其实它们的主要不同点是“交互格式”和“适用场景”。选择对了模型类型,能明显提高开发效率。
| 对比维度 | LLM | ChatModel |
|---|---|---|
| 交互格式 | 纯文本输入,输出纯文本 | 消息列表输入,输出消息对象 |
| 主要特点 | 简单直接,无需关注消息结构,适合纯文本生成 | 支持多轮对话、程序提示,结构清晰,适合聊天场景 |
| 调用方式使用 | invoke |
invoke |
| 典型模型 | GPT‑text-davinci‑系列、Llama text 系列 | GPT‑turbo、GPT‑4、Claude、Llama chat 系列 |
from langchain_openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv
# 初始化LLM
llm = OpenAI(
model_name="text-davinci-003"。api_key=os.getenv,temperature=0.7,)
# 调用:输入纯文本字符串
response = llm.invoke
print
再看依赖安装,Pip install langchain-openai==*
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
from dotenv import load_dotenv
import os
load_dotenv
# 初始化 ChatModel
chat_model = ChatOpenAI(
model_name="gpt- turbo",api_key=os.getenv,temperature=0.7,)
# 调用:输入消息列表
response = chat_model.invoke])
print
优先选 ChatModel 的场景:多轮对话、需要程序提示、需要明确区分使用者/AI 消息、使用主流聊天模型。
Select LLM 的场景:纯文本生成,如文案、摘要;使用旧版文,简单场景无需复杂消息结构。
LangChain 当前版本更推荐使用 ChatModel。其功能更全面、更贴合当前大模型的交互逻辑,LLM 更多用于兼容旧版模型。
LangChain 的主要优势之一是“统一模型接口”——无论使用 OpenAI、Anthropic 还是 Hugging Face 的模型。 调用方式基本一致,无需修改主要代码,只需替换模型初始化逻辑。本节聚焦三类主流云端/开源模型的集成,示例简洁可直接运行。
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage,AIMessage,SystemMessage
from dotenv import load_dotenv
import os
load_dotenv
# 初始化 OpenAI ChatModel
chat_openai = ChatOpenAI(
model_name="gpt- turbo",api_key=os.getenv,temperature=0.7,)
# 多轮对话:程序提示 + 使用者 + AI + 新使用者
messages =
response = chat_openai.invoke
print
from langchain_anthropic import ChatAnthropic
from langchain_core.messages import HumanMessage
from dotenv import load_dotenv
import os
load_dotenv
# 初始化 Claude 模型
chat_claude = ChatAnthropic(
model_name="claude- sonnet-100k",api_key=os.getenv,temperature=0.7,)
response = chat_claude.invoke])
print
from langchain_community.chat_models import ChatHuggingFace
from langchain_core.messages import HumanMessage
from dotenv import load_dotenv
import os
load_dotenv
# 初始化 Hugging Face ChatModel
chat_hf = ChatHuggingFace(
model_name="mistralai/Mistral-7B-Instruct-v0.1",huggingfacehub_api_token=os.getenv,temperature=0.7,)
response = chat_hf.invoke])
print
LangChain 对主流模型的集成遵循“统一接口”原则——无论使用哪种模型,初始化后均通过
invoke
. 本地部署模型集成
from langchain_community.chat_models import ChatOllama
from langchain_core.messages import HumanMessage。SystemMessage
# 初始化本地 Ollama 模型
chat_ollama = ChatOllama(
model="llama3:8b",temperature=0.7,max_tokens=500,)
messages =
response = chat_ollama.invoke
print
*需提前安装 Ollama 并执行 `ollama pull llama3:8b`*
Pip install langchain-community==* llama-cpp-python==*
from langchain_community.llms import LlamaCpp
from langchain_core.prompts import PromptTemplate
llm_llama_cpp = LlamaCpp(
model_path="./Llama-2-7b-chat.Q4_K_M.gguf",temperature=0.7,max_tokens=300,n_ctx=2048,)
prompt = PromptTemplate.from_template
response = llm_llama_cpp.invoke)
print
Pip install langchain-community==* vllm==vllm serve meta-llama/Llama-2-7b-chat-hf
from langchain_community.chat_models import ChatVLLM
from langchain_core.messages import HumanMessage
chat_vllm = ChatVLLM(
model="meta-llama/Llama-2-7b-chat-hf",temperature=0.7,max_tokens=400,vllm_kwargs={"tensor_parallel_size": 1},)
response = chat_vllm.invoke])
print
SystemMessage
.HumanMessag e .
.AImessage .
.
fromlang chain _ open ai impo rtChatOpen A I
fromlang chain _ core . messages im po rtS ystemMes sage,Hu manMe ssage。A IMes sage
fromdotenv i mportload _dot env
i mportos
lo ad _dot env
cha t _ mo del =
Cha t O p en A I (
mo del _na me ="g pt - tur bo ",a pi _ke y=o s . get ev en t,te mp er ature ="0 . 5" )
# 建立多轮 对话 消息 列表
mes sages =
new_ai_message=
cha t_mo del . inv ok e
print
mes sages . ap pend
pr int
for ms g i n mes sages :
pr int
python
php
csharp
java
从**说明**来看。上述代码块已完整保留原始 Python 示例,用于演示多轮对话中的 Message 流程。
**其他常见辅助消息类型**
-
FunctionMessag e : 用 于 工具 调 用 场 景,存 储 工具 调 用 结 果。
-
ToolMessag e : 与 FunctionMessag e 配 套,传递 工具 参数 与 結果。
.
.
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback