目录
[2.1 API调用原理](#2.1 API调用原理)
[2.2 messages对话结构](#2.2 messages对话结构)
[3.3 调用注意事项](#3.3 调用注意事项)
[3.5 实验结果](#3.5 实验结果)
1.作者介绍
李雨杭,男,西安工程大学电子信息学院,2025级研究生
研究方向:电力系统无功补偿控制策略
电子邮件:1713457379@qq.com
2.API调用介绍
2.1 API调用原理
API是应用程序接口,程序可以通过接口调用云端服务。在本项目中,Python程序通过OpenAI兼容接口访问阿里云百炼平台。用户在终端输入问题后,程序会把问题封装成messages消息列表,然后发送给通义千问模型。通义千问模型在云端完成推理后,把生成的结果返回给 Python 程序。程序从返回结果中提取回答内容,并打印到终端。整个调用过程可以概括为:用户输入问题 → Python程序封装请求 → 调用通义千问 API → 云端模型生成回答 → 程序输出结果。

2.2 messages对话结构
通义千问API使用messages列表保存对话内容。messages中的每条消息都包含role和content两个字段。其中role表示消息角色,content表示具体文本内容。常见的role有三种:system、user和assistant。system用于设定助手身份、回答语气和任务边界;user表示用户输入的问题;assistant表示模型生成的回答。程序每进行一轮对话,都会把用户问题和模型回答保存到messages中,因此下一轮调用API时,模型可以参考前面的对话内容,实现多轮连续对话

3.通仪千问模型
Qwen3.6-Plus是阿里云通义千问于2026年4月2日发布的新一代旗舰大模型,可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。主打超强编程+100万超长上下文+原生多模态+智能体执行+极致性价比。
3.1获取API-KEY
1.访问阿里云百炼页面,注册并登录阿里云账号。

2.地区选择华北2(北京),并进行支付宝实名认证。
3.点击大模型,选择Qwen3.6-Plus,点击模型调试。

4.把右侧箭头处的代码复制下来,在VSCode中会用。
5.点击左下角的API-Key,创建新的API-Key,妥善保存生成的API-Key。

3.2调用API
1.打开CMD终端,创建qwen环境并激活,输入conda activate qwen。

2.在这个终端里输入:python -m pip install -U openai,安装库。

3.检查一下这个库是否安装成功:python -c "import openai; print('openai库安装成功')"。

4.设置API-Key: set DASHSCOPE_API_KEY=自己的API_KEY。
5.把代码复制进Python,出现对话框就表示,调用成功。

3.3 调用注意事项
Python版本应该高于3.10,低的话则无法下载相应的openai版本。
直接打开CMD终端,因为PowerShell脚本执行策略可能阻止profile。
3.4实验代码
python
# 导入 os 模块,用于读取系统环境变量
import os
# 从 openai 库中导入 OpenAI
from openai import OpenAI
# 创建 API 客户端对象
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
# 定义 messages 列表,用来保存对话历史
messages = [
{"role": "system", "content": "你是一个友好、耐心的中文助手。"}
]
print("通义千问对话程序已启动,输入 exit 退出。")
# 使用 while True 创建循环,使程序可以持续进行多轮对话
while True:
user_input = input("\n你:").strip()
if user_input.lower() in ["exit", "quit", "q"]:
print("程序结束。")
break
messages.append({"role": "user", "content": user_input})
# 调用通义千问 API,向模型发送当前对话历史,并获取模型回复
response = client.chat.completions.create(
model="qwen3.6-plus",
messages=messages,
temperature=0.7,
top_p=0.8,
extra_body={"enable_thinking": False},
)
answer = response.choices[0].message.content
print("\n千问:", answer)
# 将模型回答加入 messages 对话历史
# role 为 assistant,表示这条消息来自 AI 助手
# 保存后,下一轮提问时模型可以参考前面的上下文
messages.append({"role": "assistant", "content": answer})
3.5 实验结果
1.询问你是什么模型:

2.日常任务对话

