
← Atareao con Linux10 aug · 30 min
ATA 821 Como buscar en tu cerebro digital con IA
<p>¿Alguna vez te has dado cuenta de que la búsqueda exacta se queda corta cuando tu base de conocimiento crece? Buscar por palabras exactas con grep o FTS5 es rápido y preciso, pero es literal y no entiende contexto ni sinónimos. Por otro lado, la búsqueda semántica pura con <em>embeddings</em> a veces falla con términos muy específicos como rutas de archivos o comandos exactos.</p><p>En este episodio te muestro cómo solucionar este problema combinando lo mejor de ambos mundos mediante <strong>tres técnicas avanzadas de RAG</strong>:</p><ul><li><p><strong>Búsqueda Híbrida (Hybrid Search):</strong> Cómo combinar FTS5 y <em>embeddings</em> semánticos utilizando un equilibrio ponderado (parámetro <em>alpha</em>).</p></li><li><p><strong>Re-ranking con Cross-Encoder:</strong> Refinamiento de resultados pasando de un <em>bi-encoder</em> rápido a un <em>cross-encoder</em> preciso para priorizar la máxima relevancia.</p></li><li><p><strong>HyDE (Hypothetical Document Embeddings):</strong> La técnica de generar un documento hipotético con un LLM local (Ollama) para encontrar notas mediante conceptos abstractos.</p></li></ul><p>Además, repasamos cómo integrar todo esto en tu flujo de trabajo diario mediante <strong>herramientas CLI creadas en Python y Rust</strong>, así como la integración en <strong>Neovim con sqlite.lua</strong>.</p><p><strong>Enlaces y recursos del episodio:</strong></p><ul><li><p><a href="https://www.google.com/search?q=https://gist.atareao.es/atareao/8db45095fa8849aa9ff515e1957a7528" target="_blank" rel="noopener">Gist con los scripts en Python (Hybrid Search, Reranker y HyDE)</a></p></li><li><p><a href="https://www.google.com/search?q=https://gist.atareao.es/atareao/224a2f0d5f7f4c2cb8b3b8eeee32a079" target="_blank" rel="noopener">Gist con la implementación del CLI en Rust (cerebro-cli)</a></p></li><li><p>Notas completas del episodio en: <a href="https://atareao.es" target="_blank" rel="noopener">atareao.es</a></p></li></ul>