O Memista é um serviço de busca de vetores de alto desempenho escrito em ferrugem que fornece uma API HTTP simples para armazenar e recuperar pedaços de texto com suas incorporações de vetor associadas. Ele combina SQLite para armazenamento de metadados com pesquisa de pesquisa para pesquisa de similaridade vetorial eficiente.
Insira pedaços de texto com suas incorporações em um banco de dados especificado.
Procure pedaços semelhantes usando incorporações de vetor.
Largue um banco de dados específico e seu índice de vetor associado.
O serviço pode ser configurado usando variáveis de ambiente:
DATABASE_PATH : caminho para o arquivo de banco de dados SQLite (padrão: "Memista.db")SERVER_HOST : Endereço do host a vincular a (padrão: "127.0.0.1")SERVER_PORT : porta para ouvir (padrão: 8083)LOG_LEVEL : nível de log (padrão: "info") .env com sua configuração (opcional)cargo runO servidor será iniciado e a documentação da API estará disponível em:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' O projeto usa várias dependências importantes:
Para uma lista completa de dependências, consulte o arquivo Cargo.toml.
Este projeto está licenciado sob a licença pública geral da GNU v3.0 (GPL -3.0) - Veja abaixo um resumo:
GNU Licença Pública Geral v3.0 (GPL-3.0)
Permissões:
Condições:
Limitações:
Para obter o texto completo da licença, consulte a licença ou visite https://www.gnu.org/license/gpl-3.0.en.html