🐶

xAIのGrok APIを使ってみた【備忘録】

2025/02/19に公開

はじめに

xAI の Grok API を使ってみたので、その備忘録。ドキュメントも迷子になりそうだったので、一旦リンクを貼っておきます。

基本的には OpenAI のクライアントライブラリ、または Anthropic のクライアントライブラリを使用することで、API を利用できます。
マルチモーダル部分についても、インタフェースはほぼ変わらないようです。

スニペット

簡単にですが、以下にサンプルコードを記します。
テキスト生成速度が早く、日本語にも対応できているようには感じます。
知識は 2025 年 2 月現在では少し古いような感じがします。

from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()

def main():
    client = OpenAI(
        api_key=os.getenv("XAI_API_KEY"),
        base_url="https://api.x.ai/v1",
    )

    response = client.chat.completions.create(
        model="grok-2-latest",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": [
                {"type": "text", "text": "今のアメリカの大統領は誰ですか?"},
                ]
            },
        ],
        stream=True,
    )

    result = ""
    for chunk in response:
        if chunk.choices[0].delta.content is not None:
            result += chunk.choices[0].delta.content
            print(result)

if __name__ == "__main__":
    main()

おわりに

Grok API は、テキスト生成に特化した API で、日本語にも対応しているようです。
イーロンマスクは OpenAI を批判している割に、クライアントライブラリは OpenAI のものを使用しているのは、なにか違和感がありますね。
Console は、必要十分なものが備わっているような印象がありますが、Playground が見当たらないですね。
まだまだ X からの引っ越し先が見当たらない現在としては、テキスト資源の潤沢さはこれからの Grok の一つ強みになりそうな感じを個人的に感じています。

参考

リバナレテックブログ

Discussion