目次
はじめに
Pythonを使ってWordPressの記事投稿ができるようになったので、
次のステップとして「OpenAI API」の使い方、特に主要な引数の意味と役割を整理して勉強しました。
今回は、openai.Completion.create()
で使用する代表的な引数を中心に、
私が実際に調べて理解したことをまとめておきます。
OpenAI APIの基本構文(Completion API)
openai.Completion.create(
engine="text-davinci-002",
prompt=None,
temperature=0.5,
max_tokens=2048,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
stop=None,
n=1,
stream=False,
logprobs=None,
echo=False,
user=None,
model=None,
model_owner=None,
organization=None,
parameters=None,
metadata=None,
)
このように、多くのパラメータがありますが、すべてを毎回使う必要はありません。
各引数の意味と役割
引数 | 説明 |
---|---|
engine | 使用するモデル名(例:text-davinci-002 )。モデルによって性能や応答が異なります。 |
prompt | モデルに渡す入力テキスト。会話の前提や質問の内容を書きます。 |
temperature | 応答の“ランダム性”を調整。0に近いと一貫性重視、1に近いと自由度が高くなります。 |
max_tokens | 生成されるトークン(単語・記号など)の最大数を指定します。 |
top_p | 確率上位何パーセントからトークンをサンプリングするか(nucleus sampling)。 |
frequency_penalty | 同じ語の繰り返しを抑えるためのペナルティ値。 |
presence_penalty | 新しい話題や単語を導入させるかどうかの指標。 |
stop | 指定した文字列に達したら出力を止めるように制御できます(例:[“\n”])。 |
n | 応答を何個生成するか(通常は1)。 |
stream | 出力をリアルタイムでストリーミングするかどうか。 |
logprobs | 各トークンの確率情報を取得するための設定(デバッグ用途向け)。 |
echo | プロンプトを応答に含めるかどうか。 |
user , model , organization | 利用者や所属組織の識別。必要に応じて指定。 |
parameters , metadata | 拡張パラメータやAPIに付随するメタ情報(基本的には使いません)。 |
実際に使ってみた所感
すべての引数を一度に覚えるのは大変でしたが、
よく使うのは prompt
, temperature
, max_tokens
, stop
あたりです。
私自身、まだいまいち意味があやふやな部分もあるので、
これからいろいろ数値を変えながら試して、理解を深めていきたいと思います。
注意点:APIバージョンとドキュメントの確認を
引数の内容や使用方法は、OpenAI APIのバージョンによって変更される可能性があります。
実践前に確認しておくべきポイント:
- 公式ドキュメントをこまめに確認する(OpenAI API Reference)
- 利用するモデル(例:
text-davinci-002
,gpt-3.5-turbo
,gpt-4
)ごとに対応引数が異なることがある - 使用可能な引数が変更・削除される場合もあるため、常に最新版の情報を参照することが大切
まとめ
PythonからWordPress記事が投稿できるようになったあと、
さらにChatGPTの機能を活用したくなったら、OpenAI APIの使い方を知ることが非常に重要です。
今回学んだこと:
Completion.create()
の主な引数の意味- よく使うパラメータは
prompt
,temperature
,max_tokens
,stop
など - 試行錯誤しながら、出力内容を調整していくことがポイント
今後は、生成結果をそのままWordPressに投稿するなど、
より実用的な自動化につなげていきたいと考えています。