Dans cette section, vous allez mettre en place et configurer la partie "back-end" du projet.

Installer les dépendances de Python

Pour suivre les meilleures pratiques de Python, vous allez maintenant créer un environnement virtuel, qui est une installation privée de Python dédiée à ce projet, où toutes les dépendances peuvent être installées. Pour ce faire, utilisez la commande suivante :

Cette commande crée un environnement virtuel Python dans un fichier .venv (dot-venv). Vous pouvez remplacer .venv dans cette commande par n'importe quel autre nom. Notez que dans certaines installations de Python, vous devrez peut-être utiliser python au lieu de python3 pour invoquer l'interpréteur Python.

L'étape suivante consiste à activer l' environnement virtuel, ce qui permet de faire de cet environnement virtuel l'environnement Python actif pour la session de terminal dans laquelle vous vous trouvez. Si vous travaillez sur un système d'exploitation basé sur UNIX tel que Linux ou macOS, activez l'environnement virtuel comme suit :

La commande d'activation ci-dessus fonctionne également si vous travaillez dans un environnement WSL sur un ordinateur Microsoft Windows. Mais si vous utilisez l'invite de commande Windows ou PowerShell, la commande d'activation est différente :

Lorsque l'environnement virtuel est activé, l'invite de la ligne de commande change pour afficher le nom de l'environnement :

La dernière étape de la configuration de l'environnement Python consiste à installer quelques paquets nécessaires à l'application de démarrage. Assurez-vous que l'environnement virtuel a été activé à l'étape précédente, puis exécutez la commande suivante pour installer ces dépendances :

Écrire un fichier de configuration

Dans le répertoire principal du code que vous avez téléchargé dans la section précédente, il y a un fichier nommé env.example. Ce fichier contient toutes les variables de configuration supportées par l'application.

Faites une copie de ce fichier et nommez-le .env :

Si vous suivez le tutoriel sous Windows, utilisez copy au lieu de cp dans la commande ci-dessus.

Ouvrez le fichier .env dans votre éditeur de texte favori pour examiner la configuration de l'application et consultez les sous-sections suivantes pour savoir comment configurer l'application.

Configuration d'Elasticsearch

Authentification

Si vous utilisez un compte Elastic Cloud, vous devez définir les variables ELASTICSEARCH_URL et ELASTIC_API_KEY:

Pour obtenir votre ELASTICSEARCH_URL et votre clé API, consultez les instructions relatives à la création d'un déploiement Elastic Cloud.

Si vous travaillez avec une instance d'Elasticsearch hébergée par vos soins, vous devez commenter ELASTIC_API_KEY, et définir ELASTICSEARCH_URL comme étant votre point de terminaison d'Elasticsearch :

Index

L'application utilise deux index Elasticsearch. Les variables de configuration ES_INDEX et ES_INDEX_CHAT_HISTORY vous permettent de donner des noms à ces index. Les valeurs par défaut incluses dans le fichier de configuration devraient convenir dans la plupart des cas.

Mise en place du LLM

L'application doit également avoir accès à votre LLM. Si vous utilisez OpenAI, utilisez les variables de configuration suivantes :

Cette application prend en charge tous les programmes d'apprentissage tout au long de la vie qui intègrent Langchain. Les commentaires dans le fichier de configuration vous guideront pour configurer quelques LLM populaires en plus d'OpenAI. Vous pourrez également utiliser tout autre LLM qui n'est pas préconfiguré avec des modifications minimales de l'application.

Charger un échantillon de données

L'application est livrée avec un jeu de données d'exemple, stocké dans le fichier data/data.json. N'hésitez pas à ouvrir ce fichier dans votre éditeur de texte pour vous familiariser avec les documents qu'il contient.

Importez le jeu de données dans l'application à l'aide de la commande suivante :

Commencer la partie arrière

Après avoir suivi toutes les étapes ci-dessus, vous devriez être en mesure de démarrer le back-end Python avec la commande suivante :

Laissez le back-end en marche et ouvrez une nouvelle session de terminal pour continuer avec le reste de ce tutoriel.

Prêt à créer des expériences de recherche d'exception ?

Une recherche suffisamment avancée ne se fait pas avec les efforts d'une seule personne. Elasticsearch est alimenté par des data scientists, des ML ops, des ingénieurs et bien d'autres qui sont tout aussi passionnés par la recherche que vous. Mettons-nous en relation et travaillons ensemble pour construire l'expérience de recherche magique qui vous permettra d'obtenir les résultats que vous souhaitez.

Jugez-en par vous-même