現在の見出し:6.1節:RAGを実行するための環境変数を設定する
見出し一覧
- 6.1節:RAGを実行するための環境変数を設定する
- - RAGの実行に必要な環境変数を設定する
- - Azureに環境変数を設定する方法
- - AZURE_OPENAI_API_KEYとAZURE_OPENAI_ENDPOINT取得する
- - AZURE_SEARCH_KEYとAZURE_SEARCH_ENDPOINTを取得する
- - Azureポータルでサービスプリンシパル(アプリ登録)+シークレットを作成する手順
- - GitHubにAZURE_CREDENTIALSとしてサービスプリンシパル情報を登録する
- - 【補足】GitHubにサービスプリンシパル情報をひとつづつ登録する方法
- - AzureにContributor(共同作成者)という権限を付与する
- - yamlを調整して再度デプロイする
【PR】『Python』を学べる企業・個人向けのプログラミングコース
RAGの実行に必要な環境変数を設定する
続いて、Azureの環境変数に以下の値を指定します。
Name | Value(入力例) |
---|---|
AZURE_OPENAI_ENDPOINT |
Azure OpneAIから取得 |
AZURE_OPENAI_API_KEY |
Azure OpneAIから取得 |
AZURE_OPENAI_DEPLOYMENT |
モデルのデプロイデプロイは開発したアプリケーションやWebサイトを実際に稼働させることです。名(例: gpt-4 ) |
AZURE_SEARCH_ENDPOINT |
「Search service」リソースから取得 |
AZURE_SEARCH_KEY |
「Search service」リソースから取得 |
AZURE_SEARCH_INDEX_NAME |
作成済みインデックス名(例: my-index ) |
Azureの環境変数に設定することで、コード中に直接キーやエンドポイントを書かずにアクセスできます。結果としてセキュリティを強化しつつ、環境ごとの設定切り替えや保守性の向上を実現できるのです。
Azureに環境変数を設定する方法
まずは「AZURE_OPENAI_ENDPOINT」の設定手順を例に、環境変数の設定方法について解説します。
トップ画面からAzure Functionリソースをクリックし、左のメニュー欄から「settings」→「Environment variable」を選択。画面上部にある「+Add」をクリックしてください。
NameとValue欄が表示されるので、先ほどの表に表示されているNameの値(AZURE_SEARCH_KEYなど)とValueを選択します。
そのためには、各NameごとのValue値を取得する必要があるので、その取得方法について解説します。
AZURE_OPENAI_API_KEYとAZURE_OPENAI_ENDPOINT取得する
aトップページから「Azure OpenAI」リソースである「azure-openai-forfor文はプログラミングの繰り返し制御構文で、指定回数や条件に基づき特定コードを反復実行でき、コードの簡潔さと可読性を向上させます。-rag」を選択します。
左のメニュー欄から「Resource Management」→「Keys and Endpoint」の順でクリックしてください。
上記画面が表示されるので「KEY 1」と「Endpoint」の値をコピーします。
先ほどの環境変数を設定する画面を再度開き、上記のように入力して画面下部の「Apply」ボタンをクリックします。エンドポイントの値も同様に指定しましょう。
最後に、環境変数全体の表示画面の上部にある「Sava」もクリックしてください。この処理をしないと環境変数が保存されません。
AZURE_SEARCH_KEYとAZURE_SEARCH_ENDPOINTを取得する
トップ画面から「Search service」リソースである「rag-test-azure-search」をクリックします。
表示画面にある「Url」の値がエンドポイントになるので、こちらをコピーして任意の場所に保管しておいてください。
続いて、左のメニュー欄から「Setting」→「Keys」の順にクリックします。表示内容から「Primary admin key」の値をコピーしてください。
これでAZURE_SEARCH_KEYとAZURE_SEARCH_ENDPOINTの値を取得できました。こちらも先ほどのように環境変数に設定して完了です。
Azureポータルでサービスプリンシパル(アプリ登録)+シークレットを作成する手順
サービスプリンシパルとは、Azureにおけるアプリ専用のアカウントです。人間のユーザーではなく、GitHub Actionsなどの自動化ツールがAzureにアクセスするときに使う「認証用の身分証」のようなものです。
サービスプリンシパルを作ることにより、GitHubにコードをpushするだけでAzureに自動でデプロイされます。毎回Azure Portalにログインして操作する必要がなくなり、作業の手間とミスを減らせるのが魅力です。
では具体的な手順について詳しく解説します。
はじめにトップ画面上部の検索欄へ「Microsoft Entra ID」と入力し、上記と同じアイコンをクリックします。
左メニュー「Manage」の下にある「App registrations」をクリック。表示画面上部の「New registration」をクリックしてください。
設定画面の各入力内容の例は以下の通りです。
- Name(アプリ名):例
github-actions-deployer
。用途が分かる名前にしておくと便利。 - Supported account types(サポートアカウント種別):「既定のディレクトリのみ(Single tenant)」でOK。
- Redirect URI(省略可):空欄でOK(今回は使いません)。
全て入力後に「Register(登録)」ボタンをクリックしてください。
上記画面が表示されるので、「アプリケーションID(clientId)」「ディレクトリID(tenantId)」をコピーしてください。
続いて左メニューの「Manage」→「Certifif文はプログラムで条件分岐を行うための命令文です。icates & secrets」の順でクリックします。
上記画面が表示されるので「New client secret」をクリックしてください。すると右にclient secretの入力欄が表示されます。
Discription欄は任意の名前で問題ありません。今回は「github-actions-deployer」と入力します。最後に画面下部の「Add」をクリックします。
すると「値(Value)」が表示されます。こちらは1度しか表示されないので、忘れずにコピペ保存しておいてください。