La plantilla de Terraform automatiza la implementación de extremo a extremo de aplicaciones Azure OpenAI utilizando Redis Enterprise como una base de datos vectorial.

En un solo script de TerraForm, implementa:
text-davinci-003 y modelos de text-embedding-ada-002./docsUna aplicación de ejemplo utilizada en este repositorio le permite usar CHATGPT para analizar los documentos, previamente desconocidos para ChatGPT y/o internos para su organización.
Hay dos flujos de datos en la aplicación. Primero - Generación por lotes de incrustación del contexto del documento. Estas integridades se almacenan en Azure Redis Enterprise. Segundo: usando estos incrustaciones para generar el mensaje de contexto consciente de ChatGPT, por lo que responde preguntas, en función del contexto de los documentos internos.
Preguntas que puede probar:
¿Cuáles son las principales diferencias entre los tres tipos de motor disponibles para el Chevy Colorado? Formatear la respuesta como tabla con el modelo como primera columna
¿Qué opciones de color están disponibles? Formatear como lista
Créditos de la aplicación-https://github.com/redisventures/llm-document-chat
Autenticar Azure CLI a su cuenta de Azure:
az login
Implementar configuración de Terraform:
terraform init
terraform apply
Puede agregar sus propios documentos a la carpeta ./docs (PDF o texto sin formato), para que puedan cargarse en el cubo durante la implementación.
Puede tomar hasta 20 minutos para aprovisionar toda la infraestructura requerida.
Al final, el script de Terraform produciría un montón de las variables.
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 se puede usar para acceder inmediatamente a la aplicación.
Use terraform.tfvars o terraform apply -var="name_prefix=my-deployment" para anular el prefijo de nombre de recurso predeterminado y la imagen del contenedor para implementar con la aplicación web.
Para cambiar la aplicación, implementada como una aplicación web de Azure, cambie app_docker_image y los valores app_docker_tag en terraform.tfvars . El código fuente para la aplicación predeterminada se incluye en este repositorio en la carpeta ./app .
Cuenta Azure, Azure CLI, Terraform CLI instalada localmente.
Azure Open AI actualmente (mayo de 2023) está en la vista previa privada. Debe enviar la solicitud a Microsoft para habilitarla para su cuenta.
La API de incrustación de Azure OpenAi actualmente tiene límites estrictos en la frecuencia de solicitud, lo que podría hacer que no sea factible para una generación de incrustación masiva. Considere usar incrustaciones locales como:
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
Si bien Azure Openai y Azure Redis Enterprise no se pueden implementar localmente, puede usar su máquina local para probar la aplicación en sí.
Después de ejecutar la terraform apply puede usar los servicios de Azure generados para probar su código de aplicación localmente. Use .env.template como ejemplo y llévelo con claves y URL reales.
docker build -t llm-chat .
docker run -it -p 80:80 --env-file=.env llm-chat
Construir/empujar la imagen multiplataforma (útil para el desarrollo local en Mac/ARM):
docker buildx build --platform linux/amd64,linux/arm64 -t antonum/llmchat:latest --push .
azurerm_cognitive_account.openai se atasca en creating de fase. Al momento de escribir este artículo (mayo de 2023), Azure ocasionalmente experimenta problemas que implementan servicios de OpenAI. Intente implementar la pila en otra región. Por ejemplo, establecer azure_region = "southcentralus" en lugar de eastus .
SpecialFeatureOrQuotaIdRequired: The subscription does not have QuotaId/Feature required by SKU 'S0' from kind 'OpenAI'Su cuenta de Azure no tiene habilitado Azure OpenAI. Al momento de escribir este artículo (mayo de 2023), Azure Openai está en una vista previa privada. Debe enviar la solicitud a Microsoft para habilitarla para su suscripción.
Para destruir todos los recursos implementados ejecutados:
terraform destroy