1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Grok APIを使ってみよう! - $150分の無料クレジットで遊んでみる

Posted at

Grok APIでは、データ共有にオプトインすることで毎月$150分の無料APIクレジットを獲得できます。このチュートリアルでは、その無料クレジットを使ってGrok APIの基本的な使い方を説明します。

無料クレジットの取得方法

  1. まず$5の課金が必要です
  2. 課金後、「Share Data」ボタンが表示されます
  3. データ共有にオプトインすると$150分のクレジットが付与されます

注意:一度データ共有を有効にすると、無効にすることはできません。商用利用の場合は別チームを作成することをお勧めします。

それでは、獲得したクレジットを使って実際にAPIを試してみましょう!

セットアップ

まず最初に必要なライブラリをインストールします:

!pip install openai

APIキーの設定

環境変数にAPIキーを設定します:

import os
os.environ["XAI_API_KEY"] = "your_api_key"  # ここに自分のAPIキーを入れてください

基本的な使い方

シンプルなチャット呼び出し

from openai import OpenAI

# クライアントの初期化
client = OpenAI(
    api_key=os.environ["XAI_API_KEY"],
    base_url="https://api.x.ai/v1",
)

# チャット完了APIの呼び出し
completion = client.chat.completions.create(
    model="grok-2-latest",
    messages=[
        {"role": "system", "content": "あなたは親切なアシスタントです。"},
        {"role": "user", "content": "こんにちは!"},
    ]
)

print(completion.choices[0].message)

会話の履歴を含めた例

messages = [
    {"role": "system", "content": "あなたは料理の専門家です。"},
    {"role": "user", "content": "カレーの作り方を教えて"},
    {"role": "assistant", "content": "基本的なカレーの作り方をご説明します:\n1. 玉ねぎ、にんじん、じゃがいもを切ります\n2. 肉を炒めます..."},
    {"role": "user", "content": "玉ねぎの切り方のコツを教えて"}
]

completion = client.chat.completions.create(
    model="grok-2-latest",
    messages=messages
)

print(completion.choices[0].message)

高度な使い方

システムメッセージの柔軟な使用

Grok APIの特徴の1つは、システムメッセージの配置が柔軟なことです:

# 複数のシステムメッセージを使用する例
messages = [
    {"role": "system", "content": "あなたは料理の専門家です。"},
    {"role": "system", "content": "できるだけ簡潔に説明してください。"},
    {"role": "user", "content": "オムライスの作り方を教えて"}
]

completion = client.chat.completions.create(
    model="grok-2-latest",
    messages=messages
)

レスポンスのストリーミング

長い応答を受け取る場合、ストリーミングを使用すると効率的です:

stream = client.chat.completions.create(
    model="grok-2-latest",
    messages=[{"role": "user", "content": "長編小説を書いて"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")

注意点

  1. APIは各リクエストを独立して処理します(ステートレス)
  2. 会話の文脈を維持するには、過去のメッセージを含める必要があります
  3. APIキーの管理には十分注意してください

まとめ

Grok APIは使いやすく柔軟なインターフェースを提供しています。このチュートリアルで基本的な使い方を理解できたと思います。

より詳細な情報は xAIの公式ドキュメント を参照してください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?