> ## Documentation Index
> Fetch the complete documentation index at: https://docs.geekai.co/llms.txt
> Use this file to discover all available pages before exploring further.

# 后台模式

### 什么是后台模式

后台模式是指在对话过程中，用户可以选择不立即等待模型的回复，而是让模型在后台处理请求，稍后再获取结果。这种模式适用于需要较长时间处理的任务，如画图、复杂推理、深度研究或多轮对话等。

<Note>
  典型的耗时任务模型如下：

  * `o1`
  * `o1-pro`
  * `o3`
  * `o3-pro`
  * `gpt-5` 复杂推理
  * `gpt-5-pro`
  * `gpt-5-codex`
  * `gemini-2.5-flash` 复杂推理
  * `gemini-2.5-flash-image`
  * `gemini-2.5-pro`
  * 所有模型ID中带 `sonar` 前缀的[对话模型](https://geekai.co/models?platform=perplexity)（需要联网搜索）
  * 所有模型ID中带 `thinking` 后缀的推理模型（注意不是 `no-thinking`），如 Claude、DeepSeek 等
  * 所有模型ID中带 `search` 字样的联网搜索对话模型
  * 所有模型ID中带 `research` 字样的深度研究推理模型
  * OpenAI 系列使用了[搜索](https://docs.geekai.co/cn/docs/chat/web_search)（`web_search`）、[画图](https://docs.geekai.co/cn/docs/chat/draw)（`image_generation`）工具的对话模型
  * 所有其他内置联网搜索并开启以及使用了外部搜索工具的对话模型
  * 所有其他在对话中支持画图、语音的对话模型

  当然如果你在使用其他对话模型时觉得响应较慢，也可以使用后台模式。

  目前仅对话完成接口非流式对话支持后台模式，画图、视频模型可以通过对应的异步模式实现后台模式。
</Note>

### 启用后台模式对话

要使用后台模式，您需要在对话请求中设置 `background` 参数为 `true`。以下是一个示例请求：

<CodeGroup>
  ```bash curl theme={null}
  curl --location --request POST 'https://geekai.co/api/v1/chat/completions' \
  --header 'Authorization: Bearer $GEEKAI_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
      "model": "gemini-2.5-pro",
      "messages": [
          {
              "role": "user",
              "content": "你好，请向一个小学生解释什么是宇称不守恒定律"
          }
      ],
      "background": true
  }'
  ```

  ```bash go theme={null}
  package main

  import (
  	"bytes"
  	"encoding/json"
  	"fmt"
  	"io"
  	"net/http"
  )

  func main() {
  	requestBody := map[string]interface{}{
  		"model": "gemini-2.5-pro",
  		"messages": []interface{}{
              map[string]interface{}{
                  "role": "user", 
                  "content": "你好，请向一个小学生解释什么是宇称不守恒定律",
                  "background": true
              },
          }
  	}
  	
  	jsonData, err := json.Marshal(requestBody)
  	if err != nil {
  		panic(err)
  	}

  	client := &http.Client{}
  	req, err := http.NewRequest("POST", "https://geekai.co/api/v1/chat/completions", bytes.NewBuffer(jsonData))
  	if err != nil {
  		panic(err)
  	}

  	req.Header.Set("Authorization", "Bearer $GEEKAI_API_KEY")
  	req.Header.Set("Content-Type", "application/json")

  	resp, err := client.Do(req)
  	if err != nil {
  		panic(err)
  	}
  	defer resp.Body.Close()

  	body, err := io.ReadAll(resp.Body)
  	if err != nil {
  		panic(err)
  	}

  	fmt.Println(string(body))
  }
  ```
</CodeGroup>

目前仅对话完成接口非流式对话支持后台模式，所以不同同时设置 `stream` 和 `background` 为 `true`，否则会导致请求失败：

```json theme={null}
{
    "message": "only non-stream chat support background mode"
}
```

### 获取后台模式结果

一旦发起了一个后台模式的请求，将收到一个响应，其中包含一个唯一的 `id` 用于标识本次对话任务：

```json theme={null}
{
    "id": "4ec88c8a-9ef9-496d-bec8-711521a1c693",
    "status": "pending",
    "created": 1761375639,
    "model": "gemini-2.5-pro",
    "object": "chat.completion"
}
```

你可以使用这个 `id` 通过[对话结果查询接口](https://docs.geekai.co/cn/api/chat/result)查询任务的状态和结果：

```bash theme={null}
curl --location --request GET 'https://geekai.co/api/v1/chat/{id}' \
--header 'Authorization: Bearer $GEEKAI_API_KEY'
```

将上面接口路径中的 `{id}` 替换为你收到的任务 `id` 发起查询请求即可，在本例中，就是 `4ec88c8a-9ef9-496d-bec8-711521a1c693`。查询结果可能有以下几种状态：

* `pending`：任务仍在排队中
* `running`：任务正在处理中
* `succeed`：任务处理成功

如果任务执行成功，则响应和非后台模式的对话完成接口响应格式相同：

```json theme={null}
{
    "id": "4ec88c8a-9ef9-496d-bec8-711521a1c693",
    "status": "succeed",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "嗨，小朋友你好！\n\n我们来玩一个“镜子世界”的游戏，你很快就能明白什么是“宇称不守恒定律”啦。\n\n### 第一步：认识我们的“镜子世界”\n\n你照过镜子吗？镜子里有一个和你长得一模一样，但是左右相反的你，对不对？\n\n*   你举起**右手**，镜子里的你举起了**左手**。\n*   你朝**东**边跑，镜子里的你朝**西**边跑。\n\n现在，我们假装有一个“镜子法则”，这个法则是说：**在我们的世界里能发生的事情，在镜子里的世界也一定能发生，而且看起来很正常。**\n\n比如：\n*   你把一个苹果扔到空中，它会掉下来。镜子里的你扔一个“镜子苹果”，它也会掉下来。这个法则没问题。\n*   你让一个陀螺顺时针转，镜子里的陀螺就会逆时针转。这也很正常，因为陀螺本来就可以逆时针转。这个法则也没问题。\n\n在很长一段时间里，所有最厉害的科学家都认为，这个“镜子法则”在宇宙的任何地方都是绝对正确的。他们给这个法则起了一个很酷的名字，叫**“宇称守恒”**。\n\n*   **“宇称”**，你就可以把它想象成“宇宙的左右对称性”。\n*   **“守恒”**，就是“保持不变”的意思。\n\n所以，“宇称守恒”就是说：**宇宙和它在镜子里的样子，遵守的是同一套规则，没有区别。**\n\n### 第二步：发现一个惊天大秘密！\n\n但是！有一天，一位非常非常聪明的女科学家，叫做**吴健雄**（你可以叫她吴奶奶），和她的同事们做了一个实验。\n\n他们观察了一些比灰尘还要小上亿万倍的“小不点”（我们叫它“粒子”）的行为。然后，他们发现了一个让所有人都惊掉下巴的秘密！\n\n他们发现，有一种小不点在“发射”更小的“小不点子弹”时，**总是喜欢朝着一个固定的方向发射**。\n\n这就好像一个神奇的陀螺：\n\n*   **在我们的世界里**，这个神奇的陀螺一边**顺时针**旋转，一边**向上**发射子弹。\n*   **在镜子世界里**，这个陀螺就应该一边**逆时针**旋转，一边**向上**发射子弹。\n\n但是吴奶奶的实验发现，这种神奇的陀螺**只会**“顺时针转+向上发射”，它**从来不会**“逆时针转+向上发射”！\n\n这一下，“镜子法则”就被打破了！因为在镜子世界里发生的事情，在我们的现实世界里根本找不到！\n\n这就说明，我们的宇宙其实有点“偏心”！在微观世界里，它并不是完全左右对称的。\n\n### 总结一下\n\n所以，**宇称不守恒定律**说的就是：\n\n**在微观小世界里，宇宙有时候会“耍赖皮”，它和它在镜子里的样子，遵守的规则不完全一样。我们的世界里发生的一些事情，在镜子世界里是永远不会发生的。**\n\n简单说，就是那个“镜子法则”（宇称守恒）被打破了，所以就叫**“宇称不守恒”**。\n\n这个发现非常了不起，因为它告诉我们，宇宙比我们想象的还要奇妙和神秘。说不定，等你长大了，也能发现宇宙的更多秘密呢！"
            },
            "finish_reason": "stop"
        }
    ],
    "model": "gemini-2.5-pro",
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 15,
        "completion_tokens": 788,
        "total_tokens": 2526,
        "completion_tokens_details": {
            "reasoning_tokens": 1723
        }
    }
}
```

按照非流式对话完成接口进行 JSON 反序列化即可获取响应结果。

<Note>
  任务结果默认会保留 7 天，7 天后任务结果将被自动删除，请及时查询和保存结果。
</Note>

如果任务执行失败，则错误响应和原来非流式对话完成接口响应格式相同，你可以根据错误码和错误信息进行排查和处理。
