ログアウト中 ログイン

RAGを用いたチャットボット開発講座 第5章5.2節「ローカル用の関数をAzure用の関数へ変更する」




現在の見出し:5.2節:ローカル用の関数をAzure用の関数へ変更する

見出し一覧

  • 5.2節:ローカル用の関数をAzure用の関数へ変更する
  • - RAGの内容をAzure環境用に変更する
  • - プロジェクトフォルダの構造をデプロイ用に変更する

【PR】『Python』を学べる企業・個人向けのプログラミングコース

RAGの内容をAzure環境用に変更する

requirements.txtを最新化する

まずはプロジェクトプロジェクトは特定の目的や目標を達成するために行われる一連の開発作業です。フォルダへ移動し、以下のコマンドを実行して仮想環境を有効化します。

【windowsの場合】
.venv\Scripts\activate

【Macの場合】
source .venv/bin/activate

実行後、ターミナルの冒頭に (venv) などが表示されれば成功です。

続いて、現在の仮想環境のパッケージ構成をrequirements.txtに書き出す作業を行います。以下のコマンドを実行してください。

pip freeze > requirements.txt

上記コマンドを実行したら、Cursorなどのテキストエディタエディタはコンピュータ上でソフトウェア開発に使用されるツールです。で「requirements.txt」ファイルを開いてみて下さい。以下のような内容になっていれば書き出しに成功しています。

annotated-types==0.7.0
anyio==4.9.0
azure-common==1.1.28
azure-core==1.35.0
azure-functions==1.23.0
azure-identity==1.23.1
azure-search-documents==11.5.3
certifi==2025.7.14
cffi==1.17.1
charset-normalizer==3.4.2
colorama==0.4.6
cryptography==45.0.5
distro==1.9.0
exceptiongroup==1.3.0
...

この作業を実行することで、現在の仮想環境で動作確認済みのライブラリライブラリは再利用可能なソフトウェアの部品です。とそのバージョンを「requirements.txt」に固定でき、他のPCやAzure Functions(本番)でも「pip install -r requirements.txtコマンドで同一環境を再現できます。

プロジェクトフォルダの構造をデプロイ用に変更する

Azure FunctionsのPython(特に公式推奨・スタンダードな構成)では、「__init__.pyファイル」が関数関数は一定の処理をまとめたプログラムの塊です。識別とエントリーポイントエントリーポイントはプログラムが開始される場所や関数です。として使われる設計になっているようです。

そこで、これまで作成した「」を「__init__.pyファイル」へ変更し「」というフォルダの直下で管理します。具体的な手順は以下の通りです。

  • rag-function-appフォルダの中に「ragchat」というサブフォルダを作る
  • ragchatフォルダの中に「__init__.py」ファイルを作成し、「function_app.py」ファイルの内容を入れ替える
  • 同じくragchatフォルダの中に「function.json」ファイルを作成する

「function.json」ファイルには以下のコードを入力してください。

{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": ["post"],
      "route": "ragchat"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "$return"
    }
  ]
}

上記のコードはAzure Functionsに「どんなきっかけで関数を動かし、どうやって結果を返すか」を教えている設定です。具体的な流れは以下の通りです。

  1. クライアントクライアントはWebサイトやアプリケーションを利用するユーザーです。/api/ragchatPOSTPOSTはWebページからサーバーにデータを送信するためのHTTPメソッドの一つです。リクエストを送る
  2. Azure Functionsがそのリクエストを受け取り、req という変数変数はデータを一時的に記憶しておく場所です。に入れて関数を呼び出す
  3. 関数が処理を行い、結果を return で返す
  4. その戻り値がHTTPレスポンスになってクライアントに届く

シンプルですが、これで「HTTPで呼び出せるAPIAPIは、他のソフトやアプリが自分の機能を利用できるようにするためのインターフェースです。の入り口と出口」が完成します。これでデプロイする環境は一通りそろったので、時節からGitGitはソースコードのバージョン管理を容易にする分散型のバージョン管理システムです。へプッシュする手順に進みます。

プロジェクトフォルダの構造をデプロイ用に変更する

第5章5.2節「プロジェクトフォルダの構造をデプロイ用に変更する」の続きを見る


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

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