来源:互联网 更新时间:2026-07-19 13:51
大型语言模型,也就是常说的LLM,本质上是机器学习模型,但在文本生成、翻译、摘要、问答这类语言任务上表现得相当出色。关键是它不需要针对每个具体场景都做专门的模型训练,这就让事情变得高效了很多。

现在我们接触到的LLM,大多是通过一个叫“聊天模型”的接口来使用的。它的逻辑很直观:输入是一系列消息,输出也是一条消息。
而且,最新一代的聊天模型能力已经远不止是聊天了——
LangChain提供了一个统一接口,来处理不同服务商的聊天模型。更关键的是,它还额外给了一些功能,能帮我们监控、调试和优化用LLM做出来的应用。
with_structured_output方法,用来构造结构化输出。顺便提一下,LangSmith是一个一站式平台,覆盖了LLM应用从开发到生产的所有阶段。我们可以用它来调试、协作、测试和监控应用。不过它并不是必选项。
LangChain的聊天模型集成非常丰富,你可以自由选择不同服务商的模型。
具体分两类:
langchain- 这样的包里,比如 langchain-openai。langchain-community 包里。LangChain给聊天模型命名有个规律:类名前面都会加上“Chat”,比如ChatOllama、ChatAnthropic、ChatOpenAI。受支持的模型列表可以看这里:https://python.langchain.com/docs/integrations/chat/
需要留个心眼:如果模型名称里没有“Chat”前缀,或者没有“LLM”后缀,那它通常是指那些不遵循聊天模型接口的旧模型。这种旧模型的接口很简单:输入字符串,输出字符串。
LangChain的聊天模型都实现了BaseChatModel接口。因为BaseChatModel同时也继承了Runnable接口,所以聊天模型天然就支持标准的流式传输、异步编程和批量处理。
聊天模型的核心操作都是围绕“消息”来展开的。几个常见的关键方法:
其他重要方法可以去BaseChatModel的官方API文档查找:https://python.langchain.com/api_reference/core/language_models/langchain_core.language_models.chat_models.BaseChatModel.html
现代LLM通过聊天模型接口交互,核心就是消息。每条消息通常会有一个角色标签,比如“system”、“human”、“assistant”,然后带一个或多个内容块,这些内容块可能是文本,也可能是图像、音频等。
LangChain支持两种消息格式:
聊天模型自带一组标准参数,用来控制它的行为:
使用时有几个地方要小心:
max_tokens配置,那这个参数就用不了。langchain-openai之类),在langchain-community里的模型并不强制。ChatModel还接受一些集成本身特有的参数。想知道某个模型支持的所有参数,去看它的API文档就行了。在后续文章中,我们会经常把“LLM”和“聊天模型”这两个词混着用。因为现在大多数现代LLM都是通过聊天模型接口暴露给用户的。不过,LangChain里确实还保留着老一代的LLM实现,它们不遵循聊天模型接口,而是用字符串输入、字符串输出的模式。这些模型一般不以“Chat”开头,而是可能以“LLM”结尾(比如OllamaLLM、AnthropicLLM)。但说实话,我们建议尽量别再用它们了。
上下文窗口,就是聊天模型一次能处理的最大输入长度。虽然现在LLM的上下文窗口已经很大了,但这依然是一个开发时必须牢记的硬性限制。
输入超过窗口限制会怎样?模型可能处理不了整个输入,甚至直接报错。这对对话应用来说尤其关键,因为上下文窗口决定了模型在整场对话里能“记住”多少信息。开发者需要把输入控制在窗口范围内,才能保证对话连贯,不被限制卡住。输入大小以token为单位——token是模型处理内容时的基本单位。
很多聊天模型提供商对单位时间内的请求数量有限制。一旦超出限制,我们就会收到一个速率限制的错误,然后得等一段时间才能继续发请求。
处理速率限制,有几种常见思路:
rate_limiter 参数,控制请求的发送频率。这个策略在给模型做性能基准测试时尤其有用。max_retries参数就是用来控制最大重试次数的。聊天模型API确实不便宜,所以不少人会想:能不能把以前的对话结果缓存起来?理论上,缓存能减少对服务商的请求,提高性能。但现实是,缓存聊天模型响应这件事非常复杂,需要小心对待。
关键是,如果把缓存建立在“精确匹配输入”的基础上,那在对话的前一两次交互之后,几乎不可能再命中缓存。想一想,有多少个对话会以完全相同的消息开始?连续三条完全相同的消息呢?概率微乎其微。
另一种做法是语义缓存——根据输入的含义而不是具体的文字来缓存。这个思路在某些场景下有效,但并不是银弹。原因在于,语义缓存在应用的关键路径上引入了一个额外的依赖(比如依赖嵌入模型把文本转成向量表示),而且也无法保证能100%准确捕捉输入的含义。
当然,在有些特定情况下,缓存确实有用。比如你有一个专门回答常见问题的聊天模型,把对高频问题的回复缓存起来,既能减轻模型服务商的负载,也能缩短用户的等待时间。
七麦数据官网网页地址 七麦数据官方入口在线首页
问卷星官方网站入口地址 问卷星网页版在线使用
币安Binance官方中文网站 币安App最新版下载及新手注册指南
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
摩托车活塞环性能如何
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
迷你网名古风男生霸气(精选100个)
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
文雅简易网名男生可爱(精选100个)
动漫《恶之华》剧情介绍
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
闲鱼严选和验货宝哪个可靠?闲鱼的验货宝怎么样,,
豆包AI专业版使用教程【新手必看】
币圈十大实用工具:从实时行情监控到数据分析、资产管理
币安杀入美股市场,重头戏bStocks还没来
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc