はじめに
Azure OpenAI のChatGPT が利用できるようになったので遊んで見ようと思います。
-
ChatGPT is now available in Azure OpenAI Service - Azure のブログ - Microsoft Azure
Today, we are thrilled to announce that ChatGPT is available in preview in Azure OpenAI Service.
azure.microsoft.com
クイックスタートで遊ぶのですがそのままでは動かないので補足
-
Quickstart - Get started using GPT-35-Turbo and GPT-4 with Azure OpenAI Service - Azure OpenAI Service | Microsoft Learn
Walkthrough on how to get started with GPT-35-Turbo and GPT-4 on Azure OpenAI Service.
learn.microsoft.com
ChatGPT プレイグラウンドで遊ぶ
これはいたって簡単です
ChatGPTをデプロイしてそのまま利用してます。
pythonで遊ぶ
WSLの環境で行っています。
pip install openai
何かエラーが出る場合にはpip をアップデートしてください。
pip install --upgrade pip
環境変数を定義します。ポータルから確認します。
echo export OPENAI_API_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE" >> /etc/environment && source /etc/environment
echo export OPENAI_API_BASE="REPLACE_WITH_YOUR_ENDPOINT_HERE" >> /etc/environment && source /etc/environment
ここでREPLACE_WITH_YOUR_ENDPOINT_HERE はhttpsを含んだ形です。
Pythonコードは以下になります。
ドキュメントと異なります。engine には作成時のデプロイメント名を入力します。モデル名ではありません。
#Note: The openai-python library support for Azure OpenAI is in preview. import os import openai openai.api_type = "azure" openai.api_base = os.getenv("OPENAI_API_BASE") openai.api_version = "2022-12-01" openai.api_key = os.getenv("OPENAI_API_KEY") response = openai.Completion.create( engine="ChatGPT", #engine="gpt-35-turbo", prompt="<|im_start|>user\nこんにちは\n<|im_end|>\n<|im_start|>assistant", temperature=1, max_tokens=800, top_p=0.95, frequency_penalty=0, presence_penalty=0, stop=["<|im_end|>"]) print(response['choices'][0]['text'])
「こんにちは」 を入力しています。
これで回答が返ってくると思います。
promptについては下記のようにMessagesに修正した方が良いと思います。
response = openai.Completion.create( engine="ChatGPT", messages = [{"role":"user","content":"こんにちは"}], temperature=1, max_tokens=800, top_p=0.95, frequency_penalty=0, presence_penalty=0, stop=None)
何度か実行すると異なった回答が返ってきます。
本家のOpenAIをは少々フォーマットが異なることも注意です。
モデルの操作については下記も参考にしてください。
-
Azure OpenAI Service の GPT のモデル操作 Chat Completion と ChatML について - 技術的な何か。
はじめに GPT ででモデルを操作する方法としてChat Completion と ChatMLがあります。これはGPTを利用するアプリケーション開発において方向性を決める重要な箇所となります。 これ
level69.net
変数として入力できるようにしましょう。
#Note: The openai-python library support for Azure OpenAI is in preview. import sys import os import openai args = sys.argv openai.api_type = "azure" openai.api_base = os.getenv("OPENAI_API_BASE") openai.api_version = "2022-12-01" openai.api_key = os.getenv("OPENAI_API_KEY") print("-----あなた-----\n"+args[1]) response = openai.Completion.create( engine="ChatGPT", #engine="gpt-35-turbo", prompt="<|im_start|>user\n" + args[1] + "\n<|im_end|>\n<|im_start|>assistant", temperature=1, max_tokens=800, top_p=0.95, frequency_penalty=0, presence_penalty=0, stop=["<|im_end|>"]) print("-----ChatGPT-----"+response['choices'][0]['text'])
会話が成り立っているように思えます。
まとめ
Azure OpenAI のChatGPTで遊びました。これはこれで面白いし応用が色々と効きそうです。