課題は、OpenAI、Azure、Hugging Faceなどのサポートされているサービスプロバイダーを通じて、1つ以上の大規模言語モデル(LLM)展開に対して動作するように設定することも可能です。これらは、適切な認証情報(APIキーまたはトークン)を使ってプログラム的にアクセスできる_ホストされたエンドポイント_(API)を提供します。このコースでは、以下のプロバイダーについて説明します:
- OpenAI は、コアのGPTシリーズを含む多様なモデルを提供。
- Azure OpenAI は、エンタープライズ対応に重点を置いたOpenAIモデル。
- Hugging Face は、オープンソースモデルと推論サーバーを提供。
これらの演習にはご自身のアカウントを使用する必要があります。課題は任意なので、興味に応じて1つ、すべて、またはどれも設定しないことができます。サインアップのためのガイダンスは以下の通りです:
| サインアップ | 料金 | APIキー | プレイグラウンド | コメント |
|---|---|---|---|---|
| OpenAI | 料金 | プロジェクトベース | ノーコード、Web | 複数モデル利用可能 |
| Azure | 料金 | SDKクイックスタート | スタジオクイックスタート | アクセスには事前申請が必要 |
| Hugging Face | 料金 | アクセストークン | Hugging Chat | Hugging Chatはモデルが限定的 |
以下の指示に従って、このリポジトリを異なるプロバイダーで使用するために_設定_してください。特定のプロバイダーを必要とする課題は、ファイル名に以下のタグのいずれかが含まれます:
aoai- Azure OpenAIのエンドポイントとキーが必要oai- OpenAIのエンドポイントとキーが必要hf- Hugging Faceのトークンが必要
1つ、またはすべて、あるいはどれも設定可能です。関連する課題は認証情報が不足しているとエラーになります。
上記のガイダンスを読み、該当するプロバイダーにサインアップし、必要な認証情報(API_KEYまたはトークン)を取得済みであることを前提とします。Azure OpenAIの場合は、少なくとも1つのGPTモデルがチャット完了用に展開されたAzure OpenAIサービス(エンドポイント)が有効であることも前提とします。
次のステップは、ローカル環境変数を以下のように設定することです:
-
ルートフォルダーにある
.env.copyファイルを探します。内容は以下のようになっています:# OpenAI プロバイダー OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # デフォルトが設定されています! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
下記コマンドでそのファイルを
.envにコピーします。このファイルは_gitignore_されており、秘密情報を安全に保ちます。cp .env.copy .env
-
次のセクションで説明するように、値を入力してください(
=の右側のプレースホルダーを置き換えます)。 -
(オプション)GitHub Codespacesを使用している場合、このリポジトリに関連付けられた_Codespacesシークレット_として環境変数を保存することもできます。その場合、ローカルの.envファイルを設定する必要はありません。ただし、このオプションはGitHub Codespacesを使用している場合のみ有効です。 Docker Desktopを使用している場合は、引き続き.envファイルの設定が必要です。
変数名が何を表しているか簡単に見てみましょう:
| 変数名 | 説明 |
|---|---|
| HUGGING_FACE_API_KEY | プロファイルで設定したユーザーアクセストークン |
| OPENAI_API_KEY | 非Azure OpenAIエンドポイント用の認証キー |
| AZURE_OPENAI_API_KEY | Azure OpenAIサービス用の認証キー |
| AZURE_OPENAI_ENDPOINT | Azure OpenAIリソースの展開済みエンドポイント |
| AZURE_OPENAI_DEPLOYMENT | _テキスト生成_モデルの展開エンドポイント |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | _テキスト埋め込み_モデルの展開エンドポイント |
注:最後の2つのAzure OpenAI変数は、それぞれチャット完了(テキスト生成)とベクトル検索(埋め込み)用のデフォルトモデルを反映しています。設定方法は関連課題で説明されます。
Azure OpenAIのエンドポイントとキーはAzureポータルで確認できるので、まずはそこから始めましょう。
- Azureポータルにアクセス
- サイドバー(左メニュー)のキーとエンドポイントをクリック
- キーの表示をクリックすると、KEY 1、KEY 2、エンドポイントが表示されます
- KEY 1の値をAZURE_OPENAI_API_KEYに使用
- エンドポイントの値をAZURE_OPENAI_ENDPOINTに使用
次に、展開した特定モデルのエンドポイントを取得します。
- Azure OpenAIリソースのサイドバー(左メニュー)でモデル展開をクリック
- 表示されたページで展開の管理をクリック
これによりAzure OpenAI Studioのウェブサイトに移動し、以下で説明する他の値を確認できます。
- 上記のようにAzure OpenAI Studioにリソースからアクセス
- サイドバー(左)で展開タブをクリックし、現在展開されているモデルを表示
- 希望のモデルが展開されていなければ、新しい展開の作成で展開
- _テキスト生成_モデルが必要です - 推奨は gpt-35-turbo
- _テキスト埋め込み_モデルが必要です - 推奨は text-embedding-ada-002
環境変数を、使用した_展開名_に合わせて更新します。通常はモデル名と同じですが、明示的に変更している場合はその名前を使います。例としては:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'設定後は.envファイルを保存するのを忘れないでください。ファイルを閉じてノートブック実行の指示に戻れます。
OpenAIのAPIキーはOpenAIアカウントで確認できます。アカウントがなければサインアップしてAPIキーを作成してください。取得したキーを.envファイルのOPENAI_API_KEY変数に設定します。
Hugging Faceのトークンはプロフィールのアクセストークンで確認できます。これらを公開したり共有したりしないでください。代わりに、このプロジェクト用に新しいトークンを作成し、.envファイルのHUGGING_FACE_API_KEY変数にコピーしてください。注意: これは技術的にはAPIキーではありませんが、認証に使うため一貫性を保つためにこの名前を使っています。
免責事項:
本書類はAI翻訳サービス「Co-op Translator」を使用して翻訳されました。正確性の向上に努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。原文の言語による文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や誤訳についても、当方は責任を負いかねます。