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 esta função.

Consulte a implementação original.

Por predefinição, o PlaidCloud Lakehouse utiliza o modelo text-embedding-ada para gerar embeddings.

A função ai_embedding_vector do PlaidCloud Lakehouse é uma função incorporada que gera embeddings vetoriais para dados de texto. É útil em tarefas de processamento de linguagem natural, como a similaridade entre documentos, o agrupamento e os sistemas de recomendação.

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

Criar embeddings com a função ai_embedding_vector

Seção intitulada “Criar embeddings com a função ai_embedding_vector”

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

  1. Crie uma tabela para guardar 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 de embeddings da tabela conterá os embeddings gerados.

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

Pode agora utilizar estes embeddings em várias tarefas de processamento de linguagem natural, como encontrar documentos semelhantes ou agrupar documentos com base no seu 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 um comprimento de 1536 (dimensões) para cada documento.