Pythonバックエンド
このセクションでは、プロジェクトのバックエンド部分をセットアップして構成します。
Pythonの依存関係をインストールする
Python のベスト プラクティスに従うために、すべての依存関係をインストールできる、このプロジェクト専用のプライベート Python インストールである仮想環境を作成します。次のコマンドでこれを実行します。
python3 -m venv .venvこのコマンドは.venvファイルにPython仮想環境を作成します。(dot-venv) ディレクトリ。このコマンドの.venv任意の名前に置き換えることができます。Python の一部のインストールでは、Python インタープリターを呼び出すためにpython3ではなくpythonを使用する必要があることに注意してください。
次のステップは、仮想環境をアクティブ化することです。これは、この仮想環境を、現在使用しているターミナル セッションのアクティブな Python 環境にする方法です。Linux や macOS などの UNIX ベースのオペレーティング システムで作業している場合は、次のように仮想環境をアクティブ化します。
source .venv/bin/activate上記のアクティベーション コマンドは、Microsoft Windows コンピューターの WSL 環境内で作業している場合にも機能します。ただし、Windows コマンド プロンプトまたは PowerShell を使用している場合は、アクティベーション コマンドが異なります。
.venv\Scripts\activate仮想環境がアクティブになると、コマンドラインプロンプトが変更され、環境の名前が表示されます。
(.venv) $ _Python 環境を構成する最後の手順は、スターター アプリケーションに必要ないくつかのパッケージをインストールすることです。前の手順で仮想環境がアクティブ化されたことを確認してから、次のコマンドを実行してこれらの依存関係をインストールします。
pip install -r requirements.txt設定ファイルを書く
前のセクションでダウンロードしたコードのメイン ディレクトリに、 env.exampleという名前のファイルがあります。このファイルには、アプリケーションでサポートされているすべての構成変数が含まれています。
このファイルのコピーを作成し、 .envという名前を付けます。
cp env.example .envWindows でチュートリアルを実行している場合は、上記のコマンドでcpの代わりにcopyを使用します。
お気に入りのテキスト エディターで.envを開いてアプリケーションの構成を確認し、アプリケーションを構成する方法のガイダンスについては次のサブセクションを確認してください。
Elasticsearchをセットアップする
認証
Elastic Cloud アカウントを使用している場合は、 ELASTICSEARCH_URLおよびELASTIC_API_KEY変数を設定する必要があります。
ELASTICSEARCH_URL="paste your Elasticsearch endpoint URL here"
ELASTIC_API_KEY="paste your API Key here"ELASTICSEARCH_URL と API キーを取得する方法については、 Elastic Cloud デプロイメントを作成する手順を参照してください。
セルフホスト型 Elasticsearch インスタンスを使用している場合は、 ELASTIC_API_KEYをコメントアウトし、 ELASTICSEARCH_URL Elasticsearch エンドポイントに設定する必要があります。
ELASTICSEARCH_URL=http://localhost:9200
# ELASTIC_API_KEY=インデックス
アプリケーションは 2 つの Elasticsearch インデックスを使用します。ES_INDEXおよびES_INDEX_CHAT_HISTORY構成変数を使用すると、これらのインデックスに名前を付けることができます。ほとんどの場合、構成ファイルに含まれるデフォルト設定で問題ありません。
ES_INDEX=workplace-app-docs
ES_INDEX_CHAT_HISTORY=workplace-app-docs-chat-historyLLMセットアップ
アプリケーションには LLM へのアクセスも必要です。OpenAI を使用している場合は、次の構成変数を使用します。
LLM_TYPE=openai
OPENAI_API_KEY="paste your OpenAI Key here"このアプリケーションは、Langchain 統合を備えたすべての LLM をサポートします。設定ファイル内のコメントは、OpenAI に加えていくつかの一般的な LLM を設定するためのガイドとなります。アプリケーションに最小限の変更を加えるだけで、事前設定されていない他の LLM を使用することもできます。
サンプルデータセットを読み込む
アプリケーションには、 data/data.jsonファイルに保存されたサンプル データセットが付属しています。このファイルをテキスト エディターで開いて、そこに含まれるドキュメントをよく確認してください。
次のコマンドを使用して、データセットをアプリケーションにインポートします。
flask create-indexバックエンドを開始する
上記の手順をすべて実行すると、次のコマンドで Python バックエンドを起動できるようになります。
flask run --port=3001バックエンドを実行したまま、新しいターミナル セッションを開いて、このチュートリアルの残りの部分を続行します。