Bro, ¿y si en vez de usar el motor FTS5 usas búsqueda semántica con algún embedding pequeño (o le das opción al usuario para que elija)? Las búsquedas serían un poquito más lentas, pero serían mucho más precisas. Recientemente hice algo similar para buscar issues en GitHub Project, también en un sistema de FAQs , y los resultados fueron espectaculares. O sea a partir de un nuevo issue que trajera los 5 mas semanticamente similares a este para prevenir duplicados y mejorar el contexto.También esto ayuda a clasificar mejor el issue y, si es en equipos grandes, hasta sabes a quién asignárselo, ya que, por ejemplo, si ves que la mayoría los hizo cierto desarrollador.
En mi caso lo hice en Postgres usando PGVector, pero acabo de investigar y al parecer SQLite también tiene algo similar. En mi caso utilicé modelos pequeños (y que soportaran español jeje), por ejemplo Xenova/all-MiniLM-L6-v2, aunque Google tiene uno bastante bueno y también pequeñito. Al final, eso ya es preferencia del usuario; yo siempre busco la mejor relación entre tamaño y calidad porque en Cuba la velocidad de internet es de menos de 1 MB/s jeje.
Bro, ¿y si en vez de usar el motor FTS5 usas búsqueda semántica con algún embedding pequeño (o le das opción al usuario para que elija)? Las búsquedas serían un poquito más lentas, pero serían mucho más precisas. Recientemente hice algo similar para buscar issues en GitHub Project, también en un sistema de FAQs , y los resultados fueron espectaculares. O sea a partir de un nuevo issue que trajera los 5 mas semanticamente similares a este para prevenir duplicados y mejorar el contexto.También esto ayuda a clasificar mejor el issue y, si es en equipos grandes, hasta sabes a quién asignárselo, ya que, por ejemplo, si ves que la mayoría los hizo cierto desarrollador.
En mi caso lo hice en Postgres usando PGVector, pero acabo de investigar y al parecer SQLite también tiene algo similar. En mi caso utilicé modelos pequeños (y que soportaran español jeje), por ejemplo Xenova/all-MiniLM-L6-v2, aunque Google tiene uno bastante bueno y también pequeñito. Al final, eso ya es preferencia del usuario; yo siempre busco la mejor relación entre tamaño y calidad porque en Cuba la velocidad de internet es de menos de 1 MB/s jeje.