Aller au contenu

Ce document présente la fonction ai_embedding_vector de PlaidCloud Lakehouse et montre comment créer des embeddings de documents avec cette fonction.

Consultez l’implémentation en amont.

Par défaut, PlaidCloud Lakehouse utilise le modèle text-embedding-ada pour générer les embeddings.

La fonction ai_embedding_vector de PlaidCloud Lakehouse est une fonction intégrée qui génère des vecteurs d’embedding pour des données textuelles. Elle est utile pour les tâches de traitement du langage naturel, comme la similarité de documents, le clustering et les systèmes de recommandation.

La fonction prend un texte en entrée et renvoie un vecteur de grande dimension qui représente le sens sémantique et le contexte de ce texte. Les embeddings sont créés à l’aide de modèles préentraînés sur de vastes corpus de textes, qui capturent les relations entre les mots et les expressions dans un espace continu.

Pour créer des embeddings pour un document texte avec la fonction ai_embedding_vector, suivez l’exemple ci-dessous.

  1. Créez une table pour stocker les documents :
CREATE TABLE documents (
id INT,
title VARCHAR,
content VARCHAR,
embedding ARRAY(FLOAT32)
);
  1. Insérez des documents d’exemple dans la table :
INSERT INTO documents(id, title, content)
VALUES
(1, 'A Brief History of AI', 'Artificial intelligence (AI) has been a fascinating concept of science fiction for decades...'),
(2, 'Machine Learning vs. Deep Learning', 'Machine learning and deep learning are two subsets of artificial intelligence...'),
(3, 'Neural Networks Explained', 'A neural network is a series of algorithms that endeavors to recognize underlying relationships...'),
  1. Générez les embeddings :
UPDATE documents SET embedding = ai_embedding_vector(content) WHERE length(embedding) = 0;

Une fois la requête exécutée, la colonne embedding de la table contient les embeddings générés.

Les embeddings sont stockés sous forme de tableau de valeurs FLOAT32 dans la colonne embedding, dont le type est ARRAY(FLOAT32).

Vous pouvez désormais utiliser ces embeddings pour diverses tâches de traitement du langage naturel, comme trouver des documents similaires ou regrouper des documents selon leur contenu.

  1. Inspectez les embeddings :
SELECT length(embedding) FROM documents;
┌───────────────────┐
│ length(embedding) │
├───────────────────┤
│ 1536 │
│ 1536 │
│ 1536 │
└───────────────────┘

La requête ci-dessus montre que les embeddings générés ont une longueur de 1536 (dimensions) pour chaque document.