<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Fram Souza - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Fram Souza - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/es/search-labs/author/fram-souza</link>
    </image>
    <link>https://www.elastic.co/es/search-labs/author/fram-souza</link>
    <atom:link href="https://www.elastic.co/es/search-labs/rss/author/fram-souza.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[es]]></language>
    <lastBuildDate>Mon, 28 Sep 2026 08:27:44 GMT</lastBuildDate>
  <item>
    <title><![CDATA[El agente de IA para gestionar proyectos serverless de Elasticsearch]]></title>
    <description><![CDATA[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.]]></description>
    <content:encoded><![CDATA[<h2>Cómo usar un agente de IA para gestionar proyectos de Serverless Elasticsearch</h2><ol><li><p><strong>Clona el repositorio:</strong> Descarga el código de la herramienta desde GitHub usando <code>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent</code> <code>a</code>y navega por el directorio con <code>cd serverless-ai-agent</code>.</p></li><li><p><strong>Configurar el entorno: </strong>Crea un entorno virtual (opcional) con <code>python -m venv venv</code> y actívalo (<code>source venv/bin/activate</code> o <code>venv\Scripts\activate</code> en Windows). Luego, instala los paquetes Python necesarios usando <code>pip install -r requirements.txt</code>.</p></li><li><p><strong>Configurar credenciales: </strong>Crea un archivo <code>.env</code> en la raíz del proyecto y replétalo con la URL de la API de Elasticsearch (<code>ES_URL</code>), clave API (<code>API_KEY</code>), región (<code>REGION</code>) y clave API de OpenAI (<code>OPENAI_API_KEY</code>).</p></li><li><p><strong>Ejecuta la herramienta: </strong>Ejecuta la herramienta ejecutando <code>python main.py</code> en tu terminal. Esto iniciará al agente de IA y mostrará un prompt para tus comandos.</p></li><li><p><strong>Gestionar proyectos con lenguaje natural:</strong> 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.</p></li></ol><h2>Fondo</h2><p>Esta pequeña herramienta de línea de comandos te permite gestionar tus <a href="https://www.elastic.co/guide/en/serverless/current/intro.html">proyectos de Serverless Elasticsearch</a> 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.</p><h3>¿Qué puede hacer el agente de IA serverless de Elasticsearch?</h3><ul><li><p><strong>Crea un proyecto</strong>: Pone en marcha un nuevo proyecto Serverless Elasticsearch.</p></li><li><p><strong>Eliminar un proyecto</strong>: Elimina un proyecto existente (sí, limpia luego de ti).</p></li><li><p><strong>Consulta el estado del proyecto</strong>: Comprueba cómo va tu proyecto.</p></li><li><p><strong>Obtén detalles del proyecto</strong>: Recoge todos los detalles jugosos sobre tu proyecto.</p></li></ul><p>Consulta el código en <a href="https://github.com/elastic/elasticsearch-labs/tree/a65f7bc1e4a041765d1c0a45ac44b9cd9fc1589f/supporting-blog-content/serverless-ai-agent">GitHub.</a></p><h3>Cómo funciona el agente de IA Serverless de Elasticsearch</h3><p>Cuando escribes algo como:</p><p><em>"Crea un proyecto serverless llamado my_project"</em></p><p>… Esto es lo que ocurre entre bastidores:</p><ul><li><p><strong>Entrada y contexto del usuario:</strong> Tu comando en lenguaje natural se envía al agente de IA.</p></li><li><p><strong>Descripciones de funciones:</strong> 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.</p></li><li><p><strong>Procesamiento de LLM:</strong> Tu consulta junto con la información de la función se envía al LLM. Esto significa que la IA ve:</p><ul><li><p><strong>La consulta del usuario</strong>: Tu instrucción en inglés sencillo.</p></li><li><p><strong>Funciones y descripciones disponibles</strong>: Detalles sobre lo que hace cada herramienta para poder elegir la adecuada.</p></li><li><p><strong>Contexto/información histórica del chat</strong>: Como es una conversación, recuerda lo que se dijo antes.</p></li></ul></li><li><p><strong>Llamada y respuesta de función:</strong> 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.</p></li></ul><p>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.</p><h3>Configurar el agente de IA</h3><h4>Prerrequisitos:</h4><p>Antes de ejecutar el agente de IA, cerciórate de tener configurado lo siguiente:</p><ol><li><p><strong>Python (v3.7 o posterior)</strong> instalado.</p></li><li><p><strong>Cuenta serverless de Elasticsearch</strong> configurada en Elastic Cloud.</p></li><li><p><strong>Cuenta OpenAI</strong> para interactuar con el modelo de lenguaje.</p></li></ol><h4>Pasos:</h4><p><strong>1. Clonar el repositorio:</strong></p>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent
cd serverless-ai-agent<p><strong>2. Crear un entorno virtual (opcional pero recomendado):</strong> Si tienes problemas relacionados con el entorno, puedes configurar un entorno virtual para aislamiento:</p>python -m venv venv
source venv/bin/activate  # On Windows, use venv\Scripts\activate<p><strong>3. Instalar las dependencias:</strong> Cerciorar de que todas las dependencias necesarias se instalen ejecutando:</p>pip install -r requirements.txt<p><strong>4. Configura tu entorno:</strong> Crea un .env archiva en la raíz del proyecto con las siguientes variables. Aquí tienes un ejemplo <code>.env.example</code> archivo para ayudarte:</p>ES_URL=your_elasticsearch_api_url  # The base URL for your Elasticsearch service (e.g., https://your-cluster-id.es.region.aws.elastic-cloud.com)
API_KEY=your_elasticsearch_api_key  # Your API key for Elasticsearch
REGION=your_region  # Example: aws-eu-west-1
OPENAI_API_KEY=your_openai_api_key  # Your OpenAI API key<p>Cerciórate de tener los valores correctos para <code>ES_URL</code>, <code>API_KEY</code>y <code>OPENAI_API_KEY</code>. Puedes encontrar tus claves API en los paneles de servicio correspondientes.</p><p><strong>5. Archivo de proyectos:</strong> La herramienta emplea un archivo <code>projects.json</code> para almacenar los mapeos de tus proyectos (nombres de proyectos con sus detalles). Este archivo se creará automáticamente si no existe ya.</p><h3>Ejecutando el agente de IA</h3>python main.py<p>Verás un prompt como este:</p>Welcome to the Serverless Project AI Agent Tool!
You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'<p>Escribe tu comando y el agente de IA hará su magia. Cuando termines, escribe <code>exit</code> o <code>quit</code> para irte.</p><h3>Unos pocos detalles más</h3><ul><li><p><strong>Integración con LLM</strong>: 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 <code>create_ess_project</code> o <code>delete_ess_project</code>.</p></li><li><p><strong>Descripciones de herramientas</strong>: 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.</p></li><li><p><strong>Persistencia</strong>: Tus proyectos y sus detalles se almacenan en projects.json, Así que no tienes que volver a introducir información cada vez.</p></li><li><p><strong>Registro verboso</strong>: 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.</p></li></ul><h3>Ejemplo de utilización de agentes de Elasticsearch AI</h3>python main.py 

Welcome to the Serverless Project AI Agent Tool!

You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'

User: Create a serverless project named my-february-test
Added user message to memory: Create a serverless project named my-february-test

=== Calling Function ===
Calling function: create_ess_project with args: {"project_name":"my-february-test"}
========================


Agent: The serverless Elasticsearch project named "my-february-test" has been created successfully. Here are the details:

- **Project ID:** &lt;&gt;&gt;
- **Elasticsearch Endpoint:** [https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud)
- **Kibana Endpoint:** [https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud)

User: get my-february-test status
Added user message to memory: get my-february-test status

=== Calling Function ===
Calling function: get_ess_project_status with args: {"project_name":"my-february-test"}
========================

Agent: The status of the "my-february-test" project is currently **initializing**.

User: get my-february-test info
Added user message to memory: get my-february-test info

=== Calling Function ===
Calling function: get_ess_project_details with args: {"project_name":"my-february-test"}
========================

Agent: Here are the details for the "my-february-test" project:

- **Project Name:** my-february-test
- **Alias:** my-february-test-ccc399
- **Cloud ID:** ""
- **Project ID:** ""
- **Region ID:** aws-eu-west-1
- **Created At:** 2025-02-12T15:42:00.530177619Z
- **Created By:** 571213384
- **Organization ID:** ""
- **Type:** Elasticsearch
- **Optimized For:** General Purpose
- **Search Lake:**
  - **Boost Window:** 7
  - **Search Power:** 100
- **Endpoints:**
  - **Elasticsearch:** https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud
  - **Kibana:** https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud
- **Credentials:**
  - **Username:** ""
  - **Password:** ""

Please ensure to keep the credentials secure.

User: please delete the my-february-test project
Added user message to memory: please delete the my-february-test project

=== Calling Function ===
Calling function: delete_ess_project with args: {"project_name":"my-february-test"}
========================

Agent: The "my-february-test" project has been deleted successfully.<p></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[AI agéntica]]></category>
    <dc:creator><![CDATA[Fram Souza]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt88526af16bafdb7c/6a17d7807f6f15825dc0998d/d11e1ba058784ec92b8953fb8db62e1bad21c210-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>