今回はコード不要でOpenAIを試すことができるPlaygroundを触ってみたので紹介したいと思います。どのようなオプションがあるか、どのような出力結果になるかを手軽に試すことができるので、実際にコードを書く前の確認に良さそうです。
OpenAI Playgroundとは
OpenAI Playgroundは、開発者や研究者がコードを書かずにOpenAIの強力な自然言語処理モデルを試すことができる画期的なツールです。プログラミング言語や環境の制約に縛られることなく、直感的なインターフェースを通じて様々な自然言語のタスクを実行できます。
このPlaygroundでは、GPT-3やその他のOpenAIのモデルを使ってテキスト生成、文章の要約、文章の翻訳、文章の質問応答など、幅広いタスクを試すことができます。短いプロンプトや文章を入力し、モデルがリアルな応答や生成結果を提供してくれます。
またPlaygroundは、その使いやすさに加えてカスタマイズ性にも優れています。ユーザーはモデルの選択肢やテキストの条件設定、出力の制約などを調整することができます。これにより、ユーザーは自身のニーズや実験の目的に合わせてモデルの挙動を調整し、柔軟性のある結果を得ることができます。
Playgroundに送信されたリクエストは、将来のモデルのトレーニングや改善には使用されません。またデフォルトのモデルのトレーニングデータは2021年に打ち切られているため、現在の出来事についての知識がない可能性があります。
利用料金
OpenAIのPlaygroundを利用するにもAPIの料金がかかります。
Multiple models, each with different capabilities and price points. Prices are per 1,000 tokens. You can think of tokens as pieces of words, where 1,000 tokens is about 750 words. This paragraph is 35 tokens.
複数のモデルがあり、それぞれに機能と価格が異なります。価格は1,000トークンあたりの価格です。トークンは単語の断片と考えることができ、1,000トークンは約750単語に相当します。この段落は35トークンです。
参考: Pricing
Playground画面
Playgroundの最初の画面は以下のようになります。

System
Systemには応答の前提を記入することができます。
例えば「あなたはシニアのRubyエンジニアです。あなたは新人エンジニアに向けて分かりやすくコードを教える先生です。文章の語尾に「ハーイ」を付ける特徴があります。」のように前提を入力することができます。

User
Userには質問を入力することができます。
例えば「Helloを3回出力するコードを教えてください。」という質問を記入し、「Submit」を押すことで、質問に対する応答が返されます。

Model
Modelメニューでは使用するモデルを指定します。

Temperature
Temperatureは応答の多様性を調整することができます。
デフォルトの値は1になっており、0〜2の間で調整することができます。数値を高くするほどランダムな応答になります。反対に0に設定すると、同じ質問には同じ回答をするようになります。

Maximum Length
Maximum Lengthではレスポンストークンの最大値を設定することができます。
この数値を高くするほど長い文章が、反対に数値が低いほど短い文章が生成されます。

Stop sequences
Stop sequencesは文やリストの終わりなど、目的の位置でモデルを停止させるために使用されます。

参考: How do I use Stop Sequences?
Top P
Top pは文脈に応じて生成されるトークンの候補を制限することによって、より多様な応答を得ることを可能にします。
低い値にするほどより確立の高いランダム性の低い単語が返ってきます。

Top Pについて以下の記事が個人的に分かりやすかったです。
Frequency penalty
Frequency penaltyは、モデルが生成したテキスト内で同じ単語やフレーズを頻繁に繰り返すのを防ぐために使用されます。
これは生成されたテキスト内でトークンが出現するたびに、そのトークンの対数確率に追加される値です。 値が高いほどモデルはトークンの繰り返し使用がより保守的になります。

Presence penalty
Presence_penaltyは、生成されたテキストに様々なトークンを含めるようモデルを奨励するために使用されます。
これはトークンが生成される度に、トークンの対数確率から減算される値です。 値が高くなると、モデルは生成されたテキストにまだ含まれていないトークンを生成する可能性が高くなります。

コード生成
右上の「View code」をクリックすることで、調整したパラメータに基づいたコードを生成することができます。
Playgroundでパラメータを調整し、その出力結果に問題がなければ、そのままコードに反映できるのは便利ですね。


import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-16k-0613",
messages=[],
temperature=1,
max_tokens=982,
top_p=0.49,
frequency_penalty=0.67,
presence_penalty=0.97
)
Examples
OpenAIではサンプルがいくつか用意されており、Playgroundで試すこともできます。

今回は文法を修正するサンプルである「Grammar correction」を選択してみます。



参考
今回はコード不要でOpenAIを試すことができるPlaygroundを触ってみたので紹介しました。色々なパラメーターを手軽に試すことができ、OpenAIの触りを理解するには十分便利でした。今後OpenAIを使った実装をしたい方、する予定の方は、最初に触ってみることをおすすめします。