Шаблон Terraform автоматизирует сквозное развертывание приложений Azure OpenAI с использованием Redis Enterprise в качестве векторной базы данных.

В одном сценарии Terraform он развертывает:
text-davinci-003 и text-embedding-ada-002./docsПример приложения, используемый в этом репо, позволяет вам использовать 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 - измените значения app_docker_image и app_docker_tag в terraform.tfvars . Исходный код для приложения по умолчанию включен в это репо в папке ./app .
Azure Account, Azure CLI, Terraform CLI установлен на месте.
Azure Open AI В настоящее время (май 2023 г.) находится в частном предварительном просмотре. Вам необходимо отправить запрос в Microsoft, чтобы включить его для вашей учетной записи.
API ASURE OPEN Openai в настоящее время имеет строгие ограничения на частоту запросов, что может сделать его невозможным для массового встраивания. Подумайте об использовании локального встраивания, такого как:
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 г.) в Azure иногда возникают проблемы, развертывающие услуги OpenAI. Попробуйте развернуть стек в другом регионе. Например, установите azure_region = "southcentralus" вместо eastus .
SpecialFeatureOrQuotaIdRequired: The subscription does not have QuotaId/Feature required by SKU 'S0' from kind 'OpenAI'Ваша учетная запись Azure не включена Azure OpenAI. На момент написания (май 2023 г.) Azure Openai находится в частном предварительном просмотре. Вам необходимо отправить запрос в Microsoft, чтобы включить его для вашей подписки.
Чтобы уничтожить все развернутые ресурсы, пробегая:
terraform destroy