El agente de IA para gestionar proyectos serverless de Elasticsearch

Un agente de IA impulsado por lenguaje natural que gestiona sin esfuerzo proyectos Serverless de Elasticsearch, permitiendo la creación, eliminación y comprobación de estado de proyectos.

Libérate de las operaciones con Elastic Cloud Serverless. Escala automáticamente, maneja picos de carga y concéntrate en crear: ¡inicia una prueba gratuita de 14 días para probarlo por tu cuenta!

Puedes seguir estas guías para crear una experiencia de búsqueda impulsada por inteligencia artificial o buscar en sistemas y software empresariales.

Cómo usar un agente de IA para gestionar proyectos de Serverless Elasticsearch

  1. Clona el repositorio: Descarga el código de la herramienta desde GitHub usando git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent ay navega por el directorio con cd serverless-ai-agent.
  2. Configurar el entorno: Crea un entorno virtual (opcional) con python -m venv venv y actívalo (source venv/bin/activate o venv\Scripts\activate en Windows). Luego, instala los paquetes Python necesarios usando pip install -r requirements.txt.
  3. Configurar credenciales: Crea un archivo .env en la raíz del proyecto y replétalo con la URL de la API de Elasticsearch (ES_URL), clave API (API_KEY), región (REGION) y clave API de OpenAI (OPENAI_API_KEY).
  4. Ejecuta la herramienta: Ejecuta la herramienta ejecutando python main.py en tu terminal. Esto iniciará al agente de IA y mostrará un prompt para tus comandos.
  5. Gestionar proyectos con lenguaje natural: Interactúa con la herramienta usando comandos en inglés sencillo como "Crea un proyecto serverless llamado my\_project", "Get the status of the serverless project named my\_project" o "Delete the serverless project named my\_project". La IA interpretará tus comandos y ejecutará las funciones correspondientes.

Fondo

Esta pequeña herramienta de línea de comandos te permite gestionar tus proyectos de Serverless Elasticsearch en un inglés sencillo. Habla con una IA (en este caso, OpenAI) para averiguar a qué te refieres y llamar a las funciones correctas usando LlamaIndex.

¿Qué puede hacer el agente de IA serverless de Elasticsearch?

  • Crea un proyecto: Pone en marcha un nuevo proyecto Serverless Elasticsearch.
  • Eliminar un proyecto: Elimina un proyecto existente (sí, limpia luego de ti).
  • Consulta el estado del proyecto: Comprueba cómo va tu proyecto.
  • Obtén detalles del proyecto: Recoge todos los detalles jugosos sobre tu proyecto.

Consulta el código en GitHub.

Cómo funciona el agente de IA Serverless de Elasticsearch

Cuando escribes algo como:

"Crea un proyecto serverless llamado my_project"

… Esto es lo que ocurre entre bastidores:

  • Entrada y contexto del usuario: Tu comando en lenguaje natural se envía al agente de IA.
  • Descripciones de funciones: El agente de IA ya conoce algunas funciones —como create_ess_project, delete_ess_project, get_ess_project_status y get_ess_project_details— porque le dimos descripciones detalladas. Estas descripciones indican a la IA qué hace cada función y qué parámetros necesitan.
  • Procesamiento de LLM: Tu consulta junto con la información de la función se envía al LLM. Esto significa que la IA ve:
    • La consulta del usuario: Tu instrucción en inglés sencillo.
    • Funciones y descripciones disponibles: Detalles sobre lo que hace cada herramienta para poder elegir la adecuada.
    • Contexto/información histórica del chat: Como es una conversación, recuerda lo que se dijo antes.
  • Llamada y respuesta de función: La IA decide qué función llamar, pasa los parámetros correctos (como el nombre de tu proyecto) y luego la función se ejecuta. La respuesta se te envía de vuelta en un formato amigable.

En resumen, enviamos tanto tu consulta en lenguaje natural como una lista de descripciones detalladas de herramientas al LLM para que pueda "entender" y elegir la acción adecuada para tu solicitud.

Configurar el agente de IA

Prerrequisitos:

Antes de ejecutar el agente de IA, cerciórate de tener configurado lo siguiente:

  1. Python (v3.7 o posterior) instalado.
  2. Cuenta serverless de Elasticsearch configurada en Elastic Cloud.
  3. Cuenta OpenAI para interactuar con el modelo de lenguaje.

Pasos:

1. Clonar el repositorio:

2. Crear un entorno virtual (opcional pero recomendado): Si tienes problemas relacionados con el entorno, puedes configurar un entorno virtual para aislamiento:

3. Instalar las dependencias: Cerciorar de que todas las dependencias necesarias se instalen ejecutando:

4. Configura tu entorno: Crea un .env archiva en la raíz del proyecto con las siguientes variables. Aquí tienes un ejemplo .env.example archivo para ayudarte:

Cerciórate de tener los valores correctos para ES_URL, API_KEYy OPENAI_API_KEY. Puedes encontrar tus claves API en los paneles de servicio correspondientes.

5. Archivo de proyectos: La herramienta emplea un archivo projects.json para almacenar los mapeos de tus proyectos (nombres de proyectos con sus detalles). Este archivo se creará automáticamente si no existe ya.

Ejecutando el agente de IA

Verás un prompt como este:

Escribe tu comando y el agente de IA hará su magia. Cuando termines, escribe exit o quit para irte.

Unos pocos detalles más

  • Integración con LLM: El LLM recibe tanto tu consulta como descripciones detalladas de cada función disponible. Esto lo ayuda a entender el contexto y decidir, por ejemplo, si llamar a create_ess_project o delete_ess_project.
  • Descripciones de herramientas: Cada herramienta funcional (creada usando FunctionTool.from_defaults) tiene una descripción amistosa. Esta descripción se incluye en el prompt enviado al LLM para que "sepa" qué acciones están disponibles y qué espera cada acción.
  • Persistencia: Tus proyectos y sus detalles se almacenan en projects.json, Así que no tienes que volver a introducir información cada vez.
  • Registro verboso: El agente está configurado en modo verboso, lo cual es genial para depurar y ver cómo se traducen tus instrucciones en llamadas a funciones.

Ejemplo de utilización de agentes de Elasticsearch AI

Contenido relacionado

¿Estás listo para crear experiencias de búsqueda de última generación?

No se logra una búsqueda suficientemente avanzada con los esfuerzos de uno. Elasticsearch está impulsado por científicos de datos, operaciones de ML, ingenieros y muchos más que son tan apasionados por la búsqueda como tú. Conectemos y trabajemos juntos para crear la experiencia mágica de búsqueda que te dará los resultados que deseas.

Pruébalo tú mismo