Le modèle Terraform automatise le déploiement de bout en bout des applications Azure OpenAI à l'aide de Redis Enterprise comme base de données vectorielle.

Dans un seul script terraform, il déploie:
text-davinci-003 et text-embedding-ada-002 Modèles./docsUn exemple d'application utilisé dans ce dépôt vous permet d'utiliser Chatgpt pour analyser les documents, précédemment inconnus de Chatgpt et / ou internes à votre organisation.
Il y a deux flux de données dans l'application. Premièrement - génération par lots d'incorporation dans le contexte du document. Ces intérêts sont stockés dans Azure Redis Enterprise. Deuxièmement - en utilisant ces intérêts pour générer l'invite de contexte à ChatGpt, il répond donc aux questions, en fonction du contexte des documents internes.
Questions que vous pouvez essayer:
Quelles sont les principales différences entre les trois types de moteurs disponibles pour le Chevy Colorado? Formatez la réponse comme une table avec le modèle comme première colonne
Quelles options de couleur sont disponibles? Format comme une liste
Crédits d'application - https://github.com/redisventures/llm-document-chat
Authentifiez Azure CLI sur votre compte Azure:
az login
Déployer la configuration de Terraform:
terraform init
terraform apply
Vous pouvez ajouter vos propres documents au dossier ./docs (PDF ou texte brut), afin qu'ils puissent être téléchargés sur le seau pendant le déploiement.
Il pourrait prendre jusqu'à 20 minutes pour provisionner toutes les infrastructures requises.
À la fin, le script Terraform sortirait un tas de 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 peut être utilisé pour accéder immédiatement à l'application.
Utilisez terraform.tfvars ou terraform apply -var="name_prefix=my-deployment" pour remplacer le préfixe de nom de ressource par défaut et l'image de conteneur à déployer avec le webApp.
Pour modifier l'application, déployé sous forme d'application Web Azure - modifiez les valeurs app_docker_image et app_docker_tag dans terraform.tfvars . Le code source de l'application par défaut est inclus dans ce dépôt dans le dossier ./app .
Compte Azure, Azure CLI, Terraform CLI installé localement.
Azure Open AI actuellement (mai 2023) est dans l'aperçu privé. Vous devez soumettre la demande à Microsoft pour l'activer pour votre compte.
L'API d'intégration Azure Openai a actuellement des limites strictes sur la fréquence de demande, ce qui pourrait le rendre ne faisant pas possible d'une génération d'incorporation en vrac. Envisagez d'utiliser des intérêts locaux tels que:
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
Bien qu'Azure Openai et Azure Redis Enterprise ne puissent pas être déployés localement, vous pouvez utiliser votre machine locale pour tester l'application elle-même.
Après avoir exécuté la terraform apply vous pouvez utiliser les services Azure générés pour tester votre code d'application localement. Utilisez .env.Template comme exemple et remplissez-le avec des clés et des URL réelles.
docker build -t llm-chat .
docker run -it -p 80:80 --env-file=.env llm-chat
Construire / pousser l'image multiplateforme (utile pour le développement local sur Mac / ARM):
docker buildx build --platform linux/amd64,linux/arm64 -t antonum/llmchat:latest --push .
azurerm_cognitive_account.openai coincé en phase creating . Au moment de la rédaction du moment de la rédaction (mai 2023), Azure a parfois rencontré des problèmes de déploiement des services Openai. Essayez de déployer la pile dans une autre région. Par exemple, définissez azure_region = "southcentralus" au lieu d' eastus .
SpecialFeatureOrQuotaIdRequired: The subscription does not have QuotaId/Feature required by SKU 'S0' from kind 'OpenAI'Votre compte Azure n'a pas activé Azure OpenAI. Au moment de la rédaction du moment de la rédaction (mai 2023), Azure Openai est en avant-première. Vous devez soumettre la demande à Microsoft pour l'activer pour votre abonnement.
Pour détruire toutes les ressources déployées Run:
terraform destroy