大模型不擅长数学运算、数据可视化等精确计算任务,您可以使用 Assistant API 预置的 代码解释器 插件,使智能体编写和运行 Python 程序,从而逐步解决复杂的数据问题。如果智能体编写的代码未能成功运行,它还会不断调整代码,尝试不同的方法,直到代码能够顺利执行。
快速入门
工作原理
代码解释器的工作原理如下图所示,您可以直观地了解代码解释器如何作为 Assistant API 的工具,与其他组件协同工作,完成代码的生成、执行和结果处理。
如图所示,代码解释器将按照以下步骤完成任务:
- 用户通过 Assistant API 提供输入(如代码或问题)。
- 代码解释器插件接收输入,生成 Python 代码并执行。
- 执行结果通过 Assistant API 返回给用户。

快速配置
对于熟悉 Assistant API 的开发者,可以按照下列配置方法,快速添加代码解释器到智能体应用。
- 在创建 Assistant 对象时,添加
code_interpreter工具,这是启用代码解释器的关键配置。
- 在获取大模型应用的回复时,您可以通过
dashscope.Steps.list方法获取运行步骤,并提取代码执行的内容和结果。
应用场景
代码解释器作为 Assistant API 的预置插件,能通过执行大模型生成的 Python 代码,解决多种实际应用场景中的问题:
支持在常见数据格式间进行转换 |
借助 matplotlib 等库实现丰富的可视化效果 |
JSON 与 CSV 互转,方便数据导入导出 XML 解析与生成,适用于配置文件处理 Excel 数据提取与重组,简化表格处理流程 | 绘制折线图展示数据趋势和波动 通过散点图分析变量相关性 使用热力图呈现复杂的多维数据关系 |
![]() | ![]() |
典型案例:代码教学助手
在这个示例中,您将使用 Assistant API 和 Gradio 创建 Web 代码教学助手,帮助用户编辑并执行代码。
环境准备
-
Python 环境:在开始之前,请确保您的开发环境满足以下条件:
-
推荐使用 Python 3.10 或更高版本。您可以通过以下命令查看您的 Python 版本:
python3 --version -
Pip 版本是最新的。您可以通过以下命令升级 Pip 到最新版本:
pip install --upgrade pip -
已安装 DashScope 和 Gradio 软件包。您可以通过以下命令安装软件包:
pip install dashscope==1.20.11 gradio==5.1.0
-
推荐使用 Python 3.10 或更高版本。您可以通过以下命令查看您的 Python 版本:
- 阿里云百炼 API-KEY:在 Assistant API 的开发场景中,您需要获取并配置阿里云百炼 API-KEY。
完整代码
完整代码
创建智能体与线程
在 Assistant API 中,我们需要两个核心组件来启动对话系统:
-
智能体(Assistant)
智能体是对话系统的大脑,负责理解和处理用户输入。创建智能体时需要配置:
model:选择支持代码执行的模型(如 qwen-plus)name:为智能体命名instructions:定义智能体的行为准则tools:启用代码解释器等工具
- 线程(Thread) 线程用于管理完整的对话上下文,确保对话的连贯性。每个用户会话对应一个独立的线程。
CodeTeachingAssistant 类的初始化方法中配置:
处理对话消息
在 Assistant API 中,处理用户消息是一个异步过程,需要经过多个步骤来完成完整的对话交互。chat方法实现了这个处理流程:
- 发送用户消息 首先,我们需要将用户的输入添加到对话线程中:
- 创建运行实例 创建一个运行实例来处理这条消息:
-
步骤追踪与处理
系统会将智能体的运行过程分解为两种主要步骤:
- 消息创建步骤:当智能体生成文本响应时
- 工具调用步骤:当智能体执行代码时
-
状态监控
系统会持续监控运行状态,直到处理完成或失败:
completed:处理成功完成failed:处理失败,需要重试
- 所有API调用都是异步的,需要适当处理等待时间
- 步骤处理是顺序进行的,确保消息按正确顺序显示
- 错误处理机制确保在处理失败时能够正常退出
创建Web交互界面(可选)
本示例使用 Gradio 框架构建 Web 界面。Gradio 是一个用于构建机器学习演示的 Python 库,它可以:
- 快速创建交互式 Web 界面
- 自动处理异步操作和实时更新
- 提供内置的聊天界面组件
总结
通过这个示例,您已经了解了如何使用代码解释器来创建一个教学智能体。代码解释器可以帮助用户学习编程概念并执行代码。您可以根据自己的需求,进一步扩展和定制这个智能体,以满足不同的教学和学习场景。
关于 Assistant API,您还可以了解:
- 工具调用-知识检索增强:让智能体能够根据您的需求获取外部知识。
- 工具调用-函数调用:让智能体能够根据您的需求自动调用外部函数。
常见问题
- 使用代码解释器会收取额外费用吗? 目前,阿里云百炼预置的代码解释器限时免费。在本文的示例中,智能体运行时产生的所有“code_interpreter”步骤暂不计费。
- 代码解释器支持哪些 Python 软件包? Python 软件包的支持情况可能发生变化,您可以尝试询问示例智能体获取最新的支持信息。
-
代码解释器存在哪些限制?
- 只能执行 Python 代码
- 无法读写外部文件
- 无法安装外部软件包
- 无法访问外部网络
- 计算资源和时长受限
- 如何处理数据文件? 代码解释器目前不支持直接处理数据文件。建议您将数据转换为文本格式,并通过输入框发送到智能体进行处理。
- 如何处理错误信息? 当代码执行失败时,智能体会返回详细的错误信息。请根据错误提示进行相应调整。如果遇到网络不稳定导致的响应延迟或超时,请稍后重试。

