Détails du jeu de données
Parquet hébergés sur huggingface.co. Les fichiers sont nommés 0.parquet, 1.parquet, …, 25.parquet. Pour consulter quelques lignes d’exemple du jeu de données, veuillez visiter cette page Hugging Face.
Créer la table
dbpedia pour stocker l’identifiant de l’article, le titre, le texte et le vecteur d’embedding :
Charger la table
dbpedia :
Recherche sémantique
- Recevoir une requête de recherche d’un utilisateur en langage naturel, par ex. « Parle-moi de trajets ferroviaires pittoresques », « Romans à suspense se déroulant en Europe », etc.
- Générer un vecteur d’embedding pour la requête de recherche à l’aide du modèle LLM
- Trouver les plus proches voisins du vecteur d’embedding de la requête dans le jeu de données
Exécuter une recherche de similarité vectorielle par force brute
dbpedia,
une méthode rapide pour observer visuellement la recherche sémantique consiste à utiliser comme vecteurs de recherche des vecteurs d’embedding issus du jeu de données lui-même.
Par exemple :
Query
Response
max_threads=1 afin d’évaluer l’utilisation réelle des ressources de calcul
et de la bande passante du stockage (extrapolez-la à un jeu de données de production contenant des millions de vecteurs !)
Créer un index de similarité vectorielle
vector :
Effectuer une recherche ANN
Query
Response
Génération d’embeddings pour une requête de recherche
dbpedia.
Dans les applications réelles, le vecteur de recherche doit être généré à partir d’une requête saisie par l’utilisateur, qui peut être en langage naturel. Ce vecteur de recherche
doit être généré à l’aide du même modèle LLM que celui utilisé pour générer les vecteurs d’embedding
du jeu de données.
Un exemple de script Python est présenté ci-dessous pour montrer comment appeler l’OpenAI API par programmation afin de
générer des vecteurs d’embedding à l’aide du modèle text-embedding-3-large. Le vecteur d’embedding de recherche
est ensuite transmis comme argument à la fonction cosineDistance() dans la requête SELECT.
L’exécution du script nécessite qu’une clé d’API OpenAI soit définie dans la variable d’environnement OPENAI_API_KEY.
La clé d’API OpenAI peut être obtenue après inscription sur https://platform.openai.com.
Application de démonstration Q&A
- Reçoit un sujet saisi par l’utilisateur
- Génère un vecteur d’embedding pour le sujet en appelant l’OpenAI API avec le modèle
text-embedding-3-large - Récupère des articles/documents Wikipedia très pertinents à l’aide d’une recherche de similarité vectorielle dans la table
dbpedia - Reçoit de l’utilisateur une question libre en langage naturel en rapport avec le sujet
- Utilise l’API de chat OpenAI
gpt-3.5-turbopour répondre à la question à partir des connaissances contenues dans les documents récupérés à l’étape #3. Les documents récupérés à l’étape #3 sont transmis comme contexte à l’API de chat et constituent le lien essentiel dans l’IA générative.
OPENAI_API_KEY. La clé d’API OpenAI peut être obtenue après inscription sur https://platform.openai.com.