ログアウト中 ログイン

RAGを用いたチャットボット開発講座 第6章6.1節「RAGを実行するための環境変数を設定する」




現在の見出し: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度しか表示されないので、忘れずにコピペ保存しておいてください。

Azureに環境変数を設定する方法

第6章6.1節「Azureに環境変数を設定する方法」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。