Busca Semântica no Obsidian: Como um Índice Vetorial Local Funciona Sem um Banco de Dados Vetorial
OpenAI
Ollama
OpenRouter
O artigo explica a implementação da busca semântica no plugin Vault Audit AI do Obsidian. O autor descreve como as notas em Markdown são convertidas em vetores, por que o sistema evita um banco de dados vetorial separado e como a indexação incremental lida com alterações de forma eficiente.
O autor do Vault Audit AI, um plugin da comunidade Obsidian, adicionou busca semântica para resolver as limitações da busca de texto completo na organização de notas. O plugin permite que os usuários pesquisem notas por significado, não apenas por correspondências exatas de palavras. O índice é armazenado dentro do cofre do Obsidian, sem a necessidade de um banco de dados vetorial externo ou servidor. O sistema funciona dividindo as notas em Markdown em pedaços, incorporando cada pedaço com um modelo e armazenando os vetores em um LocalVectorStore personalizado. O divisor respeita limites naturais do documento, como títulos e listas, e mantém metadados como caminho do título, hash de conteúdo e deslocamentos de origem. Os provedores de incorporação incluem OpenRouter, APIs compatíveis com OpenAI e Ollama, todos atrás de uma interface comum. O LocalVectorStore usa um manifesto e um arquivo binário para vetores, com gravações atômicas garantindo consistência. A indexação incremental compara metadados e hashes de conteúdo para evitar recalcular incorporações para pedaços inalterados. O autor destaca a importância de separar componentes e menciona desafios com corridas assíncronas que foram pegas apesar de passar nos testes.
Fonte: Habr — хаб ИИ —
original
