一、API 全套流程总览(必须背下来)
- 导入库
import requests - 配置密钥
从config导入 API Key、接口地址 - 构建请求头
放Authorization鉴权信息 - 构建消息列表
历史消息 + 当前问题拼接 - 发送请求
requests.post() - 解析返回结果
从 JSON 里取出 AI 回答 - 异常处理 + 重试
保证程序稳定 - 更新对话历史
实现多轮对话
# -*- coding: utf-8 -*-""" @Created on : 2026/6/2 9:49 @creator : er_nao @File :day78_api_full_review.py @Description :复盘API全套流程 """# 1. 导入依赖库importrequestsimporttimefromconfigimportTONGYI_API_KEY,TONGYI_API_URL# ===================== 流程1:历史消息拼接 =====================defconcat_history(history,new_question):msg_list=history.copy()msg_list.append({"role":"user","content":new_question})returnmsg_list# ===================== 流程2:发送API请求(含重试) =====================defai_response(messages,temperature=0.7,max_retry=3):# 请求头headers={"Authorization":f"Bearer{TONGYI_API_KEY}","Content-Type":"application/json"}# 请求体data={"model":"qwen-plus","input":{"messages":messages},"temperature":temperature}# 重试机制forretryinrange(max_retry):try:response=requests.post(TONGYI_API_URL,headers=headers,json=data)result=response.json()returnresult["output"]["text"]exceptExceptionase:print(f"第{retry+1}次失败,重试中...")time.sleep(1)return"API调用失败"# ===================== 流程3:更新对话历史 =====================defupdate_history(history,user_text,ai_text):history.append({"role":"user","content":user_text})history.append({"role":"assistant","content":ai_text})returnhistory# ===================== 流程4:完整对话流程 =====================deffull_api_chat():history=[]print("===== API全套流程复盘(输入 退出 结束)=====")whileTrue:user_input=input("你:")ifuser_input=="退出":print("AI:再见!")break# 1. 拼接历史send_msg=concat_history(history,user_input)# 2. 调用APIai_reply=ai_response(send_msg)# 3. 输出结果print("AI:",ai_reply)# 4. 更新历史history=update_history(history,user_input,ai_reply)# 运行全套API流程if__name__=="__main__":full_api_chat()