<?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/fr/search-labs/author/fram-souza</link>
    </image>
    <link>https://www.elastic.co/fr/search-labs/author/fram-souza</link>
    <atom:link href="https://www.elastic.co/fr/search-labs/rss/author/fram-souza.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[fr]]></language>
    <lastBuildDate>Mon, 28 Sep 2026 04:15:43 GMT</lastBuildDate>
  <item>
    <title><![CDATA[L'agent IA pour gérer les projets Elasticsearch Serverless]]></title>
    <description><![CDATA[Un agent d'IA alimenté par le langage naturel qui gère sans effort les projets Elasticsearch Serverless, permettant la création, la suppression et la vérification de l'état des projets.]]></description>
    <content:encoded><![CDATA[<h2>Comment utiliser un agent d'IA pour gérer des projets Elasticsearch sans serveur ?</h2><ol><li><p><strong>Clonez le dépôt :</strong> Téléchargez le code de l'outil depuis GitHub en utilisant <code>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent</code> <code>a</code>et naviguez dans le répertoire avec <code>cd serverless-ai-agent</code>.</p></li><li><p><strong>Configurer l'environnement : </strong>Créez un environnement virtuel (facultatif) avec <code>python -m venv venv</code> et activez-le (<code>source venv/bin/activate</code> ou <code>venv\Scripts\activate</code> sous Windows). Ensuite, installez les paquets Python nécessaires à l'aide de <code>pip install -r requirements.txt</code>.</p></li><li><p><strong>Configurer les informations d'identification : </strong>Créez un fichier <code>.env</code> à la racine du projet et remplissez-le avec l'URL de votre API Elasticsearch (<code>ES_URL</code>), la clé API (<code>API_KEY</code>), la région (<code>REGION</code>) et la clé API OpenAI (<code>OPENAI_API_KEY</code>).</p></li><li><p><strong>Exécutez l'outil : </strong>Exécutez l'outil en lançant <code>python main.py</code> dans votre terminal. Cela démarre l'agent d'intelligence artificielle et présente une invite pour vos commandes.</p></li><li><p><strong>Gérer les projets en langage naturel :</strong> Interagissez avec l'outil en utilisant des commandes en langage naturel comme "Créer un projet sans serveur nommé mon_projet", "Obtenir le statut du projet sans serveur nommé mon_projet", ou "Supprimer le projet sans serveur nommé mon_projet". L'IA interprétera vos commandes et exécutera les fonctions correspondantes.</p></li></ol><h2>Arrière-plan</h2><p>Ce petit outil en ligne de commande vous permet de gérer vos <a href="https://www.elastic.co/guide/en/serverless/current/intro.html">projets Serverless Elasticsearch</a> en anglais simple. Il s'adresse à une IA (dans ce cas, OpenAI) pour comprendre ce que vous voulez dire et appeler les bonnes fonctions à l'aide de LlamaIndex !</p><h3>Que peut faire l'agent Elasticsearch Serverless AI ?</h3><ul><li><p><strong>Créer un projet</strong>: Créez un nouveau projet Serverless Elasticsearch.</p></li><li><p><strong>Supprimer un projet</strong>: Supprimer un projet existant (oui, il nettoie après vous).</p></li><li><p><strong>Obtenir l'état d'avancement du projet</strong>: Vérifiez l'état d'avancement de votre projet.</p></li><li><p><strong>Obtenir les détails du projet</strong>: Obtenez tous les détails croustillants de votre projet.</p></li></ul><p>Consultez le code sur <a href="https://github.com/elastic/elasticsearch-labs/tree/a65f7bc1e4a041765d1c0a45ac44b9cd9fc1589f/supporting-blog-content/serverless-ai-agent">GitHub</a>.</p><h3>Fonctionnement de l'agent Elasticsearch Serverless AI</h3><p>Lorsque vous tapez quelque chose comme :</p><p><em>"Créer un projet sans serveur nommé mon_projet."</em></p><p>...voici ce qui se passe en coulisses :</p><ul><li><p><strong>Entrée de l'utilisateur &amp; contexte :</strong> Votre commande en langage naturel est envoyée à l'agent d'intelligence artificielle.</p></li><li><p><strong>Description des fonctions :</strong> L'agent IA connaît déjà quelques fonctions, telles que create_ess_project, delete_ess_project, get_ess_project_status et get_ess_project_details, parce que nous lui avons fourni des descriptions détaillées. Ces descriptions indiquent à l'IA le rôle de chaque fonction et les paramètres dont elle a besoin.</p></li><li><p><strong>Traitement par le LLM :</strong> Votre demande et les informations relatives à la fonction sont envoyées au LLM. Cela signifie que l'IA voit :</p><ul><li><p><strong>La requête de l'utilisateur</strong>: Votre instruction en langage clair.</p></li><li><p><strong>Fonctions disponibles &amp; descriptions</strong>: Détails sur les fonctions de chaque outil afin de pouvoir choisir le bon.</p></li><li><p><strong>Contexte/Info historique de la conversation</strong>: Comme il s'agit d'une conversation, il se souvient de ce qui a été dit auparavant.</p></li></ul></li><li><p><strong>Appel de fonction &amp; réponse :</strong> L'IA détermine quelle fonction appeler, transmet les bons paramètres (comme le nom de votre projet), puis la fonction est exécutée. La réponse vous est renvoyée dans un format convivial.</p></li></ul><p>En bref, nous envoyons à la fois votre requête en langage naturel et une liste de descriptions détaillées d'outils au mécanisme d'apprentissage tout au long de la vie afin qu'il puisse "comprendre" et choisir l'action appropriée à votre demande.</p><h3>Mise en place de l'agent d'intelligence artificielle</h3><h4>Prérequis :</h4><p>Avant d'exécuter l'agent AI, assurez-vous que les éléments suivants sont en place :</p><ol><li><p><strong>Python (v3.7 ou plus récent)</strong> installé.</p></li><li><p><strong>Compte Elasticsearch serverless</strong> configuré sur Elastic Cloud.</p></li><li><p><strong>Compte OpenAI</strong> pour interagir avec le modèle linguistique.</p></li></ol><h4>Les étapes :</h4><p><strong>1. Clonez le référentiel :</strong></p>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent
cd serverless-ai-agent<p><strong>2. Créer un environnement virtuel (facultatif mais recommandé) :</strong> Si vous êtes confronté à des problèmes liés à l'environnement, vous pouvez créer un environnement virtuel pour l'isoler :</p>python -m venv venv
source venv/bin/activate  # On Windows, use venv\Scripts\activate<p><strong>3. Installez les dépendances :</strong> Assurez-vous que toutes les dépendances requises sont installées en exécutant le programme :</p>pip install -r requirements.txt<p><strong>4. Configurez votre environnement :</strong> Créez un fichier .env à la racine du projet avec les variables suivantes. Voici un exemple de fichier <code>.env.example</code> pour vous aider :</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>Assurez-vous que vous disposez des valeurs correctes pour <code>ES_URL</code>, <code>API_KEY</code>, et <code>OPENAI_API_KEY</code>. Vous trouverez vos clés API dans les tableaux de bord respectifs des services.</p><p><strong>5. Fichier de projets :</strong> l'outil utilise un fichier <code>projects.json</code> pour stocker vos correspondances de projets (noms de projets et détails). Ce fichier sera créé automatiquement s'il n'existe pas déjà.</p><h3>Exécution de l'agent d'intelligence artificielle</h3>python main.py<p>Vous verrez apparaître une invite comme celle-ci :</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>Tapez votre commande et l'agent d'intelligence artificielle fera son travail ! Lorsque vous avez terminé, tapez <code>exit</code> ou <code>quit</code> pour partir.</p><h3>Quelques détails supplémentaires</h3><ul><li><p><strong>Intégration du LLM</strong>: Le LLM reçoit à la fois votre requête et des descriptions détaillées de chaque fonction disponible. Cela l'aide à comprendre le contexte et à décider, par exemple, s'il faut appeler <code>create_ess_project</code> ou <code>delete_ess_project</code>.</p></li><li><p><strong>Description des outils</strong>: Chaque outil de fonction (créé à l'aide de FunctionTool.from_defaults) a une description sympathique. Cette description est incluse dans l'invite envoyée au LLM afin qu'il "sache" quelles actions sont disponibles et ce que chaque action attend.</p></li><li><p><strong>Persistance</strong>: Vos projets et leurs détails sont enregistrés dans projects.json, afin de ne pas avoir à ressaisir les informations à chaque fois.</p></li><li><p><strong>Journalisation verbeuse</strong>: L'agent est configuré en mode verbeux, ce qui est idéal pour le débogage et pour voir comment vos instructions sont traduites en appels de fonction.</p></li></ul><h3>Exemple d'utilisation d'un agent IA Elasticsearch</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[IA agentique]]></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>