OpenAI

コード不要でOpenAIを試すことができるPlaygroundを触ってみた

OpenAI Logo

 

今回はコード不要でOpenAIを試すことができるPlaygroundを触ってみたので紹介したいと思います。どのようなオプションがあるか、どのような出力結果になるかを手軽に試すことができるので、実際にコードを書く前の確認に良さそうです。

この記事は2023/07/22に執筆した記事になります。今後仕様が変わる可能性がある点にご注意ください。

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

アカウント登録から3ヶ月は18ドル分のクレジットが付与されます。

Playground画面

Playgroundの最初の画面は以下のようになります。

Playground最初の画面

Playgroundを利用するにはOpenAIの登録が必要です。

System

Systemには応答の前提を記入することができます。

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

System

User

Userには質問を入力することができます。

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

User

Model

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

Model

Temperature

Temperatureは応答の多様性を調整することができます。

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

Temperature

Maximum Length

Maximum Lengthではレスポンストークンの最大値を設定することができます。

この数値を高くするほど長い文章が、反対に数値が低いほど短い文章が生成されます。

Maximum length

Stop sequences

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

Stop sequences

参考: How do I use Stop Sequences?

Top P

Top pは文脈に応じて生成されるトークンの候補を制限することによって、より多様な応答を得ることを可能にします。

低い値にするほどより確立の高いランダム性の低い単語が返ってきます。

Top P

Top Pについて以下の記事が個人的に分かりやすかったです。

参考: ChatGPTのTop PやTemperatureについて少し知ってみよう

Frequency penalty

Frequency penaltyは、モデルが生成したテキスト内で同じ単語やフレーズを頻繁に繰り返すのを防ぐために使用されます。

これは生成されたテキスト内でトークンが出現するたびに、そのトークンの対数確率に追加される値です。 値が高いほどモデルはトークンの繰り返し使用がより保守的になります。

Frequency penalty

Presence 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で試すこともできます。

Examples

 

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

Grammar correction Open in Playground Playground

参考

OpenAI Playground

 

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