現在の見出し:4.2節:ローカル環境でRAGのロジックを作成する
見出し一覧
- 4.2節:ローカル環境でRAGのロジックを作成する
- - ローカル環境でAzure Functionsを使ったRAGのAPIを開発する
- - Azure Functions Core Toolsのインストール
- - Azure CLIをインストールする
- - 「az login」コマンドでエラーが表示される場合
- - Azure Functionsプロジェクトの作成
- - Azure Functionsプロジェクトの準備手順
- - Step1. 仮想環境の作成と有効化
- - Step2. requirements.txt を作成・編集
- - Step3. 依存パッケージの一括インストール
- - Step4. 補足(エラーが残るとき)
- - function_appの関数とjsonファイルを書き直す
【PR】『Python』を学べる企業・個人向けのプログラミングコース
ローカル環境でAzure Functionsを使ったRAGのAPIを開発する
これまでAzure上で基盤となるリソースを作成してきました。実際に作成した内容は以下の通りです。
- Azure Function App が作成済み(rag-function1 など)
- Azure OpenAI / Azure AIAI(人工知能)は人工的に作られた知能で、様々な技術を組み合わせて人間のような知的行動を実現できるものです。 Search / Blob Storage も完了済み
本項目からは、ローカル環境でAzure Functionsプロジェクトプロジェクトは特定の目的や目標を達成するために行われる一連の開発作業です。を構築し、RAGチャットボットのコードや設定を実装してAzureへデプロイデプロイは開発したアプリケーションやWebサイトを実際に稼働させることです。可能な状態にする作業 に進みます。
Azure Functions Core Toolsのインストール
はじめにターミナル(WindowsWindowsはマイクロソフト社が開発したオペレーティングシステムの名称です。ユーザーはコマンドプロンプト)を開き、Azure用のプロジェクトフォルダを作成・移動します。
【フォルダを作成するコマンド】
mkdir プロジェクトフォルダ名
【フォルダへ移動するコマンド】
cd プロジェクトフォルダ名
フォルダに移動後、以下のコマンドを実行して「Azure Functions Core Tools」をインストールします。
npm install -g azure-functions-core-tools@4 --unsafe-perm true

上記のような画面が表示されていればインストール完了です。最後に「func --version」コマンドを実行してバージョンを確認してください。
「4.0.7512」のような数値が表示されていれば無事インストールできています。
Azure CLIをインストールする
続いてAzure CLIをインストールします。はじめに以下のページへアクセスしてください。
https://learn.microsoft.com/ja-jp/cli/azure/?view=azure-cli-latest
表示内容の「取り付け」欄から任意のOSOSはコンピューターを動かすためのソフトウェアです。を選択します。
「"OS名" インストーラー(MSI)」をクリックします。
「Azure CLIの最新の MSI(64ビットビットはコンピュータサイエンスにおける最小のデータ単位で、0か1の値を持つ二進数の一桁を表します。)」をクリックしてダウンロードします。
インストーラーが立ち上がるので、設定内容を進めて「Install」をクリックしてください。最後に「az login」コマンドを実行して、以下のようにMicrosoftのアクセス画面が表示されるか確認しましょう。
「az login」コマンドでエラーが表示される場合
「az login」コマンドを実行すると「'az' は、内部コマンドまたは外部コマンド、操作可能なプログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。またはバッチ ファイルとして認識されていません。」と表示されることがあります。
これはAzure CLI(az コマンド)が正しくインストールされていないか、パスパスはファイルやディレクトリの場所を示すために使われる言葉です。が通っていないことを示しています。
もし表示されている方は、以下の手順でAzure CLIのコマンドが実行できない原因を突き止めていきましょう。
1.Azure CLI がインストール済みかどうか確認
まずは以下のコマンドを実行し、Azure CLIが無事インストールされているのか確認します。
explorer "C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin\"
エクスプローラーでフォルダが立ち上がり「az.cmd」と表示されていればインストールできています。
それでもコマンドを実行できな理由として、システムの「Path」環境変数変数はデータを一時的に記憶しておく場所です。に Azure CLI のインストールパスが通っていない可能性があるので、今度はそちらを確認します。
デスクトップ下部の検索欄へ「システム環境変数の編集」と入力して開き、右下にある「環境変数」をクリックすると上記画面が表示されます。
右下にあるシステム環境変数欄の「編集」をクリックしてください。
「変数名」はそのままで「変数値」に「C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin\
」と入力してOKをクリックします。
再度「az login」と入力して無事Microsoftとの接続画面が表示されていれば完了です。
最後に「az --version」コマンドを実行し、上記のようにバージョンの詳細が表示されていることを確認して完了です。
az loginで認証がうまくいかなかったときの対処法
az loginでMicrosoftアカウントに称する際、MFA(多要素認証)がうまくいかず以下のようにエラー表示されることがあります。
問題を解決するには以下のコマンドで連携する必要があります。
az login --tenant テナントID
まずはテナントIDの取得から解説します。
Microsoft Azureを開き、右上のアイコンから「Switch directory」リンクをクリックします。
右下にある「Directory ID」がテナントIDと同じなので、こちらをコピーして先ほどのコマンドのテナントID欄に指定・実行してください。
サンプル
az login --tenant c4d2hogehogehogehogehoge
するとメールアドレスを用いた本人確認が行われます。
上記のようにサブスクリプション名やテナントID情報がターミナル画面に表示されているはずです。そのまま「Enter」キーを実行してください。
上記の画面が表示されていれば無事ログイン完了です。
Azure Functionsプロジェクトの作成
このセクションでは、Azure Functionsプロジェクトの雛形(テンプレート)を作成します。任意のプロジェクトフォルダに移動し、以下のコマンドを実行してください。
func init . --worker-runtime python --python
これは現在のフォルダ(.)に Azure Functions プロジェクトを初期化し、Python 仮想環境を同時にセットアップする(venv が作られる)コマンドです。
上記のように「generally available」と表示されていればOKです。続いて以下のコマンドを実行し、Azure Functions に新しい関数関数は一定の処理をまとめたプログラムの塊です。(Function)を追加します。
func new --name ragchat --template "HTTP trigger" --authlevel "anonymous"
上記の「--authlevel "anonymous"」は、認証なしで誰でもアクセスできる設定方法です。もし本番環境で運用する場合、関数ごとのキーが必要になる「function」へ設定を変更する必要があります。
「successfully from the "HTTP trigger"」と表示されていれば無事追加できています。実際にCursorでプロジェクトファイルを開いてみましょう。
上記のようにRAGの処理を定義する「function_app.py」が作成されていることがわかります。
この時点ではあくまでも雛型なので中身の処理は未定義です。今後環境を構築してく過程で、今回作成したひな型のPythonコードやjsonファイルを編集していきます。