当前位置: 首页 > 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/631109/

相关文章:

  • 【OpenClaw企业级智能体实战】第29篇:边缘智能:在10美元开发板上跑OpenClaw(PicoClaw实战)
  • 从Simulink到LabVIEW:VeriStand联合仿真中人机交互界面的高效构建与数据联动
  • 【2026年最新600套毕设项目分享】外籍人员管理系统微信小程序(30039)
  • CiteSpace 6.3.R1 从零到一:基于CNKI数据的科研图谱实战指南
  • FastAPI子应用挂载:别再让root_path坑你一夜邑
  • 世界第一个开源可商用 .NET Office 转 PDF 工具/库 - MiniPdf圃
  • 5分钟掌握抖音批量下载完整指南:从零到精通的效率革命
  • 锐捷交换机连接与故障排除实战指南
  • OpenClaw+优云智算Coding Plan:从灵感到成文,再到发布的全流程AI自动化仲
  • Qwen3-14B大模型技术解析:从架构原理到私有化部署实践
  • 【2026年最新600套毕设项目分享】微信小程序的绘画学习平台(30040)
  • 【OpenClaw从入门到精通】第60篇:多智能体协同实战——用“龙虾”搭建你的数字员工团队(2026企业版)
  • 一文学习 工作流开发 BPMN、 Flowable账
  • 3分钟上手:告别音频分割的繁琐,让AI帮你自动切分
  • 打字不如说话,说话不如截图——AI 代码助手的多模态输入实践以
  • MPNN框架 消息生成与聚合 (公式 1)
  • Android 4G上网协议解析:从PPP建立到数据传输全流程
  • AD9268/AD9643硬件调试避坑实录:从SPI配置到LVDS信号,我们踩了这些坑
  • OpenCode与OhMyOpenCode使用指南
  • 【Leet Code 】滑动窗口
  • 聊一聊 C# 中的闭包陷阱:foreach 循环的坑你还记得吗?樟
  • 零基础网页数据抓取实战:Web Scraper Chrome扩展一站式入门指南
  • STM32 NVIC优先级设置详解:以红外传感器计数为例
  • 骨架动作识别新突破:CTR-GCN的通道拓扑优化策略解析
  • 避开Power BI数据导入的四大坑:从SQL Server连接到Excel表格的实战避坑指南
  • 【最后72小时】奇点大会特邀嘉宾亲授:从Prompt Chain到Dialogue Graph的多轮架构跃迁路径(含可运行Notebook)
  • 把 https 风格的 git remote 替换为 ssh 风格
  • 抖音下载器深度解析:如何优雅获取无水印视频的3个技术秘密
  • 行式存储(Row-based Storage)和列式存储(Column-base Storage)简介沟
  • 032篇:窗口管理:激活窗口、关闭窗口、获取窗口句柄