You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式下载Azure OpenAI的完整聊天历史?

获取Azure OpenAI完整聊天历史的编程实现方案

核心逻辑说明

Azure OpenAI的聊天接口不会自动存储聊天历史,所有对话上下文需要你在客户端或服务端自行维护。后续每次调用API时,必须将完整的对话历史(包含用户和助理的所有消息)作为messages参数传入,才能让模型延续对话逻辑。

编程实现步骤

  • 初始化对话历史:创建数组存储消息,可按需加入系统提示
    chat_history = [
        {"role": "system", "content": "你是专业技术助手"}
    ]
    
  • 追加用户输入:将用户每次发送的消息加入历史数组
    user_input = "如何获取聊天历史?"
    chat_history.append({"role": "user", "content": user_input})
    
  • 调用Azure OpenAI API:传入完整的聊天历史数组
    from openai import AzureOpenAI
    
    client = AzureOpenAI(
        azure_endpoint="你的Azure OpenAI端点",
        api_key="你的API密钥",
        api_version="2024-02-15-preview"
    )
    
    response = client.chat.completions.create(
        model="你的部署模型名称",
        messages=chat_history
    )
    
  • 保存助理回复:将API返回的助理消息追加到历史数组,完成一轮对话
    assistant_response = response.choices[0].message.content
    chat_history.append({"role": "assistant", "content": assistant_response})
    
  • 持久化存储(可选):若需长期保存,可将chat_history存入数据库(如Azure Cosmos DB)或本地文件

关键注意事项

  • 官方明确要求客户端自行维护对话上下文,不要依赖Azure OpenAI服务端存储聊天历史
  • 每次API请求必须传入完整的对话历史,否则模型无法理解之前的对话内容
  • 注意API的token上限,过长的聊天历史可能触发超限,需按需做上下文截断(如保留最近N轮对话)

内容的提问来源于stack exchange,提问作者Intelligence6

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:53:10