Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Crea agentes de IA conversacional con Azure AI Foundry

By David SpenardSep 23, 202510 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Foto de Wanan Wanan en Shutterstock

**Introducción**

Azure AI Foundry de Microsoft simplifica el desarrollo de IA gracias a una plataforma unificada para crear, desplegar y administrar aplicaciones inteligentes. Funciona como tu centro de desarrollo de IA y reúne en un mismo entorno los modelos de lenguaje, la gestión de datos y las herramientas de despliegue. Abstrae la complejidad del desarrollo de IA sin sacrificar la flexibilidad que los desarrolladores necesitan para crear soluciones sofisticadas.

Vamos a empezar con una interacción de chat básica para entender las capacidades fundamentales de conversación de un modelo de lenguaje grande. Después exploraremos Azure AI Foundry Agent Service, donde se pueden crear agentes especializados que ejecutan tareas concretas, conservan el contexto de la conversación y se integran con fuentes de datos externas.

Te voy a mostrar cómo crear rápidamente un agente básico que se apoya únicamente en sus datos de entrenamiento, y luego una versión mejorada que suma fuentes de conocimiento adicionales para dar respuestas más precisas. Por último, veremos un ejemplo práctico en Python que muestra cómo integrar estos agentes directamente en tus aplicaciones para lograr soluciones inteligentes y escalables.

Ecosistema de Azure AI Foundry

Componentes de un agente de IA

**Portal de Azure**

Para este ejemplo vamos a hacer una configuración estándar de Azure AI Foundry y un Agent Service desde el Portal de Azure. Los requisitos previos son mínimos: solo unos cuantos permisos una vez que tengas acceso a tu suscripción de Azure.

  • Consigue acceso a una suscripción de Azure; puedes empezar gratis.
  • Asegúrate de tener los roles Azure AI Account Owner y Azure AI Project Manager en el ámbito de la suscripción.
  • Si vas a configurar la configuración estándar de Azure AI Foundry, asegúrate de contar con los permisos para asignar roles a los recursos necesarios (Cosmos DB, Azure AI Search, Azure Blob Storage). Para más información sobre los roles RBAC específicos de Azure AI Foundry Agent Service, consulta los roles RBAC de Azure AI Foundry Agent Service. El rol integrado que necesitas es Role Based Access Administrator, que otorga el permiso clave Microsoft.Authorization/roleAssignments/write.
  • Si te aparecen errores sobre registros faltantes o proveedores no registrados, deberás registrar el proveedor que se indica en el mensaje de error.

Despliega el proyecto y un agente de IA básico

Usa esta plantilla de despliegue personalizada para aprovisionar el proyecto de Azure AI Foundry y el agente.

https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fazure-ai-foundry%2Ffoundry-samples%2Frefs%2Fheads%2Fmain%2Fsamples%2Fmicrosoft%2Finfrastructure-setup%2F40-basic-agent-setup%2Fbasic-setup.json

Esto se abre en el Portal de Azure y crea un proyecto de Azure AI Foundry, donde puedes trabajar en un entorno independiente para explorar tus ideas de IA, armar prototipos y mucho más.

Selecciona la suscripción y el grupo de recursos, completa los demás campos (incluida la ubicación) y deja sin tocar los campos relacionados con el modelo. Con eso quedan listos los datos para crear el proyecto y desplegar un modelo GPT-4o.

Haz clic en el botón "Review + create" para desplegar la plantilla. El proceso tarda unos minutos.

Formulario de la plantilla de despliegue para crear los recursos de Azure AI Foundry

Cuando termine el despliegue, haz clic en "go to resource group" para ver los recursos.

Grupo de recursos con el proyecto desplegado

Si haces clic en el enlace del proyecto, llegarás al portal de Azure AI Foundry.

Enlace para ir al proyecto

Portal de Azure AI Foundry

Conversa con el modelo

Cuando entres al portal de Azure AI Foundry, si no te lleva directamente al Playground de tu proyecto, selecciona el nombre del proyecto en la página principal y luego elige Playgrounds. Se seleccionará automáticamente el despliegue de gpt-4o y podrás empezar a conversar con el modelo. Prueba algunos prompts y observa los resultados. También puedes experimentar con distintas instrucciones para el modelo, restringir las respuestas a un tema en particular o agregar una fuente de datos para complementar el modelo con tu propia información.

Por ejemplo, le indiqué al modelo que solo respondiera sobre terremotos y luego le pedí una receta.

Playground de chat con instrucciones de ejemplo para el modelo

Despliega el chatbot como aplicación web

Una funcionalidad interesante es desplegar un chatbot sencillo como aplicación web. El despliegue tarda varios minutos y, una vez listo, puedes hacer clic en el enlace para abrir la aplicación y probarla. Ten en cuenta que aún falta bastante para que algo así esté listo para producción, pero es una buena muestra de lo fácil que es crear una aplicación web de chat básica.

Junto al botón "View code", en la parte superior de la interfaz del Chat playground, selecciona "Deploy as web app".

Desplegar el chatbot como aplicación web

Para abrir la aplicación web una vez desplegada, ve a "My assets/Web apps" y haz clic en el enlace de la aplicación.

Abrir la aplicación web

Como habrás notado en el Chat playground, cuando le di instrucciones al modelo, restringí sus respuestas únicamente a preguntas sobre terremotos. Tal como se ve en la interfaz de chat de la aplicación web, el modelo no quiso contarme un chiste, pero sí respondió una pregunta sobre terremotos. Eso sí, el modelo se entrenó con datos hasta octubre de 2023, así que en la siguiente sección te voy a mostrar cómo complementarlo con una fuente de datos personalizada sin necesidad de reentrenarlo.

Ejemplo de aplicación web del chatbot

Usa un agente para conversar con el modelo

Crear un agente sencillo

Ahora que ya entiendes cómo funciona conversar con un modelo, vamos a llevarlo un paso más allá con un agente que envuelva esta funcionalidad. Después complementaremos el conocimiento del modelo con una fuente de datos personalizada y llamaremos al agente desde un ejemplo sencillo en Python.

Selecciona "Agents/New Agent" para crear un nuevo agente. Asígnale un nombre y un conjunto de instrucciones. Las instrucciones son obligatorias y deben ser específicas a lo que el agente tiene que hacer; en este caso, será un agente que solo puede responder preguntas sobre terremotos. Puedes dejar el Deployment con el valor predeterminado gpt-4o, y los valores predeterminados de Temperature y Top P están bien tal como están. Los cambios en la configuración del agente se guardan automáticamente.

Configuración del agente para conversar sobre terremotos

Si haces clic en el botón "Try in playground", podrás probar el agente igual que como conversaste antes directamente con el modelo.

Complementa el agente con conocimiento adicional

Azure AI Foundry ofrece varias opciones para integrar datos personalizados en tus aplicaciones y servicios de IA. Eso queda fuera del alcance de este artículo, pero hay más información aquí.

Como ejemplo sencillo, voy a agregar un archivo PDF como fuente de datos para darle a mi agente más conocimiento sobre terremotos. Descargué una copia en PDF de la página de Wikipedia sobre el terremoto de la península de Kamchatka de 2025, que puedes descargar aquí si quieres seguir el ejemplo y usarlo en tu agente.

Una vez que tengas el archivo PDF, haz clic en el botón "+Add" en la sección Knowledge de la configuración del agente y luego selecciona "Files" para subir el archivo. Puedes dejar los valores predeterminados para crear un nuevo vector store y luego elige "Upload and save".

Archivo PDF cargado para complementar al agente con más conocimiento sobre terremotos

Si vuelves a hacer clic en "Try in playground", esta vez podrás preguntarle sobre el terremoto de julio de 2025.

Conversación con el agente después de agregar una fuente de datos

Ejemplo en Python para llamar al agente

Ahora que ya entiendes cómo funciona un agente básico en Azure AI Foundry, vamos a probar algo de código en Python para invocar directamente el endpoint del modelo. Pero primero, copia el endpoint del proyecto de Azure AI Foundry desde la página Overview, y el Agent ID desde la página del agente.

Página Overview con el endpoint del proyecto de Azure AI Foundry

Página del agente con el Agent ID

Copia este código fuente localmente en un archivo llamado agent_earthquake_chat.py. Es un ejemplo simple y bastante trivial en Python que de ninguna manera está pensado para producción :)

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder

import os

endpoint = os.getenv("AZURE_FOUNDRY_ENDPOINT")
agent_id = os.getenv("AZURE_FOUNDRY_AGENT_ID")

if not endpoint or not agent_id:
    raise EnvironmentError("AZURE_FOUNDRY_ENDPOINT and AZURE_FOUNDRY_AGENT_ID must be set in your environment.")

project = AIProjectClient(
    credential=DefaultAzureCredential(),
    endpoint=endpoint)

agent = project.agents.get_agent(agent_id)

thread = project.agents.threads.create()
print(f"Created agent thread, ID: {thread.id}")
print("Type 'quit' to exit the chat.")

# Initial message
message = project.agents.messages.create(
    thread_id=thread.id,
    role="user",
    content="Hi Agent"
)

run = project.agents.runs.create_and_process(
    thread_id=thread.id,
    agent_id=agent.id)

if run.status == "failed":
    print(f"Run failed: {run.last_error}")
else:
    messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
    for message in messages:
        if message.text_messages:
            print(f"{message.role}: {message.text_messages[-1].text.value}")

# Chat loop
while True:
    user_input = input("You: ").strip()
    if user_input.lower() == "quit":
        print("Conversation ended. See you next time.")
        break

    # Add user message
    project.agents.messages.create(
        thread_id=thread.id,
        role="user",
        content=user_input
    )

    # Run agent again
    run = project.agents.runs.create_and_process(
        thread_id=thread.id,
        agent_id=agent.id)

    if run.status == "failed":
        print(f"Run failed: {run.last_error}")
        continue

    # Display latest response
    messages = list(project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING))
    for message in reversed(messages):
        if message.role == "assistant" and message.text_messages:
            print(f"Agent: {message.text_messages[-1].text.value}\n")
            break

Aquí tienes las instrucciones paso a paso y los comandos para ejecutar tu script en un entorno aislado de Python, sin depender de paquetes globales.

  1. Estando en la misma carpeta donde descargaste el código fuente, crea un entorno virtual de Python:
python3 -m venv foundry-env

2. Activa el entorno:

source foundry-env/bin/activate

3. Actualiza pip (recomendado):

pip install --upgrade pip

4. Instala las dependencias necesarias de Azure:

pip install azure-ai-projects azure-identity

5. Define las variables de entorno para el agente de Azure AI Foundry con tus valores específicos:

export AZURE_FOUNDRY_ENDPOINT="https://foundryyizp.services.ai.azure.com/api/projects/foundry-demo-project"
export AZURE_FOUNDRY_AGENT_ID="asst_ABCfRyUC7X4AenJN3wyRY7AJ"

6. Ejecuta tu script:

python agent_earthquake_chat.py

Ejemplo de chat vía Python

(foundry-env) david@Mac azure-ai-foundry % python agent_earthquake_chat.py
Created agent thread, ID: thread_Y9FxpLWwVELeY3wlNoE1K6ez
Type 'quit' to exit the chat.
MessageRole.USER: Hi Agent
MessageRole.AGENT: Hello! How can I assist you with earthquake-related information today?
You: What is Azure AI Foundry?
Agent: I'm here to assist with earthquake-related information only. Let me know if you have any questions about earthquakes!

You: What was the tsunami impact of the July 2025 earthquake not far from Russia?
Agent: The July 2025 earthquake off the coast of Kamchatka, Russia, had widespread tsunami impacts. Tsunami waves reached heights of up to 15 meters in some Russian regions, causing local panic and destruction, particularly in Severo-Kurilsk, Komandorsky Islands, and nearby areas. Coastal regions as far as Hawaii, Alaska, and Japan observed increased wave activity, with localized alerts issued in the Pacific Rim. Evacuations were prompted in Japan and parts of the United States due to concerns of waves exceeding several meters in height【8:0†source】【8:1†source】【8:19†source】.

You: Give me 10 bullet points explaining what happens when an earthquake occurs.
Agent: Here are 10 key points explaining what happens during an earthquake:

1. **Rupture at Fault Line**: Earthquakes begin when stress in Earth's crust surpasses the strength of the rocks, causing a sudden rupture along fault lines.

2. **Release of Energy**: This rupture releases a burst of energy in the form of seismic waves, propagating through the Earth.

3. **Seismic Waves Propagate**:
   - *Primary Waves (P-Waves)*: Travel fastest and move through solids, liquids, and gases.
   - *Secondary Waves (S-Waves)*: Slower than P-waves and cannot travel through liquids.

4. **Ground Shaking**: These seismic waves cause the ground to shake, with the intensity depending on the earthquake's magnitude and depth.

5. **Surface Displacement**: In some cases, visible breaks or shifts appear at the Earth's surface along the fault line.

6. **Aftershocks**: Smaller earthquakes occur as the crust adjusts to the changes caused by the mainquake.

7. **Tsunamis** (if under ocean): Submarine earthquakes displace water, potentially generating tsunamis that radiate outward.

8. **Landslides and Liquefaction**: Ground disturbances can lead to landslides or liquefaction of soils, which compromise stability in affected areas.

9. **Damage and Destruction**: Seismic activity damages buildings, infrastructure, and natural landscapes, depending on proximity and construction standards.

10. **Human Response and Resilience**: People respond with evacuations, rescue operations, and rebuilding efforts, adapting to the earthquake's aftermath.

Let me know if you'd like details on any specific aspect!

You: quit
Conversation ended. See you next time!

Limpia los recursos de Azure

El costo de los recursos creados en este ejercicio es muy bajo, pero estima un gasto de entre $1 y $2. Después de crear el proyecto y experimentar con varias decenas de prompts en el chat playground y en el ejemplo de Python, mis costos no llegaron a $3.

Para limpiar todos los recursos de Azure usados durante el ejercicio, Azure te lo facilita mucho. De vuelta en el Portal de Azure, ve a Resource groups, selecciona el grupo de recursos que creaste para este ejercicio y elige "Delete resource group" para eliminarlo.

Eliminar el grupo de recursos en el Portal de Azure

Pasamos de una interacción de chat básica a construir un agente especializado con integración de conocimiento externo, y cerramos con un ejemplo práctico en Python para implementaciones reales. Azure AI Foundry tiende un puente eficaz entre la complejidad de la IA y la accesibilidad para los desarrolladores: ofrece las herramientas necesarias para crear aplicaciones inteligentes, sofisticadas y escalables sin que los detalles técnicos te abrumen. Hay mucho más por descubrir en Azure AI Foundry más allá de lo que vimos aquí, y espero que esta pequeña muestra de sus capacidades te dé la guía y la motivación para crear aplicaciones increíbles con IA en Azure.

Ya sea IA generativa y machine learning, optimización de costos y automatización de infraestructura, o hardening de seguridad y diseño de arquitectura cloud, DoiT International cuenta con amplia experiencia en múltiples dominios de la nube. Para descubrir cómo DoiT puede ayudarte a implementar IA y modernizar otros aspectos de tu infraestructura cloud, no dudes en contactarnos y conocer nuestras soluciones de cloud engineering.