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

[AI/应用/MCP] MCP Server/Tool 开发指南们

简介

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/619354/

相关文章:

  • 别光看手册了!用LTspice仿真OPA827运放噪声,手把手教你避开计算陷阱
  • 2026年行业内母线槽销售厂家,母线槽/WDZN-RVS电线/YJLHV82铝合金电缆,母线槽生产商推荐 - 品牌推荐师
  • HarmonyOS6 半年磨一剑 - RcNumberBox 三方库插件事件体系与输入处理管道机制深度解析
  • 方案A讨论
  • 2026年污水处理专用双曲面搅拌机哪家强?适配不同工况的厂家推荐 - 品牌推荐大师1
  • 大模型 智能体(Agent)求职与面试手册
  • 避坑指南:RK3588上Qt+OpenCV项目移植,解决USB摄像头采集的三大常见问题
  • 安装 OpenClaw(PowerShell)
  • 车载移动实验室:微谱科技XRF分析仪/x荧光光谱仪为野外勘探与应急检测提速 - 品牌推荐大师1
  • Pretext:值得关注的文本排版引擎滴
  • 水下动力心脏如何选?靠谱的潜水搅拌机知名厂家/生产商/供应商有哪些? - 品牌推荐大师
  • JavaSpring和ASP.NET Core,不同的设计哲学
  • Pixel Language Portal 开发环境搭建:VSCode 高效配置与调试指南
  • 用 Rust 构建 LLM 应用的高性能框架
  • 零基础快速上手:Jellyfin MetaShark插件完整使用指南
  • GBrain 项目详解:你的个人 AI 知识大脑(Memex)
  • OBS-VirtualCam核心技术实现:从架构设计到性能优化
  • HarmonyOS6 三方库插件实战:RcRate 评分组件交互逻辑与事件处理机制深度解析
  • guix studio 下载
  • PHP异步I/O配置失效的7大征兆:CPU空转却响应超时?这可能是你的libuv版本与PHP-FPM共存导致的隐式阻塞!
  • 医疗器械软件生命周期管理注意事项
  • 如何高效使用x64dbg:5个专业逆向分析技巧
  • 从激活焦虑到一键安心:KMS_VL_ALL_AIO如何重塑Windows授权体验
  • Linux I/O 演进史:从管道到零拷贝,一篇串起个服务端核心原语呕
  • 2026 HDU 春季十连测
  • 企业年会知识竞赛互动环节设计指南:提升参与感与团队凝聚力
  • 如何保证模型结构化输出
  • OpenClaw邮件处理机器人:Qwen3-14b_int4_awq实现的智能分类与回复
  • 多智能体强化学习—QPLEX:优势分解与协同决策的深度解析
  • 微信立减金回收价格公示,如何避坑 - 猎卡回收公众号