このセクションでは、プロジェクトのバックエンド部分をセットアップして構成します。

Pythonの依存関係をインストールする

Python のベスト プラクティスに従うために、すべての依存関係をインストールできる、このプロジェクト専用のプライベート Python インストールである仮想環境を作成します。次のコマンドでこれを実行します。

このコマンドは.venvファイルにPython仮想環境を作成します。(dot-venv) ディレクトリ。このコマンドの.venv任意の名前に置き換えることができます。Python の一部のインストールでは、Python インタープリターを呼び出すためにpython3ではなくpythonを使用する必要があることに注意してください。

次のステップは、仮想環境をアクティブ化することです。これは、この仮想環境を、現在使用しているターミナル セッションのアクティブな Python 環境にする方法です。Linux や macOS などの UNIX ベースのオペレーティング システムで作業している場合は、次のように仮想環境をアクティブ化します。

上記のアクティベーション コマンドは、Microsoft Windows コンピューターの WSL 環境内で作業している場合にも機能します。ただし、Windows コマンド プロンプトまたは PowerShell を使用している場合は、アクティベーション コマンドが異なります。

仮想環境がアクティブになると、コマンドラインプロンプトが変更され、環境の名前が表示されます。

Python 環境を構成する最後の手順は、スターター アプリケーションに必要ないくつかのパッケージをインストールすることです。前の手順で仮想環境がアクティブ化されたことを確認してから、次のコマンドを実行してこれらの依存関係をインストールします。

設定ファイルを書く

前のセクションでダウンロードしたコードのメイン ディレクトリに、 env.exampleという名前のファイルがあります。このファイルには、アプリケーションでサポートされているすべての構成変数が含まれています。

このファイルのコピーを作成し、 .envという名前を付けます。

Windows でチュートリアルを実行している場合は、上記のコマンドでcpの代わりにcopyを使用します。

お気に入りのテキスト エディターで.envを開いてアプリケーションの構成を確認し、アプリケーションを構成する方法のガイダンスについては次のサブセクションを確認してください。

Elasticsearchをセットアップする

認証

Elastic Cloud アカウントを使用している場合は、 ELASTICSEARCH_URLおよびELASTIC_API_KEY変数を設定する必要があります。

ELASTICSEARCH_URL と API キーを取得する方法については、 Elastic Cloud デプロイメントを作成する手順を参照してください。

セルフホスト型 Elasticsearch インスタンスを使用している場合は、 ELASTIC_API_KEYをコメントアウトし、 ELASTICSEARCH_URL Elasticsearch エンドポイントに設定する必要があります。

インデックス

アプリケーションは 2 つの Elasticsearch インデックスを使用します。ES_INDEXおよびES_INDEX_CHAT_HISTORY構成変数を使用すると、これらのインデックスに名前を付けることができます。ほとんどの場合、構成ファイルに含まれるデフォルト設定で問題ありません。

LLMセットアップ

アプリケーションには LLM へのアクセスも必要です。OpenAI を使用している場合は、次の構成変数を使用します。

このアプリケーションは、Langchain 統合を備えたすべての LLM をサポートします。設定ファイル内のコメントは、OpenAI に加えていくつかの一般的な LLM を設定するためのガイドとなります。アプリケーションに最小限の変更を加えるだけで、事前設定されていない他の LLM を使用することもできます。

サンプルデータセットを読み込む

アプリケーションには、 data/data.jsonファイルに保存されたサンプル データセットが付属しています。このファイルをテキスト エディターで開いて、そこに含まれるドキュメントをよく確認してください。

次のコマンドを使用して、データセットをアプリケーションにインポートします。

バックエンドを開始する

上記の手順をすべて実行すると、次のコマンドで Python バックエンドを起動できるようになります。

バックエンドを実行したまま、新しいターミナル セッションを開いて、このチュートリアルの残りの部分を続行します。

最先端の検索体験を構築する準備はできましたか?

十分に高度な検索は 1 人の努力だけでは実現できません。Elasticsearch は、データ サイエンティスト、ML オペレーター、エンジニアなど、あなたと同じように検索に情熱を傾ける多くの人々によって支えられています。ぜひつながり、協力して、希望する結果が得られる魔法の検索エクスペリエンスを構築しましょう。

はじめましょう