Um banco de dados vetorial permite pesquisas eficientes de similaridade e indexação de dados de alta dimensão. Os bancos de dados vetoriais são particularmente úteis para aplicativos de aprendizado de máquina, onde os pontos de dados são frequentemente representados como vetores de alta dimensão. Esses bancos de dados permitem que os usuários realizem pesquisas de similaridade com base nas incorporações dos pontos de dados, facilitando a localização de informações relevantes com base no conteúdo ou nos recursos.
Neste projeto Examplay, usei o Weaviate como um banco de dados vetorial e sua integração com a incorporadora do OpenAI ( text-embedding-ada-002-v2 ) para criar e salvar vetores de um conjunto de dados. Como exemplo de conjunto de dados, raspei todo o Y Combinator em seu site (mais de 4000 empresas) e criei vetores fora do ponto de dados (consulte /examples/y-combinator/schema.json para mais detalhes). Também enviei o conjunto de dados para Kaggle.
Como segundo exemplo, baixei um conjunto de dados de personagens do Senhor dos Anéis de Kaggle, criado por Paul Mooney.
Crie um arquivo .env no diretório raiz e adicione as variáveis: openai_apikey e data_path. A variável data_path deve ser o caminho para o diretório de dados:
OPENAI_APIKEY=XXXXXXXXXXXXXXXXX
DATA_PATH=C:Usersyour-user-namepathtoprojectdata
Para usar este código, você precisará instalar as dependências usando:
npm install
Para usar o banco de dados, você precisará configurar uma instância do Docker do banco de dados.
docker-compose up -d --build
Preencha o banco de dados teceavo (verifique se o Docker está em execução). Você pode usar um dos conjuntos de dados de exemplo fornecidos no diretório /examples (atualmente y-combinator e lotr-character ).
A execução populate criará um banco de dados teatral com os dados do conjunto de dados de exemplo (e removerá quaisquer dados existentes com a mesma classe). Paguei ~ US $ 0,20 no uso do OpenAI para preencher o conjunto de dados do Y Combinator
npm run populate --dataset=<example-name>
Se bem -sucedido, você pode visualizar e consultar facilmente seus dados através da API WEAVIATE GraphQL. Você pode usar o Apollo GraphQL Sandbox para explorar os dados e executar consultas. Basta inserir o URL do gráfico ( http://localhost:8080/v1/graphql ).
Se você deseja se divertir extra, pode usar o projetor de incorporação do TensorFlow para visualizar seus dados. Para obter os arquivos .TSV necessários, use o seguinte comando (os colocará dentro da pasta /example/<example-name> ):
npm run tsv --dataset=<example-name>
Eles podem ser enviados para o site para visualizar seus dados.
Para criar seus próprios dados, siga os exemplos:
/examples com o nome do seu conjunto de dados.schema.json na raiz da sua pasta do conjunto de dados. Este arquivo deve conter o esquema de seus dados.data.json na raiz da sua pasta DataSet. Este arquivo deve conter os dados do seu conjunto de dados.npm run populate --dataset=<your-dataset-name> para preencher o banco de dados com seus dados.