使用阿里云通义千问API实现对话功能

目录

1.作者介绍

2.API调用介绍

[2.1 API调用原理](#2.1 API调用原理)

[2.2 messages对话结构](#2.2 messages对话结构)

3.通仪千问模型

3.1获取API-KEY

3.2调用API

[3.3 调用注意事项](#3.3 调用注意事项)

3.4实验代码

[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.日常任务对话

相关推荐
小马同学-3 小时前
04 容器存储知识点
运维·docker·云计算
小马同学-3 小时前
03 容器网络
运维·云计算
论文复现现场4 小时前
课程作业要跑 PyTorch 训练,学校机房不够用去哪租?云 GPU 选型、环境迁移与防丢数据指南
人工智能·pytorch·深度学习·云计算·gpu·cuda
ai小陈14 小时前
CUDA Stream实战:让数据传输与GPU计算真正重叠
人工智能·深度学习·ai·pdf·云计算·gpu算力
武汉唯众智创14 小时前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
红海云18 小时前
Prompt越长越好吗?何时该停手
云计算
红海云21 小时前
DeepSeek Harness 的插件化边界
云计算
honsor1 天前
工业级网口温湿度变送器 ModbusTCP 机房动环环境监测终端
运维·网络·人工智能·物联网·安全·云计算·智能温湿度监测系统
月落汀兰1 天前
从需求到上线:华为云搭建高可用 Web 站点,ECS/RDS/ELB/AS 组件协同实践
华为云·云计算
月落汀兰1 天前
云上故障怎么排查?华为云 IAM 权限、CES 监控、LTS 日志、CTS 审计完整指南
华为云·云计算