agent第一课
本次实操基于阿里云DSW环境,通过Python调用DeepSeek API开发基础问答程序。核心实现包括:1)封装QAgent类建立API连接;2)实现ask方法完成问答交互;3)解决索引变量未定义等典型错误。技术认知方面,区分了基础问答程序与大模型智能体的本质差异:前者仅支持单轮问答,后者具备记忆、规划和工具调用等能力。本次实践完成了从API调用到基础智能体开发的技术落地,为后续复杂智能体开发奠
本次基于云工作台开展大模型智能体开发实操,核心围绕 DeepSeek API 调用、基础智能体代码编写与调试展开,过程中解决了多项基础编程报错问题,同时厘清了大模型问答程序与真正智能体的技术边界,完成了从基础 API 调用到智能体核心概念落地的技术实践,现将本次实操的技术要点、问题解决、核心认知及技术总结梳理如下。
一、实操技术环境与核心框架
本次开发实操基于阿里云 DSW 云端开发环境,该环境集成代码编辑、运行、调试全流程功能,无需本地配置 Python 环境及相关依赖,可直接实现代码编写与执行,大幅降低了大模型应用开发的环境搭建门槛。核心技术框架以 Python 为开发语言,调用 OpenAI 风格的 DeepSeek 大模型 API,通过自定义类封装大模型调用逻辑,实现基础的问答交互功能,核心依赖为openai库,用于与 DeepSeek API 建立通信并完成请求与响应的处理。
二、核心开发步骤与技术实现
- 类的自定义封装:创建
QAgent类,通过__init__方法初始化 OpenAI 客户端,传入 DeepSeek 的 API Key 和官方接口地址,建立与大模型的通信连接,实现客户端的复用。 - 问答方法实现:在
QAgent类中定义ask方法,接收用户问题作为参数,通过客户端调用chat.completions.create接口,指定大模型基座(deepseek-chat)、对话消息体、温度等参数,发起同步请求(stream=False)。 - 响应结果解析:从大模型返回的响应数据中,提取
choices列表中的结果,解析出消息内容并返回,实现用户问题到模型答案的转化。 - 调用与展示:实例化
QAgent类,传入有效 API Key,调用ask方法传入具体问题,通过print或 Markdown 组件实现答案的输出展示。
三、实操中典型问题与技术解决方案
本次开发过程中遇到两类典型的 Python 运行时错误,均为基础开发细节问题,通过针对性的语法修正和逻辑调整实现解决,具体问题与方案如下:
- NameError: name 'e' is not defined
- 问题成因:响应结果解析时,错误将索引值
0写为未定义变量e,Python 解释器无法识别未声明的变量,导致报错。 - 解决方案:将
response.choices[e].message.content修正为response.choices[0].message.content,因 DeepSeek API 同步请求返回的choices列表仅有一个结果,固定索引0即可正确提取。
- 问题成因:响应结果解析时,错误将索引值
- NameError: name 'Markdown' is not defined
- 问题成因:计划通过 Markdown 美化展示结果,但将
from IPython.display import Markdown导入代码误写在注释中,未完成模块的有效导入,导致调用时未识别该类。 - 解决方案:两种方式可实现解决,一是直接删除 Markdown 展示代码,仅保留
print基础输出;二是在代码顶部显式导入Markdown和display组件,完成依赖加载后再进行调用。
- 问题成因:计划通过 Markdown 美化展示结果,但将
此外,开发前需提前确保 DeepSeek API Key 的有效性,避免出现 401 认证错误,需从官方平台获取并正确复制,无字符缺失、空格等问题。
四、核心技术认知:问答程序与大模型智能体的本质区别
本次实操的基础代码仅实现了大模型的单轮问答功能,属于大模型 API 调用程序,并非真正意义上的大模型智能体,二者在技术能力和设计逻辑上存在本质区别,核心差异如下:
- 功能维度:基础问答程序仅支持单轮的问题输入与答案返回,无上下文记忆、无自主决策能力;大模型智能体具备记忆能力、工具调用能力、任务规划能力、自主执行能力,可实现多轮对话上下文关联,面对复杂问题时能拆解为多个子步骤,自主判断是否调用外部工具(如搜索、计算、代码运行),并循环执行直至完成任务。
- 设计逻辑:问答程序的核心逻辑是 “请求 - 响应” 的单向交互,仅实现 API 的简单封装与调用;大模型智能体的核心逻辑是 “感知 - 思考 - 行动 - 反馈” 的闭环,以大模型为核心大脑,结合记忆模块、工具库、规划模块,实现从 “被动回答” 到 “主动解决问题” 的转变。
- 应用场景:问答程序仅适用于简单的知识查询、信息解答等场景;大模型智能体可落地于复杂的业务场景,如智能办公、数据分析、自动化运维等,能够解决多步骤、跨工具的复合性问题。
更多推荐



所有评论(0)