Como implementar o Vector Search do Edge SQL
Vector Search é um recurso do Edge SQL da Azion que permite aos clientes implementar mecanismos de busca semântica. Enquanto os modelos de busca tradicionais visam encontrar correspondências exatas, como correspondências de palavras-chave, os modelos de busca vetorial usam algoritmos especializados para identificar itens semelhantes com base em suas representações matemáticas, ou embeddings vetoriais.
Saiba mais sobre o Vector SearchComo exemplo de implementação, este guia abordará a configuração da lógica de busca vetorial em uma aplicação TypeScript, com um banco de dados usando a biblioteca Langchain com OpenAI e a Edge SQL API da Azion.
Pré-requisitos
- Gere um personal token da Azion.
- Gere uma OpenAI API Key.
- Instale a Azion CLI.
- Crie uma aplicação TypeScript.
- Como no exemplo, você pode usar a Azion CLI para criar uma aplicação Simple Typescript Router.
- Configure o Edge SQL.
- Instale as Azion Libraries.
Configure o arquivo main.ts
A primeira etapa é configurar o arquivo main.ts
, o ponto de entrada para sua implementação. Ele estabelece a conexão com a API da Azion e a OpenAI, configura o ambiente usando credenciais e contém a lógica principal para realizar e testar consultas de busca baseadas em vetores.
- No arquivo
.env
, adicione seu personal token da Azion e a OpenAI API Key como variáveis. - Configure o arquivo
main.ts
, usando a seguinte estrutura como exemplo:
Em resumo, este código cria uma função TypeScript chamada vectorSearch
, que implementa um recurso de busca semântica no Edge SQL da Azion:
- Configuração do banco de dados: conecta-se a um banco de dados (
vectorDatabase
) e cria uma tabeladocuments
comcontent
e uma columnaembedding
, indexando os embeddings para buscas vetoriais mais rápidas. - Modelo de embedding: utiliza o modelo
text-embedding-3-small
para gerar embeddings vetoriais para cada documento. - Inserção de dados: insere dados de texto de exemplo com embeddings no banco de dados.
- Execução de consultas: busca os documentos mais relevantes relacionados a uma consulta dada, usando similaridade para classificar os resultados.
- Tratamento de erros: cada operação principal possui uma configuração de tratamento de erros, garantindo que uma mensagem de erro em JSON seja retornada se ocorrer um erro.
Execute e teste a busca vetorial
Agora, é hora de executar sua aplicação e testar a implementação da busca vetorial. Para fazer isso:
- Crie sua aplicação localmente usando o comando
azion build
. - Inicie um servidor de desenvolvimento local para a aplicação com o comando
azion dev
. - Com a aplicação em execução, faça um query no Edge SQL da Azion para criar o banco de dados na plataforma.
- Envie seu query para o localhost com o valor.
- Por exemplo:
What is the capital of Brazil?
- Por exemplo:
- O servidor deve interpretar a consulta e retornar uma resposta apropriada.
- Neste caso, o servidor retorna uma representação vetorial do query e você receberá uma lista dos documentos mais semelhantes à consulta.
- Se estiver pesquisando no shell do Edge SQL, você pode encontrar as informações inseridas na tabela do banco de dados
vectorDatabase
.
Pronto! Você implementou uma busca vetorial em sua aplicação. Agora você pode refiná-la e adaptá-la para atender melhor ao seu caso de uso.