6.26什么星座| 什么是禽流感| 狗为什么喜欢吃人屎| 龟头炎看什么科| 天生丽质是什么生肖| 党什么时候成立| 贴膏药发热是什么原因| 口臭严重吃什么药好得快| 北极和南极有什么区别| yy是什么| 吃海带有什么好处| 1310是什么意思| 打狂犬疫苗不能吃什么食物| 空窗期什么意思| 心率过低吃什么药| 入幕之宾是什么意思| 辅酶q10什么时候吃| 泌尿外科主要看什么病| 霉菌阴道炎是什么引起的| 黄粱是什么意思| 糖尿病人早餐吃什么最好| hold on什么意思| 子宫直肠凹积液是什么意思| 桫椤是什么植物| 谷氨酰转肽酶是指什么| 湛江有什么好吃的| 什么牌子的洗衣机最好| 儿童用什么牙膏最好可以保护牙齿| 什么是脑梗塞| 一拃是什么意思| 淼怎么读什么意思| 伊朗说什么语言| 月经量少是什么原因啊| 细菌性肠炎是什么原因引起的| 蜱虫用什么药可以消灭| 什么是恶露| 多囊卵巢是什么原因造成的| 凤凰单丛茶属于什么茶| 女性更年期潮热出汗吃什么药| 尿常规红细胞高是什么原因| 脐动脉2条是什么意思| 静脉曲张挂什么号| 菜心是什么菜| 爱情和面包是什么意思| 系鞋带什么意思| TB是什么缩写| 刚愎自用什么意思| 吃什么下火| 1974年属虎的是什么命| bolon是什么牌子眼镜| 氧分压高是什么原因| 隐血阴性是什么意思| 做胃镜挂什么科| 踢皮球是什么意思| 什么东西泡水喝降血压| 十玉九裂是什么意思| 拉肚子拉稀水吃什么药| 氨咖黄敏胶囊是治什么的| 北京为什么叫四九城| 右耳鸣是什么原因| 12580是什么号码| 什么药治咳嗽最好| 小五行属性是什么| mk包包属于什么档次| 吃什么食物快速降糖| 弹性是什么意思| 与虎谋皮是什么生肖| 五月二十九是什么星座| 什么是漂洗| 甲亢病是一种什么病| 腋下异味挂什么科| 练深蹲有什么好处| 泌尿系统感染吃什么消炎药| 割包皮什么意思| 毛遂自荐是什么意思| 儿女情长是什么意思| 葡萄套袋前打什么药| 儿童过敏性咳嗽吃什么药| 绝经后子宫内膜增厚是什么原因| 为什么会长脂肪瘤| 阴阳双补用什么药最佳| close什么意思| 血小板有什么作用| 哺乳期吃避孕药对孩子有什么影响| 血红蛋白偏高说明了什么| 2024是什么年生肖| 琥珀是什么颜色| 碘是什么| 白带过氧化氢阳性是什么意思| 牛皮癣是什么| 脑血管痉挛是什么原因引起的| 无创是什么检查| 上挂是什么意思| 梦见煮饺子是什么意思| 肠胃炎是什么症状| tid什么意思| 失去味觉是什么原因| 焦点是什么| 为什么会打呼| 扁桃体切除对身体有什么影响| 化疗能吃什么水果| mi是什么| 小拇指和无名指发麻是什么原因| 拉尿有泡泡是什么原因| 什么3121919Z空间| 大黄是什么药材| 每晚都做梦是什么原因| 出的汗是凉的什么原因| jvc是什么牌子| 嘴角上方有痣代表什么| 不悔梦归处只恨太匆匆是什么意思| 囊肿是什么原因造成的| 肚子一直响是什么原因| 为什么尿频繁怎么回事| 肝内囊性灶什么意思| 什么叫高脂血症| 不能生育的女人有什么特征| 神什么气什么| 牙齿发炎吃什么药| jsdun是什么牌子的手表| 面膜什么时候敷效果最好| 心阴不足吃什么中成药| 仓鼠是什么科动物| 苏轼是什么派词人| 二阴指的是什么| 晚的反义词是什么| 什么是牛蒡| 屈光不正什么意思| 跳蚤最怕什么药| 辛辣食物指的是什么| 彩虹代表什么生肖| 滴滴什么意思网络用语| 1972年属什么生肖| 累觉不爱是什么意思| 小孩睡觉出很多汗是什么原因| 此是什么意思| ecom什么意思| 腿抽筋用什么药| 眼睛视物模糊是什么原因| lafuma是什么牌子| 属兔本命佛是什么佛| 降压药什么时候吃好| 处方药是什么意思| 青榄配什么煲汤止咳做法| 孕妇可以喝什么汤| 人流后吃什么| 抑郁状态和抑郁症有什么区别| 继发不孕什么意思| 炉鼎是什么意思| 这次是我真的决定离开是什么歌| 腿肿吃什么药| 宫颈锥切后需要注意什么| 阴骘是什么意思| 小月子同房有什么危害| 欧珑香水什么档次| 稀奶油是什么奶油| 五行水多代表什么| 血管为什么会堵塞| 骑驴找马是什么意思| 人中长代表什么| 领导喜欢什么样的员工| 玫瑰花有什么作用| 中性粒细胞比率偏低是什么意思| 诸葛亮儿子叫什么| 淋巴门结构可见是什么意思| 花卉是什么意思| 三净肉是什么| 3月20是什么星座| 阿莫西林有什么作用| 去迪拜打工需要什么条件| 糖尿病适合喝什么饮料| 智齿发炎吃什么药| 感冒可以吃什么水果| 宸字属于五行属什么| 注意地看的词语是什么| 早上8点属于什么时辰| 胀气打嗝是什么原因| 生肖蛇五行属什么| 阴囊潮湿吃什么药好| 落拓是什么意思| b型血阳性是什么意思| 什么是渡劫| 七十岁是什么之年| 有腿毛的男人说明什么| 二月初十是什么星座| 鸟几念什么| 脸上为什么长斑| 梦见去看病是什么意思| mlb是什么牌子| 鼠妇是什么动物| 小奶猫吃什么| 蚊子讨厌什么气味| 舌头有裂痕是什么原因| 盆腔炎吃什么药好得快| 死猪不怕开水烫是什么意思| 乳铁蛋白对宝宝有什么好处| 秋葵和什么不能一起吃| 鸭肚是鸭的什么部位| 疯狂动物城里的狐狸叫什么| 我想长胖点有什么办法| 农历七月初七是什么节日| 牙龈出血用什么药| 胃酸过多吃什么| 做b超需要挂什么科| 我行我素的人什么性格| 什么是公元前和公元后| 唐僧的袈裟叫什么| 八月十七是什么星座| 国债什么意思| 2型糖尿病是什么意思| 血小板低吃什么| 巨细胞病毒抗体阳性是什么意思| 身份证后六位代表什么| 盘尼西林是什么药| c是什么单位| 没有高中毕业证有什么影响| 孕妇尿回收是干什么用的| 日抛是什么意思| 广东有什么烟| ph值小于7是什么意思| 手癣用什么药| 腮腺炎看什么科室| 老是感冒是什么原因| 为什么想吐却吐不出来| 蛇跟什么生肖最配| 哮喘是什么症状| 手腕痛是什么原因| 雨露均沾是什么意思| 脾胃不好吃什么食物可以调理| 双皮奶为什么叫双皮奶| 血尿酸偏高是什么原因| 手机充电发烫是什么原因| 饶舌是什么意思| 阳痿早泄用什么药| 一吃东西就牙疼是什么原因引起的| 疱疹不能吃什么食物| 牛肉馅饺子配什么菜| 什么鸣什么吠| 伏羲和女娲是什么关系| 3月25日是什么星座| 家里为什么会有跳蚤| 为什么新生儿会有黄疸| bmr是什么意思| 糖尿病的诊断标准是什么| bv是什么品牌| 清江鱼又叫什么鱼| 小便少是什么原因| 肿瘤标志物是什么| 龟头有点痒擦什么药| 检查骨头做什么检查| 邪淫是什么意思| 爱迪生发明什么| 凋零是什么意思| 11月10日是什么星座| 唇炎去药店买什么药| 做梦梦到蜈蚣是什么意思| 什么的眉头| 维和部队是干什么的| 错觉是什么意思| 同比什么意思| 曹操为什么杀华佗| 胆小如鼠是什么生肖| 早上起来头晕是什么原因| 人湿气重有什么症状| 百度

LangChain框架入门04:10分钟优雅接入主流大模型

百度 中国一汽还表示,未来也将在新能源领域持续发力,通过前瞻性的思考、多的跨界合作和领先的技术,有效减少能源浪费,在不断为用户打造更加高效、舒适、环保的用车体验的同时,推动中国新能源汽车产业发展。

一个 AI 应用的核心就是它所依赖的大语言模型,LangChain 框架本身不内置任何大模型,但它通过定义统一的接口规范,可以将各种第三方大语言模型接入进来。本文将详细介绍如何在 LangChain 中接入大语言模型,以及如何使用不同的大语言模型。

一、Model的分类

LangChain中将大语言模型分为:文本生成模型(LLMs)和支持多轮对话的聊天模型(Chat models)

聊天模型:接受消息输入,并且输出消息,返回的消息封装为不同类型的 BaseMessage 实例, LangChain 也允许聊天模型以字符串作为输入。这样做可以轻松地用聊天模型代替 LLMs,当以字符串作为输入时,该字符串会被转换为 HumanMessage ,然后传递给底层聊天模型。

文本生成模型:接受字符串输入,并且输出字符串,LangChain 也允许文本模型也以“消息”作为输入,从而与聊天模型的接口保持一致。当以消息作为输入时,这些消息会在传递给LLM之前被转换为字符串。

在 LangChain 的类结构中,顶层基类是 BaseLanguageModel,用于定义模型的通用接口。它分为两支:BaseChatModelBaseLLM。接入聊天模型时需继承 BaseChatModel,如常用的 ChatOpenAI;而文本生成模型则继承 BaseLLM,如 OpenAI

image-20250721075719115

二、Chat Model聊天模型

在构建聊天模型时,有一些标准化参数:

参数名 参数含义
model 指定使用的大语言模型名称(如 "gpt-4""gpt-3.5-turbo" 等)
temperature 温度,温度越高,输出内容越随机;温度越低,输出内容越确定
timeout 请求超时时间
max_tokens 生成内容的最大token数
stop 模型在生成时遇到这些“停止词”将立刻停止生成,常用于控制输出的边界。
max_retries 最大重试请求次数
api_key 大模型供应商提供的API秘钥
base_url 大模型供应商API 请求地址

以上的标准参数,也只是适用于部分的大语言模型,有些参数在特定模型中可能是无效的,这些标准化参数仅对 LangChain 官方提供集成包的模型(如 langchain-openailangchain-anthropic)生效,在langchain-community包中的第三方模型,则不需要遵守这些标准化参数的规则。

ChatOpenAI完整示例:

import dotenv
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI

# 读取env配置
dotenv.load_dotenv()

# 1.构建提示词
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个资深的Python开发工程师"),
    ("human", "{question}")
])

# 2.创建模型
llm = ChatOpenAI()

# 3.生成提示词
prompt_value = prompt.invoke({"question": "请你帮我写一个求最大公约数方法"})

# 4.大模型接受promptValue,输出AI消息
aiMessage = llm.invoke(prompt_value)

# 5.打印AI消息和AI消息内容
print(aiMessage.content)

执行结果如下:

好的!求最大公约数(GCD)可以用欧几里得算法,这是一种高效的算法。下面是用 Python 实现的代码:

```python
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a
```

### 解释:
- 这个方法使用了 **欧几里得算法**,通过反复取模来缩小问题的规模,直到 `b` 为 0。
- 当 `b` 为 0 时,`a` 就是两个数的最大公约数。

你可以用这个函数来求两个数的最大公约数。例如:

```python
print(gcd(56, 98))  # 输出:14
```

这种方法的时间复杂度是 \(O(\log(\min(a, b)))\),非常高效。

三、LLM文本生成模型

LLM文本生成模型使用方式如下:

import dotenv
from langchain_core.prompts import PromptTemplate
from langchain_openai import OpenAI

# 读取env配置
dotenv.load_dotenv()

# 1.构建提示词
prompt = PromptTemplate.from_template("{question}")

# 2.创建模型
llm = OpenAI()

prompt_value = prompt.invoke({"question": "请完整输出悯农这首诗"})

# 3.文本生成模型接受promptValue,并输出结果
print(llm.invoke(prompt_value))

执行结果:

《悯农》是唐代诗人李绅创作的一首诗,原文如下:

**悯农**

锄禾日当午,  
汗滴禾下土。  
谁知盘中餐,  
粒粒皆辛苦。

这首诗通过描写农民在烈日下辛勤耕作的情景,表达了对农民劳动的同情与敬意。

四、Message组件

在之前介绍聊天模型ChatOpenAI的案例中,调用模型后返回了一条AI消息,在LangChain中,消息有几种不同的类型。所有消息都有 typecontentresponse_metadata 等属性。

下面是这几个属性的作用:

属性名 属性作用
type type 描述了是哪个类型的消息,包含类型有"user"、"ai"、"system" 和 "tool"
content 通常是字符串,有些情况下可能是字典列表,这个字典列表用于大模型的多模态输出。
name 用来区分当消息类型相同,对消息进行区分,但不是所有模型都支持这一功能。
response_metadata AI消息才会包含的属性,大语言模型的响应中附加元数据,根据不同模型会有不同,如可能会包含本次 token 使用量等信息。
tool_calls AI消息才会包含的属性,当大语言模型决定调用工具时,在 AIMessage 中就会包含这个属性,可以通过 .tool_calls 属性进行获取该属性返回一个 ToolCall 列表,每个 ToolCall 是一个字典,包含以下字段: name : 应调用的工具名称 args : 调用工具的参数 id : 工具调用的唯一标识 ID

根据消息类型的不同, Message组件被分为:

HumanMessage:人类消息,type为"user"

AIMessage: AI 消息,type为"ai"

SystemMessage:系统消息,type为"system",告诉大模型当前的背景是什么,应该如何做,并不是所有模型提供商都支持这个消息类型

ToolMessage:工具消息,type为"tool"

FunctionMessage:旧的函数调用消息类型,现已被 ToolMessage 取代。

五、使用其他大语言模型

除了使用OpenAI的大语言模型之外,LangChain还可以使用很多的大语言模型,下面我们以接入阿里巴巴的通义千问聊天模型为例。

首先,申请阿里云百炼平台API KEY:

image-20250720230056442

在.env文件中,加入阿里云百炼平台的API Key

# 阿里云百炼平台API KEY
DASHSCOPE_API_KEY=sk-***********************

安装依赖包

pip install dashscope

调用通义千问模型示例如下:

import dotenv
from langchain_community.chat_models import ChatTongyi
from langchain_core.prompts import PromptTemplate
# 读取env配置
dotenv.load_dotenv()

# 1.构建提示词
prompt = PromptTemplate.from_template("{question}")

# 2.构建通义模型
tongyi_chat = ChatTongyi(
    model="qwen-turbo-2025-08-03"
)

prompt_value = prompt.invoke({"question": "请完整输出短歌行"})

# 3.文本生成模型接受promptValue,并输出结果
print(tongyi_chat.invoke(prompt_value).content)

执行结果:

《短歌行》是东汉末年曹操所作的一首乐府诗,全诗如下:

---

**短歌行**  
**曹操**

对酒当歌,人生几何!  
譬如朝露,去日苦多。  
慨当以慷,忧思难忘。  
何以解忧?唯有杜康。  

青青子衿,悠悠我心。  
但为君故,沉吟至今。  
呦呦鹿鸣,食野之苹。  
我有嘉宾,鼓瑟吹笙。  

明明如月,何时可掇?  
忧从中来,不可断绝。  
越陌度阡,枉用相存。  
契阔谈讌,心念旧恩。  

月明星稀,乌鹊南飞。  
绕树三匝,何枝可依?  
山不厌高,海不厌深。  
周公吐哺,天下归心。

---

这首诗表达了诗人对人生短暂的感慨、对贤才的渴求以及统一天下的雄心壮志。

接入更多模型的文档在LangChain官网的Integrations中

image-20250721080003483

在 LangChain Integrations 页面点击“More”进行查找

image-20250721080146433

找到阿里巴巴

image-20250721080252688

在这里就可以看到接入ChatTongyi等模型的文档了,点击API Reference,查看具体文档。

image-20250721080345572

开发者可以根据文档说明,快速集成各类主流和国产大语言模型。

image-20250721080639482

六、总结

本文详细介绍了 LangChain 中模型组件(Model)的使用方法与设计思路,首先从模型的分类开始,分析了文本生成模型和聊天模型的区别,接下来通过具体的代码示例,来演示聊天模型ChatOpenAI和文本生成模型OpenAI的基本用法。

我们还学习了聊天模型输入输出都要用到的Message组件,了解了 Message 组件的几种类型(如 HumanMessageAIMessageSystemMessageToolMessage),最后,我们以接入阿里巴巴的通义千问的聊天模型为例,展示如何在LangChain中接入其他第三方模型。

总的来说,LangChain 在模型接入方面做了大量抽象,可以灵活支持 OpenAI、Anthropic、阿里通义千问、百度文心一言等主流模型。通过本文,相信你已经理解Model组件的设计思想和使用方法,后续将继续深入介绍LangChain的核心模块和高级用法,敬请期待。

posted @ 2025-08-03 10:03  大志说编程  阅读(82)  评论(0)    收藏  举报
气虚吃什么中药 7月18号是什么日子 囗苦是什么原因 什么猫最贵 tvb是什么意思
促甲状腺激素高是什么意思 金风送爽是什么意思 种草莓是什么意思 舌面上有裂纹是什么病 白茶为什么叫白茶
解脲支原体阳性是什么意思 真菌阴性是什么意思 骨折用什么药恢复快 手发麻发木是什么病的前兆 头晕用什么药好
青光眼是什么意思 幽门阳性是什么意思 偏头痛是什么原因 金匮肾气丸主治什么病 泾渭分明是什么意思
吃什么药降尿酸快hcv7jop5ns2r.cn 舅舅的孩子叫什么hebeidezhi.com 抽烟是什么感觉hcv9jop7ns5r.cn 肠癌有什么症状hcv9jop1ns5r.cn 闻香识女人是什么意思hcv8jop2ns6r.cn
扁平息肉属于什么性质hcv8jop4ns0r.cn 号是什么意思hcv9jop4ns4r.cn 胆汁反流是什么原因引起的hcv9jop7ns3r.cn 3月16号是什么星座hcv8jop8ns9r.cn 灰色t恤配什么颜色裤子hcv9jop8ns1r.cn
白猫是什么品种hcv7jop9ns5r.cn 兔子肉不能和什么一起吃hcv7jop9ns8r.cn 女朋友生日送什么hcv9jop3ns9r.cn 子宫内膜炎有什么症状hcv9jop5ns3r.cn 皮肤瘙痒是什么原因liaochangning.com
抗hcv是什么意思hcv9jop4ns9r.cn 颈动脉斑块吃什么药效果最好hcv7jop6ns2r.cn 虎虎生风是什么意思hcv8jop4ns0r.cn 肩胛骨疼痛挂什么科tiangongnft.com 词又被称为什么hcv9jop0ns0r.cn
百度