(保姆级教程)手把手教你用LangChain+通义千问,搭建第一个AI客服!代码直接抄!
你是不是也曾想过自己动手搭建一个智能客服系统,却不知道从何入手?别担心,今天我们就来一起完成这个挑战!本文将带你从零开始,使用流行的LangChain框架和通义千问大模型,一步步构建你的第一个AI客服应用。无需高深的机器学习知识,只要会写Python代码,你就能在半小时内看到一个能听懂人话、还能回答问题的AI助手!
你是不是也曾想过自己动手搭建一个智能客服系统,却不知道从何入手?别担心,今天我们就来一起完成这个挑战!本文将带你从零开始,使用流行的LangChain框架和通义千问大模型,一步步构建你的第一个AI客服应用。无需高深的机器学习知识,只要会写Python代码,你就能在半小时内看到一个能听懂人话、还能回答问题的AI助手!

一、 准备工作:拿到通往大模型的"钥匙"
想要让我们的程序能够访问大模型,首先需要获得访问权限。这就好比你要进入一个高级会所,需要出示会员卡一样。对于通义千问大模型来说,这张"会员卡"就是API Key。
首先,我们需要注册并获取通义千问的API Key。访问通义千问官方网站,按照指引完成注册和申请流程。拿到API Key后,我们把它设置为系统环境变量,这样既安全又方便:
# 在终端中执行(Linux/Mac)
export ALI_API_KEY="你的API密钥"
# 或者在代码中设置(临时)
import os
os.environ['ALI_API_KEY'] = '你的API密钥'
小提示:在实际项目中,建议使用环境变量或密钥管理工具,不要将API密钥直接写在代码中,以免泄露。
二、 搭建基础框架:导入必要的工具包
现在我们要搭建程序的基础框架。想象一下,这就像是要做一道大餐,首先得准备好各种厨具和食材。
# 导入必要的库
import os
from langchain_openai import OpenAI # 使用OpenAI兼容接口
from langchain.schema import SystemMessage, HumanMessage # 消息类型
from langchain.schema.output_parser import StrOutputParser # 输出解析器
这里有个有趣的地方:我们虽然要连接的是通义千问,但却使用了OpenAI的兼容接口。这是因为现在很多国内大模型厂商都提供了对OpenAI接口的兼容,这样我们就可以用同一套代码访问不同的大模型,是不是很巧妙?
三、 创建大模型客户端:建立与AI的通信通道
接下来我们要创建一个"客户端",这就像是给你的程序配一部手机,让它能够给大模型"打电话"。
# 初始化大模型客户端
api_key = os.getenv("ALI_API_KEY") # 从环境变量获取API密钥
client = OpenAI(
api_key=api_key,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 通义千问的API地址
model="qwen-max" # 使用通义千问Max模型
)
参数说明:
api_key:你的身份凭证,证明你有权限使用这个服务base_url:通义千问提供的API端点地址model:指定使用哪个模型版本,这里我们选择能力最强的"qwen-max"
四、 设计对话内容:教会AI如何扮演角色
现在我们要设计对话内容了。这里有个很重要的概念:消息角色。就像在现实生活中,你对不同的人说话方式不同一样,AI也需要知道它现在扮演什么角色。
# 构建对话消息
messages = [
SystemMessage(content="请将下面的内容翻译成英文。"),
HumanMessage(content="你好,你今天过得好吗?")
]
这里我们使用了两种类型的消息:
SystemMessage:给AI设定角色和任务,相当于导演给演员说戏HumanMessage:用户实际输入的内容,相当于演员的台词
为什么这样设计? 因为这样可以让AI更清楚地知道我们想要它做什么,而不是让它猜测我们的意图。
五、 调用大模型:让AI开始工作
一切准备就绪,现在可以让AI开始工作了!这个过程就像是你发出一条微信消息,然后等待对方回复。
# 调用大模型并获取响应
response = client.invoke(messages)
print("原始响应:", response)
当你运行这段代码时,可能会看到类似这样的输出:
原始响应:
{
"content": "Hello, how are you today?",
"additional_kwargs": {},
"response_metadata": {
"token_usage": {
"prompt_tokens": 20,
"completion_tokens": 6,
"total_tokens": 26
}
}
}
哇,AI确实把我们的中文翻译成了英文!但是你会发现返回的内容包含了很多额外信息,比如使用了多少token(可以理解为字数统计)。这些信息对开发者有用,但对最终用户来说就是噪音了。
六、 优化输出结果:只保留我们想要的内容
为了让用户只看到干净的翻译结果,我们需要对输出进行"美容处理"。
# 使用输出解析器提取纯净内容
parser = StrOutputParser()
clean_result = parser.invoke(response)
print("净化后的结果:", clean_result)
现在输出就干净多了:
Hello, how are you today?
背后的原理:StrOutputParser就像是一个智能过滤器,它知道如何从大模型的响应中提取出最重要的文本内容,去掉那些技术性的元数据。
七、 使用链式调用:让代码更优雅
前面的代码分成了几个步骤,其实LangChain提供了一个更优雅的方式——链式调用(Chain)。这就像是把多个工序串联成一条流水线。
# 创建调用链
chain = client | StrOutputParser()
# 一键调用
result = chain.invoke(messages)
print("链式调用结果:", result)
这种方式的优点是:
- 代码更简洁:原来需要4行代码,现在只要2行
- 更易维护:逻辑清晰,一目了然
- 便于扩展:可以轻松添加更多处理环节
八、 完整代码示例
让我们把所有的代码整合在一起,形成一个完整的可运行程序:
import os
from langchain_openai import OpenAI
from langchain.schema import SystemMessage, HumanMessage
from langchain.schema.output_parser import StrOutputParser
# 1. 初始化客户端
api_key = os.getenv("ALI_API_KEY")
client = OpenAI(
api_key=api_key,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
model="qwen-max"
)
# 2. 构建消息
messages = [
SystemMessage(content="请将下面的内容翻译成英文。"),
HumanMessage(content="你好,你今天过得好吗?")
]
# 3. 创建调用链并执行
chain = client | StrOutputParser()
result = chain.invoke(messages)
print("最终结果:", result)
运行这个程序,你就成功地创建了一个AI翻译助手!虽然现在它只能做翻译,但这就是构建智能客服系统的第一步。
九、 下一步学习方向
恭喜你完成了第一个LangChain应用!但这只是开始,接下来你可以:
- 添加多轮对话:让AI能记住之前的对话内容
- 接入真实业务:连接你的产品数据库或知识库
- 增加业务逻辑:处理订单查询、售后支持等具体业务
- 部署为服务:封装成API或网页应用,让更多人使用
记住,每个复杂的系统都是从这样简单的第一步开始的。你现在已经掌握了最核心的基础,接下来就是在这个基础上不断添加新功能,逐步完善你的智能客服系统。
如何高效转型Al大模型领域?
作为一名在一线互联网行业奋斗多年的老兵,我深知持续学习和进步的重要性,尤其是在复杂且深入的Al大模型开发领域。为什么精准学习如此关键?
- 系统的技术路线图:帮助你从入门到精通,明确所需掌握的知识点。
- 高效有序的学习路径:避免无效学习,节省时间,提升效率。
- 完整的知识体系:建立系统的知识框架,为职业发展打下坚实基础。
AI大模型从业者的核心竞争力
- 持续学习能力:Al技术日新月异,保持学习是关键。
- 跨领域思维:Al大模型需要结合业务场景,具备跨领域思考能力的从业者更受欢迎。
- 解决问题的能力:AI大模型的应用需要解决实际问题,你的编程经验将大放异彩。
以前总有人问我说:老师能不能帮我预测预测将来的风口在哪里?
现在没什么可说了,一定是Al;我们国家已经提出来:算力即国力!
未来已来,大模型在未来必然走向人类的生活中,无论你是前端,后端还是数据分析,都可以在这个领域上来,我还是那句话,在大语言AI模型时代,只要你有想法,你就有结果!只要你愿意去学习,你就能卷动的过别人!
现在,你需要的只是一份清晰的转型计划和一群志同道合的伙伴。作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐



所有评论(0)