Este repositório fornece os materiais para a postagem de blog Joint Redis/Microsoft aqui. Ele contém um notebook Jupyter que demonstra como usar o Redis como um banco de dados vetorial para armazenar e recuperar vetores de documentos. O notebook também mostra como usar o Llamaindex para realizar pesquisas semânticas por contexto dentro de documentos e fornecer uma experiência semelhante ao chatbot usando o OpenAI.
O tutorial de bate -papo de documentos LLM destina -se a um ambiente de laboratório Jupyter Dockerizado para garantir a experiência ideal e o ambiente mínimo do ambiente python. No mínimo, você precisará instalar o Docker Desktop ( que vem com o Docker Compose ) para executar este exemplo.
O projeto mantém um .env.template com as seguintes variáveis 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= Faça uma cópia deste arquivo para criar .env da seguinte maneira:
$ cp .env.template .envAtualize partes do arquivo Env com base em suas escolhas abaixo:
Observe que se você estiver hospedando esta amostra no Azure, poderá implantar rapidamente o Azure Openai e o Azure Cache para a Redis Enterprise Instância com as configurações corretas executando os seguintes comandos:
az group create -n LLMDocChatRG -l eastus
az deployment group create --template-file infra b icep m ain.bicep -g LLMDocChatRGPara remover todos os recursos do Azure, basta excluir o grupo de recursos usando:
az group delete -n LLMDocChatRG
Você pode escolher entre o serviço Azure Openai (totalmente hospedado e gerenciado pelo Azure) e o OpenAI Direct.
Para usar o Azure Openai, você precisará seguir estas instruções
.env adicionando os valores específicos para suas implantações. 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 o OpenAI, você precisará seguir estas instruções
.env adicionando os valores específicos para suas implantações. OPENAI_API_KEY= < your key here >O tutorial exigirá o uso dos recursos de pesquisa e consulta Redis, incluindo suporte para pesquisa de similaridade vetorial. Existem três opções para executar o Redis:
Para cada um, as seguintes opções são necessárias e devem ser atualizadas no seu arquivo .env local:
REDIS_PASSWORD= < your password here >
REDIS_HOST= < your redis host address here >
REDIS_PORT= < your redis port here > Existem alguns arquivos docker-compose.yml no diretório docker que ajudarão a aumentar a pilha redis localmente e o Redisinsight no caso em que um redis remoto está sendo usado (como o Acre).
Para abrir o ambiente Jupyter através do Docker, siga estas etapas:
Clone este repositório para sua máquina local.
Copie o .env.template para .env e configure os valores conforme descrito acima.
Corra com o Docker Compose:
Para nuvem ou Azure Redis Enterprise
docker compose -f docker/cloud/docker-compose.yml upPara pilha local (Docker) Redis
docker compose -f docker/local/docker-compose.yml up Abra a sessão do Jupyter Lab em seu navegador em http://127.0.0.1:8888/lab?token={YOUR GENERATED TOKEN} . Verifique os logs do terminal para a sequência de token.