🌟

最も手軽にChatGPT APIを呼び出すテンプレート

2023/11/17に公開

Microsoft Azure OpenAIのAPIを利用して、最も手軽にChatGPT APIを呼び出すテンプレート。
Pythonなのであしからず。

テンプレート

コード

import os
import openai

api_endpoint: str = "https://○○○.com/"
api_key: str = "" 
api_version: str = "" # 2023-08-01-previewみたいな

chat_engine: str = "" # デプロイ名

# Azure OpenAIエンドポイントの設定
os.environ['AZURE_OPENAI_ENDPOINT'] = api_endpoint

# OpenAI APIキーの設定
openai.api_key = api_key
openai.api_version = api_version

# APIにリクエスト
response = openai.chat.completions.create(
        model=chat_engine,
        messages=[
            {"role":"system", "content": "You are a helpful assistant."},
            {"role":"user", "content": "Hello! I'm nambaaa."}
        ]
    )

print(response.choices[0].message.content)

出力

Hello, nambaaa! How can I assist you today?

引っ掛けポイント

新旧ジェネレーションギャップ

  • 数多のサンプルコードはopenaiモジュールの古いバージョンを使っていることがあり、その場合現在の呼び出しメソッドとは異なっている。これで普通に1時間くらい困った。embeddingsを利用する人も、新しい方では変わってるので注意。
# 古いバージョン ×
response = openai.ChatCompletion.create()
response = openai.Embedding.create()

# 現行バージョン 〇
response = openai.chat.completions.create()
response = openai.embeddings.create()

初期設定がくせ者

  • 色々試した結果、エンドポイントだけ環境変数に設定して、api_keyとapi_versionはopenaiのパラメータにそのまま入れるだけで良かった。

おわり

Discussion