Terraform 템플릿은 Redis Enterprise를 벡터 데이터베이스로 사용하여 Azure OpenAI 응용 프로그램의 엔드 투 엔드 배포를 자동화합니다.

단일 TerraForm 스크립트에서는 다음을 배포합니다.
text-davinci-003 및 text-embedding-ada-002 모델이있는 Azure OpenAI 인스턴스./docs 폴더의 모든 파일이 포함 된 Azure Storage 버킷이 Repo에 사용 된 예제 응용 프로그램을 사용하면 Chatgpt를 사용하여 이전에 ChatGpt 및/또는 조직 내부에 알려지지 않은 문서를 분석 할 수 있습니다.
앱에는 두 가지 데이터 흐름이 있습니다. 첫 번째 - 문서 컨텍스트에서 내장의 배치 생성. 이 임베딩은 Azure Redis Enterprise에 저장됩니다. 둘째 - 이러한 임베딩을 사용하여 chatgpt에 대한 컨텍스트 인식 프롬프트를 생성하므로 내부 문서의 맥락에 따라 질문에 답변합니다.
시도 할 수있는 질문 :
Chevy Colorado에서 사용할 수있는 세 가지 엔진 유형의 주요 차이점은 무엇입니까? 첫 번째 열로 모델과 함께 응답을 테이블로 포맷합니다.
어떤 색상 옵션을 사용할 수 있습니까? 목록으로 형식
앱 크레딧 -https://github.com/redisventures/llm-document-chat
Azure Cli를 Azure 계정으로 인증하십시오.
az login
TerraForm 구성 배포 :
terraform init
terraform apply
./docs 폴더 (PDF 또는 일반 텍스트)에 자신의 문서를 추가 할 수 있으므로 배포 중에 버킷에 업로드 할 수 있습니다.
필요한 모든 인프라를 제공하는 데 최대 20 분이 걸릴 수 있습니다.
결국 TerraForm 스크립트는 많은 변수를 출력합니다.
app-url = "redis-openai-83903-webapp.azurewebsites.net"
openai-endpoint = "https://redis-openai-83903.openai.azure.com/"
openai-key = <sensitive>
redis-endpoint = "redis-openai-83903-redisenterprise.southcentralus.redisenterprise.cache.azure.net"
redis-password = <sensitive>
redis-port = 10000
storage-account = "redisopenai83903bucket"
storage-account-connection-string = <sensitive>
storage-container = "data"
App-URL을 사용하여 응용 프로그램에 즉시 액세스 할 수 있습니다.
terraform.tfvars 또는 terraform apply -var="name_prefix=my-deployment" 사용하여 기본 리소스 이름 접두사 및 컨테이너 이미지를 무시하려면 WebApp에 배포하십시오.
Azure 웹 앱으로 배포 된 응용 프로그램을 변경하려면 terraform.tfvars 에서 app_docker_image 및 app_docker_tag 값을 변경하십시오. 기본 응용 프로그램의 소스 코드는 ./app 폴더 아래이 리포지토리에 포함되어 있습니다.
Azure Account, Azure CLI, Terraform CLI는 로컬로 설치되었습니다.
Azure Open AI 현재 (2023 년 5 월)는 개인 미리보기에 있습니다. 귀하의 계정에 대한 요청을 Microsoft에 제출해야합니다.
Azure OpenAi 임베딩 API는 현재 요청 빈도에 대한 엄격한 제한이있어 벌크 임베딩 생성에 대해 실현할 수 없을 수 있습니다. 다음과 같은 로컬 임베딩을 고려하십시오.
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
Azure Openai 및 Azure Redis Enterprise를 로컬로 배포 할 수는 없지만 로컬 컴퓨터를 사용하여 응용 프로그램 자체를 테스트 할 수 있습니다.
terraform apply 실행 한 후 생성 된 Azure 서비스를 사용하여 응용 프로그램 코드를 로컬로 테스트 할 수 있습니다. .env.template을 예제로 사용하고 실제 키와 URL로 채우십시오.
docker build -t llm-chat .
docker run -it -p 80:80 --env-file=.env llm-chat
멀티 플랫폼 이미지 구축/밀기 (Mac/ARM의 로컬 개발에 유용) :
docker buildx build --platform linux/amd64,linux/arm64 -t antonum/llmchat:latest --push .
azurerm_cognitive_account.openai 단계를 creating 데 갇혀 있습니다. 글을 쓰는 시점 (2023 년 5 월)에 Azure는 때때로 OpenAI 서비스를 배치하는 문제가 발생합니다. 다른 지역에 스택을 배포하십시오. 예를 들어 eastus 대신 azure_region = "southcentralus" 설정하십시오.
SpecialFeatureOrQuotaIdRequired: The subscription does not have QuotaId/Feature required by SKU 'S0' from kind 'OpenAI'Azure 계정에는 Azure OpenAi가 활성화되어 있지 않습니다. 글을 쓰는 시점 (2023 년 5 월)에 Azure Openai는 개인 미리보기에 있습니다. 구독에 대한 요청을 Microsoft에 제출해야합니다.
배포 된 모든 자원을 파괴하려면 :
terraform destroy