Python | OpenAIのAPIを実装するサンプルコード
PythonでOpenAIのAPIを実装するサンプルコードになります。
サンプルコードではChatGPTに搭載されているAIモデル「GPT-3」を利用しています。
OpenAIのAPIを実装するサンプルコード
Pythonで動作させるのに最低限必要なものは、OpenAIのAPIキーと問い合わせるキーワードやメッセージになります。
関連:OpenAI | APIキーを取得する方法 | ONE NOTES
また、以下のサンプルコードでは「requests」と「json」ライブラリを利用しています。
import requests
import json
def send_prompt(prompt=''):
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
# promptがない場合
if not prompt:
return
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + API_KEY
}
data = {
'model': 'text-davinci-003',
# 'model': 'text-curie-001', # 動作テスト用(料金的に)
'prompt': prompt,
"max_tokens": 150, # 出力される文章量の最大値(トークン数) max:4096
"temperature": 1, # 単語のランダム性 min:0.1 max:2.0
"top_p": 1, # 単語のランダム性 min:-2.0 max:2.0
"frequency_penalty": 0.0, # 単語の再利用 min:-2.0 max:2.0
"presence_penalty": 0.6, # 単語の再利用 min:-2.0 max:2.0
"stop": [" Human:", " AI:"] # 途中で生成を停止する単語
}
response = requests.post('https://api.openai.com/v1/completions', headers=headers, data=json.dumps(data))
# レスポンス受け取り後の処理
response_data = response.json()
print(response_data['choices'][0]['text'].strip())
prompt = '' # 送信するテキスト
send_prompt(prompt)
上記のサンプルコードを実行した場合、以下のような結果が得られました。
prompt = 'こんにちわ、お元気ですか?' # 送信するテキスト
send_prompt(prompt)
# 元気です!ありがとうございます。
OpenAI APIのパラメータについて
各種パラメータを設定していますが、チャットによる会話がメインとなる場合のパラメータ設定になっています。
例えば、翻訳にしたい場合は「temperature」を「0.1」、「top_p」を「-2」にると決まった結果を得やすくなります。
また、目的が翻訳であれば「model」を「text-curie-001」にしても十分に機能します。
「text-curie-001」ならAPIの利用料金が10分の1になります。
関連:OpenAI | APIの利用料金と無料分など、ChatGPTモデルは高額になりやすい? | ONE NOTES
ディスカッション
コメント一覧
まだ、コメントがありません