이 저장소는 여기에 공동 Redis/Microsoft 블로그 게시물의 자료를 제공합니다. 여기에는 Redis를 벡터 데이터베이스로 사용하여 문서 벡터를 저장하고 검색하는 방법을 보여주는 Jupyter 노트가 포함되어 있습니다. 노트북은 Llamaindex를 사용하여 문서 내에서 컨텍스트에 대한 의미 론적 검색을 수행하고 OpenAI를 사용하여 챗봇과 같은 경험을 제공하는 방법을 보여줍니다.
LLM 문서 채팅 튜토리얼은 이상적인 경험과 최소한의 파이썬 환경 Hickups를 보장하기 위해 Dockerized Jupyter Lab 환경에서 실행되도록 고안되었습니다 . 최소한이 예제를 실행하려면 Docker Desktop ( 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 캐시를 신속하게 배포 할 수 있습니다.
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를 실행하는 세 가지 옵션이 있습니다.
각각에 대해 다음 옵션이 필요하며 로컬 .env 파일에서 업데이트되어야합니다.
REDIS_PASSWORD= < your password here >
REDIS_HOST= < your redis host address here >
REDIS_PORT= < your redis port here > docker 디렉토리에는 docker-compose.yml 파일이 있으며, 원격 Redis가 사용되는 경우 (ACRE와 같은) Redis-Stack을 로컬로 연결하고 Redisinsight를 회전시키는 데 도움이됩니다.
Docker를 통해 Jupyter 환경을 열려면 다음을 수행하십시오.
이 저장소를 로컬 컴퓨터로 복제하십시오.
.env.template 을 .env 로 복사하고 위에 설명한대로 값을 구성하십시오.
Docker Compose와 함께 실행 :
클라우드 또는 Azure Redis Enterprise의 경우
docker compose -f docker/cloud/docker-compose.yml up로컬 (Docker) Redis Stack의 경우
docker compose -f docker/local/docker-compose.yml up http://127.0.0.1:8888/lab?token={YOUR GENERATED TOKEN} 에서 브라우저에서 Jupyter Lab 세션을 열십시오. 토큰 문자열의 터미널 로그를 확인하십시오.