DEV Community

Cover image for RAG on Azure OpenAI
Enrique Aguilar Martinez
Enrique Aguilar Martinez

Posted on • Edited on

2

RAG on Azure OpenAI

Implementación de RAG en Azure OpenAI

  1. Introducción

Propósito del artículo: Explicar cómo construir un modelo RAG (Retrieval Augmented Generation) utilizando Azure OpenAI.

Contexto: RAG combina recuperación de información con generación de texto para mejorar la precisión de respuestas en modelos de lenguaje.

Importancia de Azure: Plataforma segura y escalable que integra servicios como Azure Cognitive Search y Azure OpenAI.

  1. Objetivos

Explicar el funcionamiento de RAG en Azure OpenAI.

Demostrar la implementación práctica de una solución RAG.

Discutir ventajas y casos de uso del enfoque RAG.

  1. ¿Qué es RAG?

Definición: Técnica que combina dos componentes:

Recuperador: Busca información relevante en bases de datos o documentos.

Generador: Modelo de lenguaje (como GPT-4) que genera respuestas usando la información recuperada.

Flujo de trabajo:

Consulta del usuario.

Recuperación de fragmentos relevantes.

Generación de respuesta contextualizada.

  1. Azure OpenAI y su Papel en RAG

Componentes clave:

Azure OpenAI: Proporciona modelos generativos (GPT-4, Codex, etc.).

Azure Cognitive Search: Servicio para indexar y buscar en documentos.

Ventajas de Azure:

Escalabilidad para manejar grandes volúmenes de datos.

Cumplimiento de normativas de seguridad.

Integración sencilla entre servicios mediante SDKs y APIs.

Nota regional: Crear recursos en la región Suecia Central (disponibilidad de servicios y menor saturación).

  1. Implementación Práctica 5.1 Creación de Recursos en Azure

Grupo de recursos:

az group create -n rg-openai-course2 -l swedencentral
Servicio de Azure Cognitive Search:

bash
az search service create -n ai-search-swc-demo2 -g rg-openai-course2 --sku free
Clave de administrador:

bash
az search admin-key show --service-name ai-search-swc-demo2 -g rg-openai-course2
5.2 Configuración de Azure AI Services

Creación del recurso:

bash
az cognitiveservices account create -n ai-services-swc-demo2 -g rg-openai-course2 --kind AIServices --sku S0 --location swedencentral
Obtención de credenciales:

URL del endpoint:

Image description

bash
az cognitiveservices account show -n ai-services-swc-demo2 -g rg-openai-course2 --query properties.endpoint

Claves de API:

bash
az cognitiveservices account keys list -n ai-services-swc-demo2 -g rg-openai-course2

5.3 Despliegue de Modelos

Modelo GPT-4o:

Image description

bash

az cognitiveservices account deployment create -n ai-services-swc-demo2 -g rg-openai-course2 --deployment-name gpt-4o --model-name gpt-4o --model-version "2024-05-13" --model-format OpenAI --sku-capacity "148" --sku-name "Standard"
Modelo de embeddings (text-embedding-3-large):

bash

az cognitiveservices account deployment create -n ai-services-swc-demo2 -g rg-openai-course2 --deployment-name text-embedding-3-large --model-name text-embedding-3-large --model-version "1" --model-format OpenAI --sku-capacity "227" --sku-name "Standard"
5.4 Creación de Hub y Proyecto en Azure AI Studio

Hub:

Image description

bash
az ml workspace create --kind hub -g rg-openai-course2 -n hub-demo
Proyecto:

Crear manualmente desde Azure AI Studio (no soportado vía CLI).

5.5 Configuración de Conexiones

Archivo connection.yml:

yaml
Copy
name: ai-service-connection
type: azure_ai_services
endpoint: https://swedencentral.api.cognitive.microsoft.com/
api_key: [API_KEY]
ai_services_resource_id: [RESOURCE_ID]
Implementación de la conexión:

bash
az ml connection create --file connection.yml -g rg-openai-course2 --workspace-name hub-demo

6. Confirmación de Recursos

Verificar en Azure Portal la creación de los 6 recursos:

Image description
Grupo de recursos.

Servicio de Azure Cognitive Search.

Recurso de Azure AI Services.

Modelos desplegados (GPT-4o y text-embedding-3-large).

Hub y proyecto en Azure AI Studio.

  1. Conclusión

RAG en Azure OpenAI permite construir soluciones avanzadas con acceso a información en tiempo real.

La integración con servicios de Azure garantiza escalabilidad, seguridad y facilidad de uso.

Pasos siguientes: Probar consultas y personalizar el índice de búsqueda según necesidades específicas.

Image description

repo:
https://github.com/EnriqueAguila/RAG-en-Azure-Openai

Enrique Aguilar Martinez
AI Engineer

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (2)

Collapse
 
lidia_delcarmenbenitez profile image
Lidia del Carmen Benitez Ruiz

great

Collapse
 
spherecloudsolutions_d41e profile image
SphereCloudSolutions

Excelente trabajo, muy bien descrito los pasos.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more