in

Comment j’ai transformé les documents de mon entreprise en une base de données consultable avec OpenAI | par Jacob Marks, Ph.D. | Avril 2023


COMMENT STRUCTURER LES DOCUMENTS DE VOTRE ENTREPRISE POUR PERMETTRE UNE RECHERCHE SÉMANTIQUE EFFICACE

Au cours des six derniers mois, j’ai travaillé chez Voxel51, une start-up de série A et créatrice du toolkit de vision par ordinateur open source FiftyOne. En tant qu’ingénieur en apprentissage automatique et évangeliste des développeurs, mon travail consiste à écouter notre communauté open source et à leur fournir ce dont ils ont besoin : de nouvelles fonctionnalités, des intégrations, des tutoriels, des ateliers, vous le nommez.

RÉSULTAT : DES RECHERCHES SÉMANTIQUES POSSIBLES MAIS LEUR APPLICATION À LA DOCUMENTATION EST LIMITÉE À UNE RECHERCHE PAR MOTS-CLÉS

Nous avons récemment ajouté une prise en charge native pour les moteurs de recherche vectoriels et les requêtes de similarité de texte à FiftyOne, ce qui permet aux utilisateurs de trouver les images les plus pertinentes dans leurs ensembles de données (souvent massifs, contenant des millions ou des dizaines de millions d’échantillons) à l’aide de requêtes simples en langage naturel. Cette nouvelle fonctionnalité a permis d’effectuer des recherches sémantiques dans les datasets. Toutefois, malgré cette possibilité, l’utilisation de la documentation de FiftyOne reste encore limitée à une recherche par mots-clés.

MONTRER COMMENT J’AI TRANSFORMÉ NOS DOCUMENTS EN UNE BASE DE DONNÉES VECTORIELLE RECHERCHABLE SÉMANTIQUES

J’ai donc décidé de rendre la documentation de FiftyOne également accessible à une recherche sémantique.
Voici comment j’ai transformé nos documents en une base de données vectorielle de recherche semantique :
Tout d’abord, vous pouvez trouver tout le code de cet article dans le référentiel voxel51/fiftyone-docs-search. Vous pouvez également installer le package localement en mode édition avec la commande pip install -e.
Si vous souhaitez implémenter une recherche sémantique pour votre propre site Web en suivant cette méthode, vous aurez besoin des éléments suivants :
– Installer le package Python openai et créer un compte pour envoyer vos docs et requêtes à un point d’inférence, qui renverra un vecteur d’embedding pour chaque morceau de texte.
– Installer le package Python qdrant-client et lancer un serveur Qdrant via Docker : Qdrant sera utilisé pour créer un index vectoriel localement hébergé pour vos docs, qui permettra de lancer les requêtes. Le service Qdrant s’exécutera dans un conteneur Docker.
– J’ai ensuite effectué une conversion de tous mes fichiers HTML en Markdown avec markdownify, ce qui m’a permis d’éliminer certains éléments HTML inutiles tout en préservant les ancres de section. Markdown offrait également une uniformité de formatage, permettant ainsi de donner un traitement cohérent au contenu de nos documents dans l’application de recherche vectorielle.

LES DÉFIS RENCONTRÉS DANS LA RÉALISATION DE CE PROJET

J’ai rencontré quelques difficultés lorsque j’ai commencé à extraire le texte brut et le code des fichiers RST et des notebooks Jupyter. Par exemple, j’ai dû extraire les différentes sections du document et déterminer l’ancrage pour chaque article. Les tableaux ont également été un défi, notamment les tableaux à grille.
En ce qui concerne les notebooks Jupyter, la conversion de chaque document en une liste de chaînes de caractères, avec une chaîne de caractères par cellule, était le moyen le plus simple.

CELA M’APPORTE UNE RECHERCHE SÉMANTIQUE PERTINENTE

En résumé, j’ai réussi à transformer nos documents en une base de données vectorielle de recherche sémantique, ce qui permet aux utilisateurs de rechercher des informations de manière beaucoup plus intuitive. Les différents éléments tels que la conversion de mes fichiers HTML en Markdown m’ont permis de surmonter certains des défis rencontrés. Le résultat est une recherche sémantique pertinente et efficace qui simplifie, pour les utilisateurs de la documentation de FiftyOne, la recherche des informations pertinentes dans les masses de documents disponibles.

What do you think?

Written by Barbara

Leave a Reply

Your email address will not be published. Required fields are marked *

Insights Copilot de YouScan – Le premier assistant d’écoute sociale alimenté par ChatGPT.

LoremGenie pour Figma