ターミナルからOpenAI API利用ガイド

コマンドラインでChatGPTを使う手順。


必要なもの

  • OpenAI APIキー
  • curl または Python

手順

01. APIキー取得

OpenAI Platformでアカウント作成、APIキー発行。

02. 環境変数設定

export OPENAI_API_KEY="sk-xxxxx"

永続化:

echo 'export OPENAI_API_KEY="sk-xxxxx"' >> ~/.bashrc
source ~/.bashrc

03. curlでリクエスト

curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [{"role": "user", "content": "こんにちは"}]
  }'

04. レスポンス確認

JSON形式で返ってくる。choices[0].message.contentが応答テキスト。

05. 完了


参考リンク


ここから先は、モデル選択と応用例を解説します。


Q&A - モデル選択

主なモデル

| モデル | 特徴 | コスト | |--------|------|--------| | gpt-4o | 最新・マルチモーダル | 高 | | gpt-4-turbo | 高性能 | 中 | | gpt-3.5-turbo | 高速・安い | 低 |

モデル指定

-d '{"model": "gpt-4o", ...}'

Q&A - パラメータ

温度(創造性)

-d '{
  "model": "gpt-4",
  "temperature": 0.7,
  "messages": [...]
}'
  • 0: 決定的(同じ入力→同じ出力)
  • 1: 創造的(多様な出力)

最大トークン

-d '{
  "model": "gpt-4",
  "max_tokens": 1000,
  "messages": [...]
}'

システムプロンプト

-d '{
  "model": "gpt-4",
  "messages": [
    {"role": "system", "content": "あなたは親切なアシスタントです"},
    {"role": "user", "content": "質問です"}
  ]
}'

Q&A - jqで整形

応答テキストだけ抽出

curl -s https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [{"role": "user", "content": "こんにちは"}]
  }' | jq -r '.choices[0].message.content'

Q&A - シェルスクリプト化

簡単なラッパー

#!/bin/bash

ask-gpt.sh

PROMPT="$1"

curl -s https://api.openai.com/v1/chat/completions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"model\": \"gpt-4\", \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}] }" | jq -r '.choices[0].message.content'

使用:

chmod +x ask-gpt.sh
./ask-gpt.sh "今日の天気は?"


Q&A - エラー対処

「Invalid API key」

  • キーが正しいか確認
  • 環境変数が設定されているか確認: echo $OPENAI_API_KEY

「Rate limit exceeded」

  • 使用量制限に達した
  • 待つか、上限を上げる(有料アカウント)

「Insufficient quota」

  • クレジットが不足
  • Billingで追加

タグ: #OpenAI #ChatGPT #API #ターミナル #LLM
← ターミナルAPIシリーズ一覧へ