当前位置: 首页 > 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.jsqmd.com/news/615737/

相关文章:

  • 带标注信息的交通信号灯识别数据集,可识别左转灯,红绿黄灯,识别率82.88%,支持yolo,coco json,pascal voc xml格式
  • QTableWidget 表格组件渭
  • 如何测试SQL触发器的边界条件_编写单元测试用例模拟场景
  • 老狗科技注塑机数据采集网关:即插即用,兼容100%老旧设备,赋能透明工厂
  • 手把手教你用机乎AI:基于纯AI社交的技术集成指南
  • OpenClaw+千问3.5-35B-A3B-FP8:学术PDF自动摘要与图表解析
  • 大数据开发学习Day8
  • 《四十悟赋》
  • Prodigy宣布推出全球业界功能强大的I3C协议训练器
  • esp-gui:面向ESP32的轻量级嵌入式GUI事件驱动框架
  • WebSerial:基于WebSocket的MCU嵌入式Web终端技术
  • 电商客服+导购智能体的设计与开发豆
  • LangGraph V1.0.5 文档精炼版
  • OpenClaw学习助手:百川2-13B量化模型自动整理课程笔记
  • Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接该
  • AI开发-python-langchain框架(--并行流程 )伪
  • 企业级医疗 IoT 平台实战:实时生命体征系统从单机高并发到云原生流式 AI 的架构演进
  • 力扣396
  • 深度解析:红海云为何成为大中型企业首选HR数字化底座
  • OpenClaw+SecGPT-14B低成本方案:树莓派家庭安全中枢搭建
  • DS18B20多点温度采集驱动库设计与工业应用
  • 打理多个微信不用慌,告别切换内耗很简单
  • 碳纳米管的导电性、导热性到底有多好?
  • 大模型之Linux服务器部署大模型礁
  • OpenClaw智能监控:基于千问3.5-9B的7×24小时系统巡检
  • OpenClaw+Phi-3-mini-128k-instruct:法律文件比对与风险点标注系统
  • 基础算法-高精度:高精度减法
  • FastAPI子应用挂载:别再让root_path坑你一夜贾
  • SteerBot_TB6612:面向差速转向机器人的TB6612驱动Arduino库
  • 重塑供应链效能,中企销订货系统源码助力企业数字化突围