Azure OpenAI Service
Implemente un modelo GPT en Azure OpenAI Service, llame a la API de completions desde un script y comprenda los principios de IA responsable y las opciones de filtrado de contenido.
Azure OpenAI Service es una lección gratuita de Azure Fundamentals en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Azure Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Azure Fundamentals incluye 4 lecciones en total.
¿Qué es Azure OpenAI Service?
Azure OpenAI Service proporciona acceso a los modelos de lenguaje de gran tamaño de OpenAI, incluidos los modelos GPT-4, GPT-3.5-turbo, DALL-E y Embeddings, mediante la infraestructura en la nube Azure de Microsoft. A diferencia del uso directo de la API de OpenAI, Azure OpenAI ofrece funciones empresariales: redes privadas mediante VNet/Private Link, certificaciones de cumplimiento de Microsoft (ISO 27001, SOC 2, GDPR), filtrado de contenido, privacidad de los datos del cliente (sus datos no se utilizan para entrenar los modelos base de OpenAI) e integración con Azure RBAC y la supervisión.
Solicitud de acceso e implementación de modelos
Azure OpenAI requiere una suscripción aprobada: el acceso está restringido y debe solicitarse mediante un formulario. Una vez aprobado, debe crear un recurso de Azure OpenAI y, después, crear una implementación dentro de él. Una implementación vincula un modelo (por ejemplo, gpt-4) a un nombre de implementación (por ejemplo, my-gpt4) y a una cuota de tokens (límite de tokens por minuto). Debe llamar a la API utilizando el nombre de la implementación, no el nombre del modelo base. En un mismo recurso pueden coexistir varias implementaciones con distintos modelos o cuotas.
# Create an Azure OpenAI resource
az cognitiveservices account create \
--name myOpenAI \
--resource-group myRG \
--kind OpenAI \
--sku S0 \
--location eastus
# Create a deployment
az cognitiveservices account deployment create \
--name myOpenAI \
--resource-group myRG \
--deployment-name my-gpt4 \
--model-name gpt-4 \
--model-version '0613' \
--model-format OpenAI \
--sku-name Standard \
--sku-capacity 10API de finalizaciones de chat
La chat completions API (/openai/deployments/{deployment}/chat/completions) acepta una lista de mensajes con roles (system, user, assistant) y devuelve la respuesta del modelo. El mensaje system establece el comportamiento y la personalidad del modelo. El mensaje user contiene el prompt o la pregunta. Los turnos anteriores de la conversación se incluyen en la matriz de mensajes para que el modelo mantenga el contexto durante un diálogo de varios turnos. La temperatura (0–2) controla la aleatoriedad de la respuesta.
# Chat completion API call
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-gpt4/chat/completions?api-version=2024-02-01' \
-H 'api-key: <key>' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{"role": "system", "content": "You are a helpful Azure expert."},
{"role": "user", "content": "Explain what a Recovery Services vault is."}
],
"temperature": 0.7,
"max_tokens": 500
}'Fundamentos de la ingeniería de prompts
La ingeniería de prompts consiste en redactar mensajes de entrada eficaces para obtener los mejores resultados de un modelo de lenguaje. Entre las técnicas clave se incluyen: System prompt: asignar al modelo un rol y unas restricciones claros; Few-shot examples: mostrar al modelo entre 2 y 5 ejemplos del formato de entrada y salida deseado; Chain-of-thought: pedir al modelo que razone paso a paso antes de proporcionar la respuesta final; Constraints: indicar explícitamente el formato, la longitud y aquello que debe evitar. Los prompts bien diseñados reducen las alucinaciones y mejoran la coherencia.
Embeddings para búsqueda semántica
Embeddings convierten el texto en un vector numérico denso que captura su significado semántico. Dos fragmentos de texto con un significado similar tendrán vectores próximos entre sí en el espacio vectorial (medidos mediante la similitud del coseno). El endpoint de embeddings de Azure OpenAI (/embeddings) utiliza el modelo text-embedding-ada-002 para generar vectores de 1.536 dimensiones. Puede utilizar embeddings para crear búsqueda semántica (encontrar documentos similares a una consulta), RAG (Retrieval-Augmented Generation) y sistemas de recomendación.
# Get an embedding vector for a piece of text
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-embedding/embeddings?api-version=2024-02-01' \
-H 'api-key: <key>' \
-H 'Content-Type: application/json' \
-d '{
"input": "Azure Site Recovery replicates VMs to a secondary region."
}'Filtrado de contenido
Azure OpenAI incluye un sistema de filtrado de contenido de varias capas que se ejecuta tanto en los prompts (entrada) como en las finalizaciones (salida). Detecta y bloquea contenido de cuatro categorías: odio, sexual, violencia y autolesión. Cada categoría tiene tres niveles de gravedad (bajo, medio y alto), y puede configurar los umbrales de filtrado por categoría. También se filtran los intentos de inyección de prompts (jailbreaks que intentan anular el system prompt). El filtrado de contenido está activado de forma predeterminada y no puede deshabilitarse para la mayoría de los modelos sin justificar el caso de uso.
Generación aumentada mediante recuperación (RAG)
RAG fundamenta las respuestas del modelo de lenguaje en sus propios datos, en lugar de depender únicamente de los conocimientos utilizados para entrenarlo. El proceso es el siguiente: (1) indexe sus documentos en un almacén vectorial (por ejemplo, Azure AI Search); (2) cuando un usuario haga una pregunta, genere el embedding de la pregunta y busque fragmentos de documentos relevantes en el almacén vectorial; (3) incluya esos fragmentos en el system prompt como contexto; (4) el modelo responderá basándose en el contexto proporcionado. RAG reduce las alucinaciones y permite que los LLM respondan preguntas sobre datos privados y actualizados sin necesidad de ajuste fino.
Ajuste fino frente a RAG
Dos enfoques amplían las capacidades de los modelos con datos personalizados. El ajuste fino entrena una nueva versión del modelo con sus ejemplos, incorporando el conocimiento en los pesos del modelo; es la mejor opción para enseñar al modelo estilos, formatos o comportamientos específicos que son difíciles de describir en un prompt. RAG recupera información relevante en el momento de la inferencia y la proporciona en el contexto; es más adecuado para bases de conocimiento grandes que cambian con frecuencia, ya que se actualiza el índice vectorial en lugar de volver a entrenar el modelo. Para la mayoría de los casos de uso empresariales, se prefiere RAG por su menor coste y una iteración más rápida.
Azure AI Studio (AI Foundry)
Azure AI Studio (que está cambiando su marca a Azure AI Foundry) es un portal unificado para crear aplicaciones de IA generativa en Azure. Proporciona un entorno de pruebas para probar interactivamente las completaciones de los modelos, herramientas para evaluar la calidad de los modelos con conjuntos de datos de referencia, un diseñador de prompt flow para crear e implementar canalizaciones de RAG como API REST, e integración con GitHub y VS Code para los flujos de trabajo de desarrollo. Azure AI Studio simplifica el recorrido desde la implementación del modelo hasta una aplicación de IA en producción.
Precios de los tokens y administración de cuotas
Azure OpenAI se factura por cada 1.000 tokens procesados; un token equivale aproximadamente a 4 caracteres o 0,75 palabras. Se facturan tanto los tokens de entrada (prompt) como los de salida (completación). GPT-4 cuesta considerablemente más por token que GPT-3.5-turbo. Cada implementación tiene una cuota de tokens por minuto (TPM) que limita el rendimiento para evitar abusos. Si su aplicación supera la cuota, la API devuelve 429 TooManyRequests. Puede solicitar aumentos de cuota o implementar una lógica de reintentos y retroceso exponencial en el cliente.
IA responsable para la IA generativa
Microsoft aplica sus principios de IA responsable específicamente a la IA generativa. Fundamentación: las respuestas deben basarse en información verificable (RAG ayuda a conseguirlo). Transparencia: los usuarios deben saber que están interactuando con una IA. Prevención de daños: los filtros de contenido bloquean las salidas perjudiciales. Privacidad: sus datos en Azure OpenAI no se utilizan para entrenar los modelos globales de OpenAI. Las aplicaciones creadas con Azure OpenAI deben incluir una evaluación de riesgos del caso de uso e implementar medidas para mitigar los daños identificados, tal como exige la Directiva de uso aceptable de Microsoft.
Comprobación rápida
Compruebe sus conocimientos sobre los conceptos de Microsoft Azure Fundamentals (AZ-900) tratados en esta lección.
Resumen de la lección
En esta lección ha aprendido que Azure OpenAI Service proporciona acceso de nivel empresarial a GPT-4 y otros modelos, con redes privadas y funciones de cumplimiento; que la API de completaciones de chat permite conversaciones de varios turnos mediante los roles de mensajes system/user/assistant; y que embeddings y RAG fundamentan las respuestas del modelo en sus datos privados para reducir las alucinaciones. A continuación, exploraremos Azure Arc para administrar recursos híbridos y locales mediante el plano de control de Azure.
Preguntas frecuentes
¿La lección «Azure OpenAI Service» es gratis?
Sí — el texto completo de «Azure OpenAI Service» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Azure Fundamentals, actualiza a CoddyKit PRO. El curso de Azure Fundamentals incluye 4 lecciones en total.
¿Qué aprenderé en «Azure OpenAI Service»?
Implemente un modelo GPT en Azure OpenAI Service, llame a la API de completions desde un script y comprenda los principios de IA responsable y las opciones de filtrado de contenido. Practicas Azure Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Azure Fundamentals?
No se requiere experiencia previa. Azure Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Azure OpenAI Service»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Azure Fundamentals?
Sí. Cada lección de Azure Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a Azure Cognitive Services
- API de Language y Vision en la práctica
- Azure Machine Learning Studio
- Azure OpenAI Service