As peças de uma KB indexada, uma a uma
Ingestão, particionamento, geração de embeddings, armazenamento e busca são cinco decisões distintas; tratá-las como um pacote único é o que faz o projeto parecer grande demais para começar.
"Implantar uma KB com indexação e busca vetorial" soa como um projeto só. São cinco decisões, e elas se tomam separadas.
A ingestão é como o texto entra e quando ele é reprocessado. O particionamento é como o texto é picado — e a documentação de particionamento da Azure AI Search lembra que ele existe primeiro por um motivo mecânico: "Partitioning large documents into smaller chunks can help you stay under the maximum token input limits of chat completion and embedding models". A geração de embeddings é a escolha do modelo que transforma pedaço em vetor, e é a que tem custo recorrente por volume.
O armazenamento é onde muitos projetos assumem que precisam de infraestrutura nova, e é justamente onde não precisam. O pgvector é uma extensão do Postgres, e a instrução dele é direta: "Store your vectors with the rest of your data". Os vetores ficam no banco que o projeto já tem, sem serviço adicional. A busca, por fim, é como a consulta encontra os pedaços — e pode ser vetorial, textual ou as duas.
Separar as cinco muda o tamanho do primeiro passo. Não é preciso decidir o pipeline inteiro para começar; é preciso decidir qual das cinco está no caminho crítico do problema que se quer resolver.