Blog GenAI AI/ML Data agentes

Nota de Transparencia para Azure Agent Service: Fundamentos y Ejemplos Prácticos

Ilustración de un agente inteligente interactuando con fuentes de conocimiento

Introducción a la Transparencia en Azure Agent Service

Azure Agent Service, parte del ecosistema Microsoft Foundry, permite la creación de agentes inteligentes que interactúan con modelos de IA, herramientas y fuentes de conocimiento conectadas. La transparencia es un principio clave para garantizar que estos agentes operen de manera responsable y predecible, especialmente cuando integran datos de fuentes externas como Bing Search, SharePoint, Azure Blob Storage y más.

En este artículo, exploraremos los fundamentos de la transparencia en Azure Agent Service y proporcionaremos ejemplos prácticos para entender cómo implementar agentes que cumplan con estos principios.


Principios de Transparencia en Azure Agent Service

La transparencia en Azure Agent Service se basa en tres pilares fundamentales:

1. Acceso a Fuentes de Conocimiento

Los agentes pueden extender su funcionalidad mediante la integración de fuentes de conocimiento externas. Esto incluye datos públicos, datos empresariales y fuentes licenciadas. Es crucial que los desarrolladores comprendan cómo estas fuentes son utilizadas y representadas por los agentes.

Note: Todas las fuentes de conocimiento deben estar claramente documentadas y ser auditable para garantizar conformidad con políticas de privacidad y seguridad.

2. Interacciones con Herramientas

Los agentes pueden ejecutar acciones mediante herramientas integradas, como Azure Cognitive Services o APIs personalizadas. La transparencia aquí implica que los usuarios deben entender qué herramientas están siendo utilizadas y cómo impactan los resultados generados.

3. Trazabilidad de Decisiones

Cada decisión tomada por un agente debe ser trazable. Esto incluye el modelo utilizado, los datos procesados y las herramientas invocadas. La trazabilidad es esencial para auditar el comportamiento del agente y corregir posibles errores.


Ejemplo Práctico: Creación de un Agente Transparente con Azure Agent Service

A continuación, implementaremos un agente que utiliza Azure Blob Storage como fuente de conocimiento y Bing Search para complementar respuestas. Este agente será diseñado para cumplir con los principios de transparencia.

Configuración Inicial

Primero, configuramos las credenciales necesarias para acceder a Azure Blob Storage y Bing Search. Asegúrate de que las claves de acceso están almacenadas de forma segura.

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
from bing_search_api import BingSearchClient

# Configuración de Azure Blob Storage
blob_service_client = BlobServiceClient(account_url="https://<tu-cuenta>.blob.core.windows.net", credential=DefaultAzureCredential())

# Configuración de Bing Search
bing_client = BingSearchClient(api_key="<tu-clave-api>")

Warning: Nunca expongas claves de acceso directamente en tu código. Utiliza Azure Key Vault o variables de entorno para gestionar credenciales.

Integración de Fuentes de Conocimiento

El agente combinará datos de Blob Storage y resultados de Bing Search para responder preguntas de los usuarios. Aquí está el código para recuperar datos de ambas fuentes:

def obtener_datos_blob(container_name, blob_name):
    blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_name)
    contenido = blob_client.download_blob().readall()
    return contenido.decode('utf-8')

def buscar_en_bing(query):
    resultados = bing_client.search(query=query, count=5)
    return [result['snippet'] for result in resultados]

Implementación del Agente

El siguiente paso es implementar la lógica del agente para combinar las respuestas de ambas fuentes.

def agente_transparente(pregunta):
    # Recuperar datos de Blob Storage
    datos_blob = obtener_datos_blob("documentos", "preguntas_frecuentes.txt")
    
    # Realizar búsqueda en Bing
    resultados_bing = buscar_en_bing(pregunta)
    
    # Combinar respuestas
    respuesta = f"Datos locales: {datos_blob}\n\nResultados de Bing:\n" + "\n".join(resultados_bing)
    return respuesta

Ejecución del Agente

Probemos el agente con una pregunta de ejemplo:

pregunta = "¿Cuáles son las mejores prácticas para la seguridad en la nube?"
respuesta = agente_transparente(pregunta)
print(respuesta)

Note: Este enfoque garantiza que las fuentes utilizadas por el agente sean claramente identificables y que los usuarios puedan auditar el origen de las respuestas.


Consideraciones de Transparencia en Producción

Cuando implementes agentes en un entorno de producción, ten en cuenta lo siguiente:

  • Documentación: Proporciona documentación detallada sobre las fuentes de conocimiento y herramientas utilizadas por el agente.
  • Auditoría: Implementa mecanismos para registrar todas las interacciones del agente, incluyendo consultas y respuestas.
  • Consentimiento: Asegúrate de que los usuarios finales entienden cómo se utilizan sus datos en el proceso.

Recursos Relacionados

Si te interesa profundizar en temas relacionados con agentes inteligentes y recuperación agentiva, consulta los siguientes artículos en Azurebrains:


Conclusión

La transparencia en Azure Agent Service no solo es un principio ético, sino también una práctica esencial para construir agentes confiables y responsables. Al seguir los principios y ejemplos discutidos en este artículo, puedes diseñar agentes que no solo sean efectivos, sino también alineados con los estándares de transparencia y trazabilidad.