Azure OpenAI ServiceのCompletionsモデルであるtext-davinci-003
等のモデルは2024年に廃止され、後継モデルであるgpt-35-turbo-instruct
に移行する必要があります。
そこで、既存のモデルであるtext-davinci-003
から新しいモデルgpt-35-turbo-instruct
に移行した際に、APIの仕様に破壊的変更が無いかを調査してみました。
前提(2024/1時点)
旧モデルtext-davinci-003
および新モデルgpt-35-turbo-instruct
は一部リージョンのみサポートされており、東日本では現在サポートされておりません。本記事ではEast USリージョンを利用しています。
詳細は下記URLをご参照ください。
Request
リクエストは、text-davinci-003
とgpt-35-turbo-instruct
いずれも下記の仕様でした。モデルの移行によるURLやプロパティ名等の変更はありません。
詳細は下記URLをご参照ください。
-
URL
{{openai_base_url}}/openai/deployments/{{completion_deployment_id}}/completions?api-version={{version}}
-
{{openai_base_url}}
: Azure OpenAI Serviceのエンドポイント-
https://<ドメイン>.openai.azure.com
の形式になります
-
-
{{completion_deployment_id}}
: モデルのデプロイ名- 事前にモデルをデプロイする必要があります
-
{{version}}
: APIバージョン
-
-
ヘッダー
-
api-key
: Azure OpenAI ServiceのAPIキー -
Content-Type
:application/json
-
-
リクエストボディ例
{ "prompt": "簡単な一次方程式の問題を1問作って\n", "max_tokens": 1000, "temperature": 0, "frequency_penalty": 0, "presence_penalty": 0, "top_p": 0, "stop": null }
Response
text-davinci-003
およびgpt-35-turbo-instruct
の2つのモデルで上記リクエストでAPIを実行した結果です。
レスポンスに関しても、モデルの移行によるプロパティ名等の変更はありません。
ただし、AIからの回答の内容が異なっております。
text-davinci-003
-
レスポンス
{ "id": "cmpl-83z...", "object": "text_completion", "created": 1695962190, "model": "text-davinci-003", "choices": [ { "text": "\n2x + 3 = 7\n\nx = 2", "index": 0, "finish_reason": "stop", "logprobs": null } ], "usage": { "completion_tokens": 12, "prompt_tokens": 31, "total_tokens": 43 } }
-
回答内容
2x + 3 = 7 x = 2
gpt-35-turbo-instruct
-
レスポンス
{ "id": "cmpl-83z...", "object": "text_completion", "created": 1695963014, "model": "gpt-35-turbo-instruct", "choices": [ { "text": "\n問題:あるクラスの生徒数をx人とすると、男子生徒の数は女子生徒の数の2倍である。男子生徒の数が12人であるとき、女子生徒の数を求めよ。\n\n解答:男子生徒の数を2xとすると、女子生徒の数はx人となる。よって、2x + x = 12となる。これを解くと、x = 4となるので、女子生徒の数は4人である。", "index": 0, "finish_reason": "stop", "logprobs": null } ], "usage": { "completion_tokens": 148, "prompt_tokens": 21, "total_tokens": 169 } }
-
回答内容
問題:あるクラスの生徒数をx人とすると、男子生徒の数は女子生徒の数の2倍である。男子生徒の数が12人であるとき、女子生徒の数を求めよ。 解答:男子生徒の数を2xとすると、女子生徒の数はx人となる。よって、2x + x = 12となる。これを解くと、x = 4となるので、女子生徒の数は4人である。
結論
文章生成モデルをtext-davinci-003
からgpt-35-turbo-instruct
に移行する際、APIの移行による破壊的変更は無いためモデル名を変更するだけで完結します。
ただし回答内容に関しては上記2つのモデルで差異が出るようなので、そちらは適宜プロンプトやパラメータを調整していく必要がありそうです。