Este repositorio proporciona los materiales para la publicación de blog conjunta Redis/Microsoft aquí. Contiene un cuaderno Jupyter que demuestra cómo usar Redis como una base de datos vectorial para almacenar y recuperar vectores de documentos. El cuaderno también muestra cómo usar Llamaindex para realizar una búsqueda semántica de contexto dentro de los documentos y proporcionar una experiencia similar a Chatbot con OpenAI.
El tutorial de chat de documentos LLM está destinado a ejecutarse en un entorno de laboratorio Jupyter dockerizado para garantizar una experiencia ideal y un entorno mínimo de Python Hickups. Como mínimo, deberá instalar Docker Desktop ( que viene con Docker Compose ) para ejecutar este ejemplo.
El proyecto mantiene una .env.template con las siguientes variables predefinidas:
# 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= Haga una copia de este archivo para crear .env de la siguiente manera:
$ cp .env.template .envActualice partes del archivo ENV en función de sus opciones a continuación:
Nota Si está alojando esta muestra en Azure, puede implementar rápidamente Azure OpenAI y Azure Cache para la instancia de Redis Enterprise con las configuraciones correctas ejecutando los siguientes comandos:
az group create -n LLMDocChatRG -l eastus
az deployment group create --template-file infra b icep m ain.bicep -g LLMDocChatRGPara eliminar todos los recursos de Azure, simplemente elimine el grupo de recursos usando:
az group delete -n LLMDocChatRG
Puede elegir entre el servicio Azure OpenAI (totalmente alojado y administrado por Azure) y OpenAI Direct.
Para usar Azure Openai, deberá seguir estas instrucciones
.env agregando los valores específicos para sus implementaciones. 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/Para usar OpenAi, deberá seguir estas instrucciones
.env agregando los valores específicos para sus implementaciones. OPENAI_API_KEY= < your key here >El tutorial requerirá el uso de las funciones de búsqueda y consulta de Redis, incluido el soporte para la búsqueda de similitud vectorial. Hay tres opciones para ejecutar Redis:
Para cada uno, se requieren las siguientes opciones y deben actualizarse en su archivo .env local:
REDIS_PASSWORD= < your password here >
REDIS_HOST= < your redis host address here >
REDIS_PORT= < your redis port here > Hay algunos archivos docker-compose.yml en el directorio docker que ayudarán a girar a Redis-Stack localmente y a RedisInsight en el caso en que se usa un Redis remoto (como Acre).
Para abrir el entorno Jupyter a través de Docker, siga estos pasos:
Clone este repositorio a su máquina local.
Copie la .env.template a .env y configure los valores como se describe anteriormente.
Ejecutar con Docker Compose:
Para nube o Azure Redis Enterprise
docker compose -f docker/cloud/docker-compose.yml upPara la pila local (Docker) Redis
docker compose -f docker/local/docker-compose.yml up Abra la sesión de Jupyter Lab en su navegador en http://127.0.0.1:8888/lab?token={YOUR GENERATED TOKEN} . Verifique los registros de terminal para la cadena token.