Servicios de IA

Migre sus agentes existentes a los servicios de inteligencia artificial de Couchbase

Una aplicación típica de agente de IA en 2025 suele incluir:

  • Un LLM alojado en la nube
  • Una base de datos vectorial para la recuperación
  • Una base de datos operativa independiente
  • Herramientas de gestión de avisos y herramientas de gestión de herramientas
  • Marcos de observabilidad y rastreo
  • Barandillas

Cada herramienta resuelve un problema. Sin embargo, en conjunto, pueden crear una expansión arquitectónica con latencia impredecible, aumento de los costos operativos y puntos ciegos en la gobernanza. Como resultado, muchos agentes de IA nunca pasan de ser demostraciones o prototipos internos porque la complejidad aumenta demasiado rápido.

En esta publicación se explica cómo migramos una aplicación de agente de IA existente a Couchbase AI Services y al Catálogo de agentes, pasando a una única plataforma de IA lista para la producción. 

El problema principal: la fragmentación mata la producción de IA

Es importante comprender por qué los sistemas agénticos tienen dificultades en la producción. La mayoría de los agentes de IA actuales se construyen a partir de demasiadas piezas poco acopladas entre sí: las indicaciones se encuentran en un sistema, los vectores en otro, las conversaciones se registran de forma inconsistente y las herramientas se invocan sin una trazabilidad clara. - lo que dificulta la depuración del comportamiento de los agentes. Al mismo tiempo, el envío de datos empresariales a terminales LLM de terceros introduce riesgos de cumplimiento normativo y seguridad. Por último, la gobernanza suele tratarse como una cuestión secundaria; muchos marcos hacen hincapié en lo que un agente puede hacer, pero no explican por qué tomó una decisión, qué indicaciones o herramientas influyeron en ella, o si esa decisión debería haberse permitido en primer lugar. Se trata de una laguna inaceptable para los flujos de trabajo empresariales reales.

¿Qué son los servicios de inteligencia artificial de Couchbase?

La creación de aplicaciones de IA a menudo implica combinar múltiples servicios: una base de datos vectorial para la memoria, un proveedor de inferencia para LLM (como OpenAI o Anthropic) y una infraestructura independiente para integrar modelos.

Servicios de inteligencia artificial de Couchbase Optimiza este proceso al proporcionar una plataforma unificada en la que conviven sus datos operativos, la búsqueda vectorial y los modelos de inteligencia artificial. Ofrece:

  • API de inferencia y embeddings de LLM: Acceda a modelos LLM populares (como Llama 3) y modelos de incrustación directamente en Couchbase Capella, sin claves API externas, sin infraestructura adicional y sin salida de datos. Los datos de su aplicación permanecen dentro de Capella. Las consultas, los vectores y la inferencia de modelos se realizan donde se encuentran los datos. Esto permite experiencias de IA seguras y de baja latencia, al tiempo que se cumplen los requisitos de privacidad y cumplimiento normativo. El valor clave: datos e IA juntos, con la información confidencial guardada dentro de su sistema.
  • Plataforma unificada: Mantenga su base de datos, vectorización, búsqueda y modelo en una ubicación central.
  • Búsqueda vectorial integrada: Realice búsquedas semánticas directamente en sus datos JSON con una latencia de milisegundos.

¿Por qué es necesario?

A medida que pasamos de los chatbots simples a flujos de trabajo de agentes - donde los modelos de IA utilizan herramientas de forma autónoma - La latencia y la complejidad de la configuración se convierten en importantes obstáculos. Couchbase AI Services adopta un enfoque centrado en la plataforma. Al ubicar conjuntamente sus datos y servicios de IA, reduce los gastos operativos y la latencia. Además, herramientas como la Catálogo de agentes Ayuda a gestionar cientos de indicaciones y herramientas para agentes, al tiempo que proporciona funciones integradas de registro y telemetría para los agentes. 

En este punto, la pregunta pasa de ser por qué es importante un enfoque centrado en la plataforma a cómo funciona en la práctica.

Veamos cómo se puede migrar una aplicación de agente existente y mejorar su rendimiento, gobernanza y confiabilidad en el proceso.

Aspecto actual de la aplicación

La aplicación actual es un agente de reclutamiento de recursos humanos diseñado para automatizar la selección inicial de candidatos. La función principal de la aplicación del agente es ingestar archivos de currículums sin procesar (PDF), comprender el contenido de los currículums utilizando un LLM y estructurar los datos no estructurados en un formato consultable enriquecido con incrustaciones semánticas en Couchbase. Permite a los profesionales de recursos humanos cargar una nueva descripción del puesto y obtener resultados de los candidatos más adecuados utilizando la búsqueda vectorial de Couchbase. 

En su estado actual, la aplicación HR Sourcing es un microservicio basado en Python que envuelve un LLM con Google ADK. Conecta manualmente las definiciones de los modelos, las indicaciones de los agentes y los procesos de ejecución. Aunque es funcional, la arquitectura requiere que el desarrollador gestione el estado de la sesión en la memoria, maneje la lógica de reintentos, limpie los resultados brutos del modelo y mantenga manualmente la integración entre el LLM y la base de datos. Además, no hay telemetría integrada para nuestro agente. 

La aplicación instancia manualmente un proveedor de modelos. En este caso concreto, se conecta a un modelo de código abierto alojado (Qwen 2.5-72B a través de Nebius) utilizando el LiteLLM Envoltura. La aplicación tiene que iniciar manualmente un entorno de tiempo de ejecución para el agente. Inicializa un InMemorySessionService para rastrear el estado de la conversación (aunque sea de corta duración) y un Runner para ejecutar la entrada del usuario (el texto del currículum) en la canalización del agente.

Migración de la aplicación del agente a los servicios de inteligencia artificial de Couchbase

Ahora veamos cómo migrar la lógica central de nuestro agente para utilizar los servicios de inteligencia artificial de Couchbase y el catálogo de agentes. 

El nuevo agente utiliza un agente LangChain ReAct para procesar las descripciones de los puestos de trabajo, realiza una selección inteligente de candidatos mediante búsqueda vectorial y ofrece recomendaciones de candidatos clasificadas con explicaciones. 

Requisitos previos

Antes de empezar, asegúrate de que tienes:

  • Python 3.10+ instalado.

Instalar dependencias

Comenzaremos instalando los paquetes necesarios. Esto incluye el agentec CLI para el catálogo y los paquetes de integración LangChain.

Servicio de modelos centralizado (integración de servicios de modelos de IA de Couchbase)

En el original adk_resume_agent.py, teníamos que instanciar LiteLLM manualmente, gestionar claves API de proveedores específicos (Nebius, OpenAI, etc.) y manejar la lógica de conexión dentro del código de nuestra aplicación. Migraremos el código para utilizar Couchbase. 

Couchbase AI Services proporciona puntos finales compatibles con OpenAI que utilizan los agentes. Para el LLM y las incrustaciones, utilizamos el paquete LangChain OpenAI, que se integra directamente con el conector LangChain Couchbase.

Habilitar servicios de IA

  1. Navega hasta la sección Servicios de IA de Capella en la interfaz de usuario.
  2. Implementa los modelos de incrustaciones y LLM.
    • Para esta demostración, debe iniciar una incrustación y un LLM en la misma región que el clúster Capella donde se almacenarán los datos.
    • Implementar un LLM que tenga capacidades de llamada de herramientas, como mistralai/mistral-7b-instruct-v0.3. Para las incrustaciones, puede elegir un modelo como el nvidia/llama-3.2-nv-embedqa-1b-v2.
  3. Anote la URL del punto final y genere claves API.

Para obtener más detalles sobre el lanzamiento de modelos de IA, puede consultar el documentación oficial.

Implementación de la lógica del código para modelos LLM y de incrustación

Necesitamos configurar los puntos finales para Capella Model Services. Capella Model Services es compatible con el formato API de OpenAI, por lo que podemos utilizar el estándar langchain-openai biblioteca apuntándola a nuestro punto final Capella. Inicializamos el modelo de incrustación con OpenAIEmbeddings y el LLM con ChatOpenAI, pero apúntalo hacia Capella.

 

En lugar de codificar de forma rígida los proveedores de modelos, el agente ahora se conecta a un punto final Capella unificado, que actúa como puerta de enlace API tanto para el LLM como para el modelo de incrustación. 

Desacoplamiento de mensajes y herramientas con el catálogo de agentes

El Catálogo de agentes es una potente herramienta para gestionar el ciclo de vida de las capacidades de sus agentes. En lugar de codificar de forma rígida las indicaciones y las definiciones de herramientas en sus archivos Python, puede gestionarlas como activos versionados. Puede centralizar y reutilizar sus herramientas en todos sus equipos de desarrollo. También puede examinar y supervisar las respuestas de los agentes con el Rastreador de agentes. Estas funciones proporcionan visibilidad, control y trazabilidad para el desarrollo y la implementación de agentes. Sus equipos pueden crear agentes con confianza, sabiendo que pueden ser auditados y gestionados de manera eficaz.  

Sin la capacidad de rastrear el comportamiento de los agentes, resulta imposible automatizar la confianza, la validación y la corroboración continuas de las decisiones autónomas tomadas por los agentes. En el Catálogo de Agentes, esto se lleva a cabo evaluando tanto el código del agente como la transcripción de su conversación con su LLM para valorar la idoneidad de su decisión pendiente o la búsqueda en la herramienta MCP.  

Así que incorporemos Agent Catalog al proyecto. 

Agregar la herramienta de búsqueda vectorial 

Comenzaremos añadiendo nuestra definición de herramienta para el Catálogo de agentes. En este caso, tenemos la herramienta de búsqueda vectorial. 

Para agregar una nueva función de Python como herramienta para su agente, puede utilizar el comando add de la herramienta de línea de comandos Agent Catalog:

agente añadir 

Si ya tiene una herramienta Python que desea agregar al catálogo de agentes, agregue agentc a sus importaciones y el decorador @agentc.catalog.tool a la definición de su herramienta. En nuestro ejemplo, definimos una función Python para realizar búsquedas vectoriales como nuestra herramienta. 

Añadir las indicaciones 

En la arquitectura original, las instrucciones del agente estaban ocultas dentro del código Python como variables de cadena grandes, lo que dificultaba su versión o actualización sin una implementación completa. Con el Catálogo de agentes, ahora definimos nuestra persona “Reclutador de RR. HH.” como un activo independiente y gestionado mediante indicaciones. Utilizando una definición YAML estructurada (record_kind: prompt), creamos el hr_recruiter_assistant. Esta definición no solo contiene el texto, sino que encapsula todo el comportamiento del agente, definiendo estrictamente el patrón ReAct (Pensamiento → Acción → Observación) que guía al LLM para utilizar la herramienta de búsqueda vectorial de forma eficaz.

Indexación y publicación de los archivos locales

Utilizamos agentec para indexar nuestros archivos locales y publicarlos en Couchbase. Esto almacena los metadatos en la base de datos, lo que permite que el agente los busque y los encuentre en tiempo de ejecución.

En nuestro código, inicializamos el Catálogo y utilizamos catalog.find() para recuperar las indicaciones y herramientas verificadas. Ya no codificamos las indicaciones de forma rígida, sino que las obtenemos.

Motor de razonamiento estandarizado (integración LangChain)

La aplicación anterior utilizaba un canal SequentialAgent personalizado. Aunque era flexible, esto significaba que teníamos que mantener nuestros propios bucles de ejecución, gestión de errores y lógica de reintento para los pasos de razonamiento del agente.

Aprovechando la compatibilidad del Catálogo de Agentes con LangChain, cambiamos a una arquitectura de agente ReAct (Reason + Act) estándar. Simplemente introducimos las herramientas y las indicaciones obtenidas del catálogo directamente en create_react_agent.

¿Cuál es la ventaja? Obtenemos bucles de razonamiento estándar en la industria. - Pensamiento -> Acción -> Observación - listo para usar. El agente ahora puede decidir de forma autónoma buscar “desarrolladores React”, analizar los resultados y, a continuación, realizar una segunda búsqueda de “ingenieros frontend” si la primera arroja pocos resultados. Algo con lo que la canalización lineal ADK tenía dificultades.

Observabilidad integrada (rastreo de agentes)

En la aplicación anterior del agente, la observabilidad se limitaba a las instrucciones print(). No había forma de “reproducir” la sesión de un agente para comprender por qué rechazaba a un candidato específico.

Agent Catalog proporciona rastreo. Permite a los usuarios utilizar SQL++ con rastreos, aprovechar el rendimiento de Couchbase y obtener información detallada sobre las indicaciones y herramientas en la misma plataforma.

Podemos añadir observabilidad transaccional utilizando catalog.Span(). Envolvemos la lógica de ejecución en un administrador de contexto que registra cada pensamiento, acción y resultado en Couchbase. Ahora podemos ver un “rastreo” completo de la sesión de reclutamiento en la interfaz de usuario de Capella, que muestra exactamente cómo el LLM procesó el currículum de un candidato. 

Conclusión

Los agentes de IA fallan en la producción no porque los LLM carezcan de capacidad, sino porque los sistemas agenticos pueden llegar a ser demasiado complejos. Al adoptar un enfoque centrado en la plataforma con Couchbase AI Services y el Catálogo de Agentes, transformamos un agente complejo en un sistema agentico gobernado y escalable. 

Si hoy en día estás creando agentes de IA, la verdadera pregunta no es ¿Qué LLM utilizar? - Así es como ejecutará los agentes de forma segura, observable y a gran escala. Los servicios de IA de Couchbase están diseñados precisamente para eso.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Laurent Doguin

Laurent es un metalero empollón que vive en París. Principalmente escribe código en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programación reactiva y otras cosas de moda. También fue Developer Advocate de Clever Cloud y Nuxeo, donde dedicó su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.