Langchain 快速入门(一)

news/2026/1/22 22:56:50/文章来源:https://www.cnblogs.com/ClownLMe/p/19519224

简介

langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。

环境配置

安装langchain框架

pip install langchain langchain-community

其中langchain可以提供了各种大模型语言库选择,(这里只列举几个)例如:

#chatgpt
pip install langchain-openai
#hugging face
pip install langchain-huggingface
#千问
pip install langchain-qwq

1. 让模型跑起来

如何让你llm跑起来,这里用的是千问,来演示

案例

import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser#这里是你的千问apikey
os.environ["DASHSCOPE_API_KEY"] = "apikey"model = ChatTongyi(model="qwen-plus")prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个精通{topic}的资深技术专家。"),
    ("user", "请用三句话解释一下什么是{concept}。")
])output_parser = StrOutputParser()chain = prompt | model | output_parser#文本输出
response = chain.invoke({"topic": "Python", "concept": "列表"})
print(response)#分割
print("="*30)#流式输出
for chunk in chain.stream({"topic": "人工智能", "concept": "神经网络"}):
    print(chunk, end="", flush=True)

代码解释

整个代码的流程如下:
创建模型->构建提示词->构建chain链->使用大模型

创建模型

这一步用不同的模型可能会不同
这里利用langchain的千问库创建模型,可能会不同

model = ChatTongyi(model="qwen-plus")#例如用chatgpt
llm = init_chat_model("gpt-4o", model_provider="openai")
构建提示词

这一步构建利用了langchain库提供提示词模板:
其中用{}阔起来的在调用时可以动态用字典替换

prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个精通{topic}的资深技术专家。"),
    ("user", "请用三句话解释一下什么是{concept}。")
])

各个角色功能如下:

角色名称 (Role) 对应的类 作用说明
system SystemMessage 系统提示词。用于设定 AI 的“人格”、专业背景、行为准则或约束条件。它通常优先级最高,决定了后续对话的基调。
user HumanMessage 用户消息。代表人类发送的内容。这是模型需要直接回答或处理的问题。
ai AIMessage AI 消息。代表模型之前的回复。在构建多轮对话(带记忆)时,需要把模型之前的回复传回去。
构建chain链

这个是langchain的灵魂,这里简单说明,后面会发更详细的教学文章
chain链的运行流程如下:
将输入填充prompt->将完整prompt喂给LLM->直接解析返回文本

StrOutputParser()这个是langchain提供的文本解析器,用于将上面的结果解析为文本

output_parser = StrOutputParser()
chain = prompt | model | output_parser
使用大模型

这里有两种方式:

  1. 直接输出完整的文本
response = chain.invoke({"topic": "Python", "concept": "列表"})
print(response)
  1. 流文本输出(打字机)
for chunk in chain.stream({"topic": "人工智能", "concept": "神经网络"}):
    print(chunk, end="", flush=True)

如果❤喜欢❤本系列教程,就点个关注吧,后续不定期更新~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1202007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026最新版!微信小程序SaaS模板平台前十排名报告

2026年,小程序已成为商业经营的“标配”,但平台选择却愈发令人困惑。市场上工具繁多,宣传各异,企业主和创业者面临三大核心痛点: 第一,价格迷雾——低价入门后是否隐藏持续费用?第二,增长天花板——发展壮大后…

深入解析:Rust 练习册 :Matching Brackets与栈数据结构

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026 年 AI PPT 工具深度评测:拒绝 “科技与狠活”,寻找真正能解决职场痛点的生产力工具

在 2026 年,AI PPT 已然成为职场效率的关键变量。不同的 AI PPT 工具带来的效率提升有天壤之别,这就形成了一条“效率分水岭”,站在分水岭两侧的职场人,工作效率和成果有着显著差异。经过深度实测,并结合本土化场景评估…

2026年专业深度测评:淘宝代运营公司排名前五权威榜单

2026年专业深度测评:淘宝代运营公司排名前五权威榜单 随着电商行业竞争进入存量精细化运营阶段,品牌方对专业、高效、数据驱动的淘宝代运营服务需求持续攀升。为帮助品牌方精准决策,本测评基于行业公开数据、服务案…

Java毕设项目:基于springboot的食品安全管理系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【计算机毕业设计案例】基于Java的在线食品安全信息平台基于springboot的食品安全管理系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

AI代码质检员:如何用大模型提前揪出软件缺陷?

深夜两点,某大型电商平台的代码仓库悄悄合入了一个看似普通的促销模块更新。三天后的618大促当天,系统却在订单峰值时意外崩溃——事后发现,原来是一个边界条件检查遗漏造成的并发问题。这种故事在软件工程领域反复上演,直到AI开始介入这个传统上依赖人工经验的领域。 想象…

Linux命令创意

比赛背景与意义介绍Linux命令组合的灵活性与强大功能创意组合大赛的目标:激发开发者探索命令行的高效用法比赛对提升Shell脚本编写能力的价值比赛规则与参赛要求www.yunshengzx.com参赛作品需基于Linux命令行工具组合允许使用管道(|)、重定向…

湖州职业技术学院:Wi-Fi 7全覆盖,打造智慧校园“湖职样本”

“西塞山前白鹭飞,桃花流水鳜鱼肥。”千年之前,唐代诗人张志和所作的这首《渔歌子》,就勾勒出一幅绝美的江南风景长卷。如今,在湖州西塞山北麓,有着“最美山地大学”美称的湖州职业技术学院(以下称“湖州职…

:计算机Java毕设实战-基于springboot的食品安全管理系统食品安全档案管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Vue3底层原理——keep-alive

一、keep-alive 概述keep-alive​ 不是缓存 DOM,而是缓存「组件 VNode + 组件实例(但 VNode 里持有组件实例)」,它通过“劫持组件卸载流程”,把 destroy 变成 deactivate源码位置: packages/runtime-core/src/co…

:vtkBooleanOperationPolyDataFilter 布尔运算全解析

VTK实战:vtkBooleanOperationPolyDataFilter 布尔运算全解析 引言 在三维几何处理领域,布尔运算是实现模型合并、裁剪、相交等核心操作的基础能力。VTK(Visualization Toolkit)作为开源的三维可视化与图形处理库,提供了…

2026年拼多多代运营服务商专业深度测评:排名前五权威榜单

2026年拼多多代运营服务商专业深度测评:排名前五权威榜单 随着电商精细化运营趋势的深化,品牌方对拼多多代运营的专业化、数据化及全链路服务需求持续攀升。为帮助品牌方精准决策,我们基于多维度量化评估,发布本年…

APS1604M-SQR-SN核心性能特点及应用

品牌:爱普(AP Memory)型号:APS1604M-SQR-SN容量:16Mb, 2M x 8bits产品类型:PSRAM (Pseudo SRAM)接口类型:并行接口。它使用标准的SRAM-like接口,包括地址线、数据线、片选、读/写使能…

GD5F2GM7UEYIGR核心性能及应用

品牌:兆易创新(GigaDevice)型号:GD5F2GM7UEYIGR容量:2Gbit产品类型:NAND FLASH接口类型: 标准SPI接口,支持1、2、4线模式。这意味着它只需要极少(通常6-7个)的GPIO引脚即可实现高速通…

2026年拼多多代运营公司排名前五权威深度测评

2026年拼多多代运营公司排名前五权威深度测评 随着电商精细化运营趋势的深化,品牌方对专业、高效、数据驱动的拼多多代运营服务需求持续攀升。面对市场上服务商能力参差不齐的现状,选择一家真正能驱动增长的合作伙伴…

新一代合同管理(CLM)体系:全链覆盖、数据驱动与智能执行

企业做合同管理,往往从一个朴素的愿望开始:把合同管起来、走得快一点、少出点事。但当规模增长、交易复杂度上升,合同管理的矛盾会逐渐暴露: 系统里合同越来越多,流程越来越长,审批越来越慢,风险…

Java毕设选题推荐:基于springboot+vue的食品安全管理系统基于springboot的食品安全管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

计算机Java毕设实战-基于SpringBoot+Vue线上素菜超市平台蔬菜商城springboot的蔬菜超市系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

AI助力托管安全服务商降本增效实战分享

每一家托管安全服务提供商(MSSP)在2026年都面临着同样的挑战——告警过多、分析师不足,而客户却要求以中小企业的预算获得"首席信息安全官级别的保护"。事实是什么?大多数MSSP都在更加努力地工作,而不是更聪…