このリポジトリは、Redis/Microsoftの共同ブログ投稿の資料をこちらを提供しています。ドキュメントベクトルを保存および取得するためにベクトルデータベースとしてRedisを使用する方法を示すJupyterノートブックが含まれています。ノートブックでは、LlamainDexを使用してドキュメント内でコンテキストのセマンティック検索を実行し、OpenAIを使用してチャットボットのようなエクスペリエンスを提供する方法も示しています。
LLMドキュメントチャットチュートリアルは、理想的なエクスペリエンスと最小限のPython環境ヒックアップを確保するために、Dockerized Jupyter Lab環境で実行することを目的としています。少なくとも、この例を実行するには、Dockerデスクトップ( Docker Composeに付属)をインストールする必要があります。
このプロジェクトは、次の変数が事前に定義された.env.templateを維持しています。
# General OpenAI Env Vars
OPENAI_TEXT_MODEL=gpt-35-turbo
OPENAI_EMBEDDING_MODEL=text-embedding-ada-002
OPENAI_TEMPERATURE=0.7
OPENAI_MAX_TOKENS=50
# OpenAI Direct Env Vars
OPENAI_API_KEY= < your key here >
OPENAI_API_BASE=https://api.openai.com/v1/
# Azure OpenAI Env Vars
# OPENAI_API_VERSION=2023-05-15 # use OPENAI_API_VERSION only with Azure OpenAI
AZURE_EMBED_MODEL_DEPLOYMENT_NAME= < your deployment name here >
AZURE_TEXT_MODEL_DEPLOYMENT_NAME= < your deployment name here >
AZURE_OPENAI_API_BASE=https:// < your deployment name > .openai.azure.com/
# General Env Vars
CHUNK_SIZE=500
CHUNK_OVERLAP=0.2
# Redis Env Vars
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=次のように.envを作成するためにこのファイルのコピーを作成します。
$ cp .env.template .env以下の選択に基づいて、ENVファイルの部分を更新します。
注Azureでこのサンプルをホストする場合は、次のコマンドを実行して、Redis Enterpriseインスタンス用のAzure OpenaiおよびAzure Cache for Redis Enterpriseインスタンスをすばやく展開できます。
az group create -n LLMDocChatRG -l eastus
az deployment group create --template-file infra b icep m ain.bicep -g LLMDocChatRGすべてのAzureリソースを削除するには、以下を使用してリソースグループを削除するだけです。
az group delete -n LLMDocChatRG
Azure Openaiサービス(Azureが完全にホストおよび管理)とOpenai Directを選択できます。
Azure Openaiを使用するには、これらの指示に従う必要があります
.envファイルを構成します。 AZURE_EMBED_MODEL_DEPLOYMENT_NAME= < your deployment name here >
AZURE_TEXT_MODEL_DEPLOYMENT_NAME= < your deployment name here >
AZURE_OPENAI_API_BASE=https:// < your deployment name > .openai.azure.com/Openaiを使用するには、これらの指示に従う必要があります
.envファイルを構成します。 OPENAI_API_KEY= < your key here >このチュートリアルでは、ベクターの類似性検索のサポートなど、Redis検索とクエリ機能の使用が必要です。 Redisを実行するには3つのオプションがあります。
それぞれについて、次のオプションが必要であり、ローカル.envファイルで更新する必要があります。
REDIS_PASSWORD= < your password here >
REDIS_HOST= < your redis host address here >
REDIS_PORT= < your redis port here > Dockerディレクトリには、Redisスタックをローカルでスピンアップし、リモートRedisが使用されている場合(エーカーなど)にdockerディレクトリにdocker-compose.ymlファイルがあります。
Dockerを介してJupyter環境を開くには、次の手順に従ってください。
このリポジトリをローカルマシンにクローンします。
.env.templateを.envにコピーし、上記のように値を構成します。
Docker Composeで実行します:
クラウドまたはAzure Redis Enterprise用
docker compose -f docker/cloud/docker-compose.yml upローカル(docker)redisスタック用
docker compose -f docker/local/docker-compose.yml up http://127.0.0.1:8888/lab?token={YOUR GENERATED TOKEN}でブラウザでJupyterラボセッションを開きます。トークン文字列の端子ログを確認してください。