Skip to content

GPT-6 使用指南

本页介绍如何通过 DMXAPI 代理调用 GPT-6 Astra(模型 ID 为 gpt-6-astra),涵盖最小请求、推理强度控制、缓存创建和读取(prompt_cache_key、Chat Completions 调用以及工具调用注意事项。模型能力与参数限制参照 Azure 官方规范,接入地址和鉴权使用 DMXAPI 约定。推理与工具结合的任务使用 Responses API

API 密钥安全

示例中的 sk-*** 为占位符,请替换为自己的 DMXAPI 令牌。真实令牌不要提交到公开仓库、前端代码或日志中。

模型名称

模型
gpt-6-astra

接口地址

接口请求方式URL
Responses APIPOSThttps://www.dmxapi.cn/v1/responses
Chat Completions APIPOSThttps://www.dmxapi.cn/v1/chat/completions

快速入门请求示例

先安装依赖(requests 写法只需 requests,SDK 写法只需 openai):

bash
python -m pip install --upgrade requests openai

以下完整 Python 示例请把 api_key 替换为自己的 DMXAPI 令牌。下面的最小请求只传模型与输入,不显式设置推理强度和最大输出。

python
from openai import OpenAI

api_key = "sk-*******************************************"  # 你的 DMXAPI Key

client = OpenAI(
    api_key=api_key,
    base_url="https://www.dmxapi.cn/v1",
    timeout=180,
    max_retries=0,
)

response = client.responses.create(
    model="gpt-6-astra",
    input="请用三句话解释量子纠缠。",
)

print(response.output_text)
python
import json

import requests

api_key = "sk-*******************************************"  # 你的 DMXAPI Key

response = requests.post(
    "https://www.dmxapi.cn/v1/responses",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-6-astra",
        "input": "请用三句话解释量子纠缠。",
    },
    timeout=180,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2, ensure_ascii=False))

返回示例

以下为结构示意,ID 与用量数值均为合成值;实际响应还可能包含推理项:

json
{
  "id": "resp_example_gpt6_quickstart_001",
  "object": "response",
  "status": "completed",
  "model": "gpt-6-astra",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "量子纠缠描述了多个粒子之间不可独立分割的量子关联。"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 18,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 64,
    "total_tokens": 82
  }
}

推理强度控制

推理等级越高,通常会增加推理用量和延迟,应按自己的任务评测。GPT-6 Astra 的推理档位包括 lowmediumhighxhighmax,其中 max 仅适用于 Responses API。

强度使用建议
low轻量分析,关注延迟
medium可作为常规任务的评测起点
high复杂分析、规划、调试
xhigh高难度、多约束任务
max仅 Responses API;质量优先,需关注延迟和 token 用量

字段与端点规则

以下支持范围按 Azure 的 GPT-6 Astra 规范列出:

接口参数写法支持的推理档位
Responses APIreasoning={"effort": "..."}lowmediumhighxhighmax
Chat Completionsreasoning_effort="..."lowmediumhighxhigh

需要固定推理强度时,请显式传入上表中的值。本文将 medium 作为可选的评测起点,不将其声明为 Azure GPT-6 Astra 的默认档位。

GPT-6 Astra 不支持 none,两个端点都不要使用该值。 Chat Completions 不支持工具调用;需要工具时使用 Responses API,详见后面的“工具调用注意事项”。

参数限制

按照 Azure 不支持的参数说明,GPT-6 Astra 不支持自定义 temperaturetop_p,也不支持 logprobs。本页示例不传这些参数。

按需添加的推理参数

以下只是参数片段,不能作为独立请求运行。需要指定推理强度时,将其加入上面的完整请求:SDK 片段作为调用参数,JSON 片段合并进请求体。high 适用于两个端点。

python
reasoning={"effort": "high"}
json
{
  "reasoning": {
    "effort": "high"
  }
}
python
reasoning_effort="high"

缓存创建和读取(prompt_cache_key)

多轮对话时,每次请求都会带上之前的聊天记录。这些请求开头重复的内容,就叫作“公共前缀”。给这些请求设置相同的 prompt_cache_key,可以帮助它们到达保存了相同前缀缓存的服务节点,提高复用已有缓存的机会。首次请求只有符合服务端条件的前缀才可能写入缓存;后续请求只有命中已有前缀时才会读取缓存。

命中缓存后,模型可以复用前面已经完成的计算,减少处理重复内容的时间。Azure 缓存说明指出,GPT-5.6 及后续模型的缓存读取可享受相应优惠,缓存写入也可能收费。通过 DMXAPI 调用时,实际费用以 DMXAPI 计费规则为准。

参数类型是否必填取值或示例说明
prompt_cache_key字符串"chat-auto-v1"缓存标识,名称自定义;同一段连续对话中保持不变
prompt_cache_options.mode字符串"implicit" / "explicit"默认为 implicit,下方代码使用此模式

Azure 对两种缓存模式的定义如下:

  • implicit:默认模式,在最新消息上设置断点,同时使用请求中提供的显式断点。
  • explicit:仅使用显式断点进行缓存读写;请求没有显式断点时,不进行缓存读写,也不产生缓存写入费用。

chat-auto-v1 是自己起的名字,可以直接照用,也可以换成便于识别的名称。它不是 API 密钥,也不负责保存聊天记录。它是帮助缓存匹配的可选参数。 不传它也可能使用自动缓存;设置它也不保证每次命中,输入前缀仍需匹配,并满足服务端的缓存条件。

多轮对话代码

两种写法的重点都是请求参数里的 prompt_cache_key,取值为 chat-auto-v1。程序从空白聊天开始,每轮只显示模型回答。

python
import requests

# DMXAPI Responses 接口地址
url = "https://www.dmxapi.cn/v1/responses"

# 替换为你自己的 DMXAPI 密钥
api_key = "sk-******************************************"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}",
}


# ==================== 请求参数 ====================
def ask_model(history):
    payload = {
        # 使用的模型名称
        "model": "gpt-6-astra",

        # 本次问题和之前的完整对话
        "input": history,

        # 不保存服务端响应对象;这不会关闭提示词缓存
        # 本示例由 history 保存并传递聊天记录
        "store": False,

        # 请求返回可供后续对话复用的加密推理项
        # 后面随完整输出一起保留即可,无需自行解读
        "include": ["reasoning.encrypted_content"],

        # 缓存标识:帮助共享相同前缀的请求匹配缓存
        # 名称可以自定义;同一对话中保持不变
        "prompt_cache_key": "chat-auto-v1",

        # implicit:自动在最新符合条件的消息末尾设置缓存断点
        "prompt_cache_options": {
            "mode": "implicit"
        },
    }

    response = requests.post(url, headers=headers, json=payload)

    # 非 2xx 状态码直接抛出异常,便于看到错误信息
    response.raise_for_status()
    return response.json()


def extract_text(result):
    """从返回的 output 列表中拼出模型的文本回答"""
    chunks = []
    for item in result.get("output", []):
        if item.get("type") != "message":
            continue
        for part in item.get("content", []):
            if part.get("type") == "output_text":
                chunks.append(part.get("text", ""))
    return "".join(chunks)


# 启动时没有文章,也没有历史对话
history = []

print("自动缓存示例:输入问题后按回车。")
print("输入“清空”重新开始;输入“退出”结束。")

while True:
    question = input("\n你:").strip()

    if question == "退出":
        break

    if question == "清空":
        history = []
        print("已清空当前对话。")
        continue

    if not question:
        continue

    # 把本次问题追加到聊天记录后面
    history.append({
        "role": "user",
        "content": question,
    })

    # 把完整聊天记录发送给模型
    result = ask_model(history)

    # 保留完整输出,下一轮连同之前的问答一起发送
    history.extend(result["output"])

    # 只显示模型回答
    print("\n助手:", extract_text(result))
python
from openai import OpenAI

client = OpenAI(
    # 替换为你自己的 DMXAPI 密钥
    api_key="sk-******************************************",

    # DMXAPI 服务地址
    base_url="https://www.dmxapi.cn/v1",

    # 请求失败时不自动重试
    max_retries=0,
)


# ==================== 请求参数 ====================
def ask_model(history):
    return client.responses.create(
        # 使用的模型名称
        model="gpt-6-astra",

        # 本次问题和之前的完整对话
        input=history,

        # 不保存服务端响应对象;这不会关闭提示词缓存
        # 本示例由 history 保存并传递聊天记录
        store=False,

        # 请求返回可供后续对话复用的加密推理项
        # 后面随完整输出一起保留即可,无需自行解读
        include=["reasoning.encrypted_content"],

        # 缓存标识:帮助共享相同前缀的请求匹配缓存
        # 名称可以自定义;同一对话中保持不变
        prompt_cache_key="chat-auto-v1",

        # 通过 extra_body 把额外参数传给服务端
        extra_body={
            "prompt_cache_options": {
                # implicit:自动在最新符合条件的消息末尾设置缓存断点
                "mode": "implicit"
            }
        },
    )


# 启动时没有文章,也没有历史对话
history = []

print("自动缓存示例:输入问题后按回车。")
print("输入“清空”重新开始;输入“退出”结束。")

while True:
    question = input("\n你:").strip()

    if question == "退出":
        break

    if question == "清空":
        history = []
        print("已清空当前对话。")
        continue

    if not question:
        continue

    # 把本次问题追加到聊天记录后面
    history.append({
        "role": "user",
        "content": question,
    })

    # 把完整聊天记录发送给模型
    response = ask_model(history)

    # 保留完整输出,下一轮连同之前的问答一起发送
    history.extend(response.output)

    # 只显示模型回答
    print("\n助手:", response.output_text)

运行效果

程序运行后,可以连续输入问题。下面仅展示交互形式,实际回答由模型生成

text
你:请帮我制定一个学习 Python 的计划。
助手:<模型给出的学习计划>

你:把第一天的安排详细展开。
助手:<模型根据前面的计划继续回答>

你:每天只有一个小时,应该怎样调整?
助手:<模型结合之前的对话调整计划>

这些请求都使用 chat-auto-v1,并通过 history 保留前面的问答,形成可复用的公共前缀。

Chat Completions API 请求示例

以下为 Chat Completions 的纯文本请求。按照 Azure GPT-6 Astra 规范,此接口不支持工具调用,也不支持 max 推理档位:

python
import json

import requests

api_key = "sk-*******************************************"  # 你的 DMXAPI Key

response = requests.post(
    "https://www.dmxapi.cn/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-6-astra",
        "messages": [
            {
                "role": "user",
                "content": "请用三句话解释量子纠缠。",
            }
        ],
    },
    timeout=180,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2, ensure_ascii=False))

Chat Completions 返回示例

json
{
  "id": "chatcmpl_example_gpt6_quickstart_001",
  "object": "chat.completion",
  "model": "gpt-6-astra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "量子纠缠描述了多个粒子之间不可独立分割的量子关联。"
      },
      "finish_reason": "stop"
    }
  ]
}

工具调用注意事项

按照 Azure 工具调用说明,GPT-6 Astra 的工具调用必须使用 Responses API

Chat Completions 不支持 GPT-6 Astra 的工具调用;由于 Astra 不支持 none,也不能通过设置 reasoning_effort="none" 来启用 Chat 工具。已有 Chat 工具工作流需要迁移到 Responses API。

函数工具调用返回的是函数名称和参数,应用仍需执行相应函数、回传结果,才能完成整个工具流程。

© 2026 DMXAPI GPT-6 使用指南

一个 Key 用全球大模型