Pular para o conteúdo

Este documento apresenta uma visão geral da função ai_embedding_vector no PlaidCloud Lakehouse e demonstra como criar embeddings de documentos com ela.

Consulte a implementação upstream.

Por padrão, o PlaidCloud Lakehouse usa o modelo text-embedding-ada para gerar embeddings.

A função ai_embedding_vector do PlaidCloud Lakehouse é uma função integrada que gera embeddings vetoriais para dados de texto. Ela é útil em tarefas de processamento de linguagem natural, como similaridade de documentos, clusterização e sistemas de recomendação.

A função recebe um texto como entrada e retorna um vetor de alta dimensionalidade que representa o significado semântico e o contexto do texto. Os embeddings são criados com modelos pré-treinados em grandes corpora de texto, capturando as relações entre palavras e frases em um espaço contínuo.

Para criar embeddings de um documento de texto com a função ai_embedding_vector, siga o exemplo abaixo.

  1. Crie uma tabela para armazenar os documentos:
CREATE TABLE documents (
id INT,
title VARCHAR,
content VARCHAR,
embedding ARRAY(FLOAT32)
);
  1. Insira documentos de exemplo na tabela:
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. Gere os embeddings:
UPDATE documents SET embedding = ai_embedding_vector(content) WHERE length(embedding) = 0;

Depois de executar a consulta, a coluna embedding da tabela conterá os embeddings gerados.

Os embeddings são armazenados como uma matriz de valores FLOAT32 na coluna embedding, que tem o tipo de coluna ARRAY(FLOAT32).

Agora você pode usar esses embeddings em diversas tarefas de processamento de linguagem natural, como encontrar documentos semelhantes ou agrupar documentos com base no conteúdo.

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

A consulta acima mostra que os embeddings gerados têm comprimento de 1536 (dimensões) para cada documento.