当前位置: 首页 > news >正文

[Linux][虚拟串口]x一个特殊的字节露

简介

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

使用大模型

这里有两种方式:

直接输出完整的文本

response = chain.invoke({"topic": "Python", "concept": "列表"})

print(response)

流文本输出(打字机)

for chunk in chain.stream({"topic": "人工智能", "concept": "神经网络"}):

print(chunk, end="", flush=True)页毯唾程

http://www.cnnetsun.cn/news/1792559.html

相关文章:

  • 打理多个微信不用慌,告别切换内耗很简单
  • 深度解码:华为IPD流程管理体系L1-L5最佳实践与数字化转型架构全景(PPT)
  • 【无标题】鑫博XB931M wifi模块
  • WPF新手村教程(七)—— 终章(MVVM架构初见杀)疾
  • 把握 AI 时代核心:孩子自主能力的脑能构建路径
  • 面向对象 方法重写 继承 多态 final 相关案例
  • Linux I/O 演进史:从管道到零拷贝,一篇串起个服务端核心原语纠
  • Kiro IDE remote extension host terminated unexpectedly #4231 官方状态:**未修复**(2026最新实测)
  • OpenClaw安装使用指南
  • 2026届最火的六大AI辅助论文网站解析与推荐
  • plog嵌入式C++日志库:轻量、零开销与跨平台实践
  • 嵌入式网络接口设计:硬件选型与软件优化实践
  • M5StickC-Plus嵌入式开发全指南:ESP32-PICO-D4硬件解析与低功耗实践
  • PCSEL(光子晶体表面发射激光器)技术首次展示
  • 基于组件化架构的Bilibili-Evolved性能优化实战:实现60fps流畅播放与40%内存占用降低
  • 阻抗匹配原理与工程实践全解析
  • Omdia:受社交视频广告推动,2030年全球在线视频和电视收入将超过1万亿美元
  • 2026年怎么安装OpenClaw?腾讯云5分钟喂奶级部署+大模型APIKey配置、Skill集成流程
  • ESP32轻量级Google OAuth 2.0 JWT签名库
  • .NET 诊断技巧 | 日志框架原理、手写日志框架学习咸
  • 微软发布的《生成式人工智能初学者.NET 第二版》课程辰
  • Keil MDK中printf输出配置与优化指南
  • 2025最权威的六大降重复率平台实测分析
  • 嵌入式电子罗盘算法库:FPU加速的磁力计校准与姿态解算
  • ABAQUS盾构隧道开挖模型Cae文件详解:一环七片结构,含螺栓配筋及毫米单位制应用
  • 向量索引预热耗时23秒、QPS跌至17?EF Core 10向量搜索成本失控的5个反直觉根源,现在修复还来得及
  • W25Qxx SPI Flash驱动设计与裸机/RTOS工程实践
  • 并发突增2000QPS时网关雪崩?手把手复现并修复PHP-FPM + Keepalived + Consul动态路由链路
  • 方法层的僭越:TMM诊断心理学、经济学与营养学的“真理危机”
  • 无标签3CL蛋白酶检测试剂盒:均相免洗FRET法,支持高通量抑制剂筛选