Bem -vindo ao Projeto API da Vector Store! Este projeto tem como objetivo fornecer uma API eficiente e escalável para incorporar e armazenar vetores, alavancando o poder de FASTAPI, Langchain e um banco de dados vetorial, como o Chroma. Esteja você lidando com texto, imagens ou quaisquer dados que precisem ser convertidos em vetores e recuperados por meio de pesquisa de similaridade, esta API o abordou. ?
Essas instruções obterão sua cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste.
Tarefa 1: Configure um ambiente virtual para o projeto gerenciar dependências.
Tarefa 2: Instale o FASTAPI e o Uvicorn (servidor ASGI) usando o PIP.
Tarefa 3: Instale o Chroma ou qualquer outro projeto de biblioteca de clientes do banco de dados vetorial usará.
Tarefa 1: Defina os pontos de extremidade que precisaremos. Considere o seguinte:
Um terminal para fazer upload de arquivos ou texto a ser vetorizado.
Um terminal para pesquisar os vetores armazenados usando a pesquisa de similaridade.
Um terminal para listar ou recuperar vetores específicos ou seus metadados.
Tarefa 2: Planeje os modelos de solicitação e resposta para pontos de extremidade usando modelos pydantic.
Tarefa 1: Implemente o terminal de upload de arquivo/texto.
Analise os dados de entrada.
Incorporar a entrada em um formulário vetorial (você pode precisar de uma biblioteca ou serviço externo para incorporação, como o TensorFlow para imagens ou abraçar os transformadores do rosto para texto).
Armazene o vetor no croma com metadados relevantes.
Tarefa 2: Implemente o terminal de pesquisa.
Aceite uma consulta como entrada e converta -a em um vetor.
Realize uma pesquisa de similaridade no Chroma.
Retorne as partidas mais próximas.
Tarefa 3: Implemente os pontos de extremidade auxiliares, conforme necessário (para listagem, atualização ou exclusão de vetores).
Tarefa 1: Escolha um banco de dados vetorial adequado (Chroma, neste caso).
Tarefa 2: Implemente a lógica de armazenamento de dados para vetores.
Tarefa 3: Implemente a recuperação e a lógica de pesquisa usando os recursos de pesquisa da Chroma.
Tarefa 1: Escreva testes de unidade para seus pontos de extremidade da API para garantir que estejam funcionando conforme o esperado.
Tarefa 2: Funcionalidade de armazenamento e recuperação de vetores de teste no Chroma.
Tarefa 3: Execute o final [] para [] testes finais de toda a API.
Tarefa 1: Documente a API usando o FASTAPI's Built [] na interface do usuário do Swagger.
Tarefa 2: Prepare o projeto para implantação (considere o uso do Docker para contêiner).
Tarefa 3: API de implantação (as opções incluem Heroku, AWS ou GCP).
As contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Quaisquer contribuições que você faz são muito apreciadas . ?
Este projeto está licenciado sob a licença do MIT - consulte o arquivo License.md para obter detalhes.