Dieses Repository enthält die Materialien für den Joint Redis/Microsoft -Blog -Beitrag hier. Es enthält ein Jupyter -Notizbuch, in dem die Verwendung von Redis als Vektordatenbank zum Speichern und Abrufen von Dokumentvektoren zeigt. Das Notizbuch zeigt auch, wie Sie Lamaindex verwenden, um die semantische Suche nach Kontext in Dokumenten durchzuführen und mithilfe von OpenAI eine chatbotähnliche Erfahrung zu bieten.
Das LLM -Dokument -Chat -Tutorial soll in einer dockerisierten Jupyter -Laborumgebung ausgeführt werden, um ideale Erfahrung und minimale Python -Umgebung zu gewährleisten. Zumindest müssen Sie Docker Desktop ( das mit Docker Compose geliefert ) installieren, um dieses Beispiel auszuführen.
Das Projekt verwaltet eine .env.template mit den folgenden Variablen vordefiniert:
# 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= Erstellen Sie eine Kopie dieser Datei, um .env wie folgt zu erstellen:
$ cp .env.template .envAktualisieren Sie Teile der Env -Datei basierend auf Ihren folgenden Auswahlmöglichkeiten:
Hinweis Wenn Sie dieses Beispiel auf Azure hosten, können Sie Azure OpenAI und Azure Cache für Redis Enterprise -Instanz mit den richtigen Konfigurationen schnell bereitstellen, indem Sie die folgenden Befehle ausführen:
az group create -n LLMDocChatRG -l eastus
az deployment group create --template-file infra b icep m ain.bicep -g LLMDocChatRGUm alle Azure -Ressourcen zu entfernen, löschen Sie einfach die Ressourcengruppe mit:
az group delete -n LLMDocChatRG
Sie können zwischen dem Azure OpenAI -Service (vollständig gehostet und verwaltet von Azure) und OpenAI Direct wählen.
Um Azure Openai zu verwenden, müssen Sie diese Anweisungen befolgen
.env -Datei Hinzufügen der spezifischen Werte für Ihre Bereitstellungen. 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/Um OpenAI zu verwenden, müssen Sie diese Anweisungen befolgen
.env -Datei Hinzufügen der spezifischen Werte für Ihre Bereitstellungen. OPENAI_API_KEY= < your key here >Das Tutorial erfordert die Verwendung der Funktionen für Redis -Such- und Abfragen, einschließlich der Unterstützung für die Vektor -Ähnlichkeitssuche. Es gibt drei Optionen zum Ausführen von Redis:
Für jeden Fall sind die folgenden Optionen erforderlich und müssen in Ihrer lokalen .env aktualisiert werden.
REDIS_PASSWORD= < your password here >
REDIS_HOST= < your redis host address here >
REDIS_PORT= < your redis port here > In dem docker Verzeichnis gibt es einige docker-compose.yml -Dateien, die dazu beitragen, Redis-Stack lokal zu spinnen und wieder zu erneuert, in dem ein Remote-Redis verwendet wird (wie Acre).
Befolgen Sie die folgenden Schritte, um die Jupyter -Umgebung durch Docker zu öffnen:
Klonen Sie dieses Repository in Ihre lokale Maschine.
Kopieren Sie die .env.template in .env und konfigurieren Sie die oben beschriebenen Werte.
Mit Docker komponieren:
Für Cloud- oder Azure Redis Enterprise
docker compose -f docker/cloud/docker-compose.yml upFür lokale (Docker) Redis Stack
docker compose -f docker/local/docker-compose.yml up Öffnen Sie die Jupyter Lab -Sitzung in Ihrem Browser unter http://127.0.0.1:8888/lab?token={YOUR GENERATED TOKEN} . Überprüfen Sie die Terminalprotokolle für die Token -Zeichenfolge.