EN

指南

聊天

文本输入,文本输出。聊天是 xAI API 上最受欢迎的功能,可用于从总结文章、生成创意写作、回答问题、提供客户支持到协助编码任务的任何事情。grok.cadn.net.cn


  • xAI 帐户:您需要一个 xAI 帐户才能访问 API。
  • API 密钥:确保您的 API 密钥有权访问聊天终端节点,并且已启用聊天模型。

如果您没有这些并且不确定如何创建一个,请按照 Hitchhiker's Guide to Grok 进行作。grok.cadn.net.cn

您可以在 xAI 控制台 API 密钥页面上创建 API 密钥。grok.cadn.net.cn

在您的环境中设置 API 密钥:grok.cadn.net.cn

export XAI_API_KEY="your_api_key"

您还可以流式传输响应,这在 流式响应 中进行了介绍。grok.cadn.net.cn

用户向 xAI API 终端节点发送请求。API 会处理此事件并返回完整的响应。grok.cadn.net.cn

import os
from openai import OpenAI

client = OpenAI(
    api_key="<YOUR_XAI_API_KEY_HERE>",
    base_url="https://api.x.ai/v1",
)

completion = client.chat.completions.create(
    model="grok-2-latest",
    messages=[
        {"role": "system", "content": "You are a PhD-level mathematician."},
        {"role": "user", "content": "What is 2 + 2?"},
    ],
)

print(completion.choices[0].message)

响应:grok.cadn.net.cn

ChatCompletionMessage(
    content='2 + 2 equals 4.',
    refusal=None,
    role='assistant',
    audio=None,
    function_call=None,
    tool_calls=None
)

xAI API 是无状态的,不会使用您之前请求历史记录的上下文处理新请求。grok.cadn.net.cn

但是,您可以向新的聊天生成请求提供以前的聊天生成提示和结果,让模型在处理您的新请求时考虑到上下文。grok.cadn.net.cn

示例消息:grok.cadn.net.cn

{
  "role": "user",
  "content": [{ "type": "text", "text": "Why don't eggs tell jokes?" }]
},
{
  "role": "assistant",
  "content": [{ "type": "text", "text": "They'd crack up!" }]
},
{
  "role": "user",
  "content": [{"type": "text", "text": "Can you explain the joke?"}],
}

此策略可用于函数调用,其中模型响应将调用工具调用,用户的程序响应工具调用,并通过将工具调用结果附加到消息来继续对话。有关更多详细信息,请查看我们的 函数调用指南grok.cadn.net.cn


与其他提供商的某些模型不同,xAI API 的一个独特之处在于它在消息角色方面的灵活性:grok.cadn.net.cn

  • 无订单限制:您可以混合system,userassistant角色。

示例 1 - 多个系统消息:grok.cadn.net.cn

[
{"role": "system", "content": "..."},
{"role": "system", "content": "..."},
{"role": "user", "content": "..."},
{"role": "user", "content": "..."}
]

示例 2 - 用户消息优先:grok.cadn.net.cn

{"role": "user", "content": "..."},
{"role": "user", "content": "..."},
{"role": "system", "content": "..."}

您可以在请求中自定义以下参数,以获得不同的生成结果。grok.cadn.net.cn

请求正文

构成聊天对话的消息列表。不同的模型支持不同的消息类型,例如图像和文本。grok.cadn.net.cn

要使用的模型的模型名称。grok.cadn.net.cn