简介

xAI Grok 是一个强大的 AI 对话系统,能够通过输入提示在几秒钟内生成流畅自然的回复。Grok 以其独特的幽默风格和实时的网络信息检索能力在行业中脱颖而出。如今,Grok 已在多个创新领域崭露头角,其影响力正在迅速扩大。无论是日常对话、创意写作,还是技术分析与代码调试,Grok 都能提供深入的智能辅助,为用户的决策和创作带来新的维度。

本文主要介绍 Grok Chat Completion API 的使用流程,使我们能够轻松利用官方 Grok 对话功能。

环境准备/前置条件

在使用 Grok Chat Completion API 之前,请确保您已注册并登录到 Ace Data Cloud

详细步骤

1. 申请 API 凭证

首先,您可以访问 Grok Chat Completion API 页面并点击“获取”按钮以获取请求所需的凭证:

如果您尚未登录或注册,系统会自动重定向到登录页面邀请您注册并登录。登录或注册后,您将自动返回当前页面。

首次申请时,系统将提供免费额度,您可以免费使用 API。

2. 基本用法

接下来,您可以在界面上填写相应的内容,如下图所示:

使用此界面时,您需要至少填写三个内容:一个是authorization,可以直接从下拉列表中选择;另一个是model,即我们选择使用的 Grok 官方模型类别。这里主要有 8 种模型,具体可查阅我们提供的模型。最后一个参数是messages,它是我们输入问题的数组。该数组允许同时上传多个问题,每个问题包含rolecontentrole表示提问者的角色,我们提供三种身份:userassistantsystemcontent是我们问题的具体内容。

您还会注意到右侧有相应的代码生成,您可以直接复制代码运行,或点击“尝试”按钮进行测试。

常见可选参数:

  • max_tokens:限制单个回复的最大 token 数量。
  • temperature:生成的随机性,范围在 0-2 之间,数值越大越发散。
  • n:一次生成多少个候选回复。

调用后,返回的结果如下:

{
  "id": "foaicmpl-13936918-cb99-49e1-b94c-bde98b482ed4",
  "model": "grok-3",
  "object": "chat.completion",
  "created": 1755839683,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Yo! What's up? 😎 Ready to dive into whatever you're pondering about today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 20,
    "total_tokens": 28,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null
  }
}

返回的结果包含多个字段,具体描述如下:

  • id:该对话任务生成的 ID,用于唯一标识该对话任务。
  • model:所选择的 Grok 官方模型。
  • choices:Grok 对问题提供的回复信息。
  • usage:关于该问答的 token 统计信息。

其中,choices 包含 Grok 的回复信息,choices 内的内容显示了 Grok 的具体回复信息,如下图所示。

可以看到,choices 内的 content 字段包含了 Grok 的回复具体内容。

3. 流式响应

该接口还支持流式响应,这对于网页集成非常有用,允许网页实现逐字显示的效果。

如果您希望以流式方式返回响应,可以将请求头中的 stream 参数改为 true

修改如下图所示,但调用代码需要相应的更改以支持流式响应。

stream 修改为 true 后,API 将逐行返回相应的 JSON 数据,我们需要在代码层面进行相应的修改以获取逐行结果。

Python 示例调用代码:

import requests

url = "https://api.acedata.cloud/grok/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "grok-3",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

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

输出效果如下:

data: {"id": "foaicmpl-503ab14f-3f22-46ab-9f91-3fb44773be38", "object": "chat.completion.chunk", "created": 1755839790, "model": "grok-3", "system_fingerprint": null, "choices": [{"delta": {"role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null} 

data: {"id": "foaicmpl-503ab14f-3f22-46ab-9f91-3fb44773be38", "object": "chat.completion.chunk", "created": 1755839790, "model": "grok-3", "system_fingerprint": null, "choices": [{"delta": {"content": "Yo, "}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null} 

...(中间省略部分)...

data: {"id": "foaicmpl-503ab14f-3f22-46ab-9f91-3fb44773be38", "object": "chat.completion.chunk", "created": 1755839790, "model": "grok-3", "system_fingerprint": null, "choices": [{"delta": {"content": "toda"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null} 

data: {"id": "foaicmpl-503ab14f-3f22-46ab-9f91-3fb44773be38", "object": "chat.completion.chunk", "created": 1755839790, "model": "grok-3", "system_fingerprint": null, "choices": [{"delta": {"content": "y?"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null} 

data: {"id": "foaicmpl-503ab14f-3f22-46ab-9f91-3fb44773be38", "object": "chat.completion.chunk", "created": 1755839790, "model": "grok-3", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null}} 

data: [DONE]

可以看到,响应中有多个 `data

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐