Flamehaven FileSearch — motor de búsqueda de documentos RAG de código abierto y autoalojable
(github.com/flamehaven01)🔥Flamehaven FileSearch
- Flamehaven FileSearch es un motor de búsqueda semántica de código abierto y autoalojable que permite a cualquiera construir un sistema RAG (Retrieval-Augmented Generation) basado en documentos en solo 5 minutos.
- Funciona sobre Python, FastAPI y SQLite, y utiliza Google Gemini Embedding para realizar preguntas y respuestas en lenguaje natural sobre diversos documentos como PDF/DOCX/TXT/MD.
¿Por qué se creó?
- La mayoría de las implementaciones RAG de código abierto funcionan bien en entornos como Colab o Jupyter, pero su estructura suele ser compleja o carecen de estabilidad para desplegarlas y operarlas en un servidor real.
- Flamehaven FileSearch fue diseñado con el objetivo de ser una “pila RAG ligera que realmente funciona”, para que investigadores, startups y desarrolladores individuales puedan experimentar de inmediato con búsqueda semántica usando sus propios datos.
¿Por qué vale la pena prestarle atención?
- Autonomía total: no depende de servidores externos ni de la nube, y todos los datos se almacenan localmente.
- Estructura centrada en desarrolladores: Python SDK + REST API, con documentación Swagger generada automáticamente sobre FastAPI.
- Distribución como paquete en PyPI: se puede instalar directamente desde PyPI — instalación totalmente automática con una sola línea:
pip install flamehaven-filesearch[api]. - Ejecución inmediata: después de instalarlo, puedes iniciar el servidor de inmediato con el comando
flamehaven-apiy probar la API en el navegador desde/docs. - Escalabilidad: almacenamiento en SQLite, arquitectura de plugins y soporte para despliegue con Docker.
- Amigable para educación e investigación: usa embeddings de Gemini, ideal para practicar búsqueda semántica basada en los LLM más recientes.
¿Qué incluye? (puntos destacados)
-
Python SDK:
from flamehaven_filesearch import FlamehavenFileSearch→ ofrece funciones completas para carga de documentos / búsqueda / administración de stores.
-
REST API: endpoints
/upload,/search,/stores+ Swagger UI. -
Soporte para Docker:
docker run -e GEMINI_API_KEY=... -p 8000:8000 flamehaven/filesearch:latest -
Estructura:
core(motor)/api(FastAPI)/data(SQLite)/examples/docs
Probarlo rápidamente
1️⃣ Paquete en PyPI
Flamehaven FileSearch se puede instalar directamente a través de PyPI.
Ver la versión más reciente: https://pypi.org/project/flamehaven-filesearch
pip install flamehaven-filesearch[api]
2️⃣ Instalación
pip install flamehaven-filesearch[api]
export GEMINI_API_KEY="your-google-gemini-key"
flamehaven-api
3️⃣ Carga de documentos y búsqueda
curl -X POST "http://localhost:8000/upload" -F "file=@handbook.pdf"
curl "http://localhost:8000/search?q=vacation+policy"
4️⃣ Ejemplo de uso del SDK
from flamehaven_filesearch import FlamehavenFileSearch
fs = FlamehavenFileSearch()
fs.upload_file("handbook.pdf")
print(fs.search("vacation policy")["answer"])
Rendimiento y especificaciones
- Entorno: Ubuntu 22.04 / 2vCPU / 4GB RAM / SSD
- Carga de un PDF de 10MB → aproximadamente 5 segundos
- Respuesta promedio de búsqueda → 2 segundos (al citar 5 fuentes)
- Eliminación/creación de stores → menos de 1 segundo
- Sobrecarga de almacenamiento → aproximadamente 5 % del tamaño del documento
Hoja de ruta
- v1.1 : caché y gestión de cuotas
- v1.2 : búsqueda por lotes + streaming por WebSocket
- v2.0 : soporte para documentos multilingües, panel de analítica
- A futuro : integración con vector DBs Pinecone/Weaviate, OCR, stores colaborativos
Licencia
- MIT License (completamente de código abierto)
🛡️ Aviso de seguridad y cuenta de Flamehaven en GitHub
Recientemente se detectaron intentos de inicio de sesión sospechosos en la cuenta de GitHub de Flamehaven (esta cuenta), por lo que la cuenta quedó en estado de suspensión. Actualmente se está verificando el problema en colaboración con el equipo de seguridad de GitHub.
A raíz de este incidente, las cuentas que incluyen dir2md, flashrecord, crom-efficient y Arr-medic-cyp3a4, entre otras, permanecerán temporalmente fuera de uso.
Ofrecemos nuestras más sinceras disculpas por las molestias ocasionadas y agradecemos su comprensión hasta que se complete la revisión de seguridad.
4 comentarios
Actualización: lanzamiento de la v1.2.2
Después de publicar el texto original, al día de hoy ya llegó hasta la v1.2.2.
Si resumo solo los cambios de forma simple:
Refuerzo de pruebas/estabilidad
Servicio de cifrado: prueba de ida y vuelta de
encrypt/decryptbasada en claveenv+ prueba de la ruta de token inválidoBúsqueda por lotes: cola de prioridad en paralelo, servicio no inicializado → 503, aislamiento de excepciones por consulta
Caché de Redis: con un cliente falso en memoria, pruebas de
get/set/delete/clear+ verificación de disponibilidadSe incluyó
cache_redis.pyen la cobertura, ya que hasta ahora había quedado fueraPreparación del servicio (Service readiness)
Al iniciar el servidor por primera vez, se crean automáticamente el store predeterminado y un pequeño documento de fallback
Incluso sin subir nada,
/searchy/healthresponden con 200 de inmediato→ se puede usar de inmediato para demos, health checks de CI y arranque de agentes
Ajustes del lado operativo
La cadena de versión, los metadatos de logs, las etiquetas de Prometheus y el título de OpenAPI se ajustaron a la v1.2.2
Redis sigue siendo opcional y, si no está disponible, hace fallback de forma natural a una caché LRU dentro del proceso
Sin cambios incompatibles, así que los usuarios actuales pueden actualizar tal cual.
Lo seguimos puliendo poco a poco hacia algo “listo para usarse directamente en producción”.
🚀 ¡Lanzamiento de Flamehaven Filesearch v1.2.1!
Presentamos la versión más reciente de Flamehaven Filesearch, v1.2.1, que hemos seguido mejorando de forma constante desde la actualización anterior. Esta versión se enfoca en reforzar la seguridad, ampliar las herramientas de administración y mejorar la facilidad de operación.
🔐 Actualizaciones principales
🔺Se añadieron controles de caché para administradores
Ahora es posible consultar el estado de la caché y vaciarla desde las rutas
/api/admin/cache/statsy/api/admin/cache/flush(solo para Admin)🔺Se reforzaron los permisos de API Key
Las claves sin permisos de Admin devuelven 403 al intentar usar funciones administrativas
Las nuevas API keys incluyen por defecto permisos de admin
🔺Se introdujo el hook de IAMProvider
Se preparó la estructura para una futura integración con backends OIDC/IAM
🔺Se ampliaron las métricas
Se añadieron
Cache,health_statusyprometheus placeholderpara mejorar el aprovechamiento en dashboards🔺Actualización del frontend
Las páginas de Cache / Metrics ahora están conectadas con el backend
Se vinculó la función de ingreso de Token en las páginas Upload / Admin
Se renovaron las nuevas páginas de Landing y Dashboard
🔺Se reforzaron las pruebas
Se añadió
test_admin_cache.pypara incorporar pruebas de la API administrativa relacionada con la caché🔺Actualización de la documentación
Se actualizó la versión en el README y se reforzó la guía de seguridad, incluyendo la variable de entorno
FLAMEHAVEN_ENC_KEY🐛 Fixed
Se bloquea el acceso (403) cuando se solicitan funciones administrativas sin permisos de Admin
🔗 GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
Esta versión también sienta las bases para la futura integración de IAM y la evolución del dashboard.
Ayer lancé Flamehaven FileSearch v1.2.0. Esta versión se enfocó en transformar todo el servicio de una “API pública” a una plataforma de nivel empresarial centrada en seguridad y escalabilidad.
Los principales cambios son los siguientes:
Se agregó un sistema de autenticación y permisos para la API
Todos los endpoints protegidos ahora requieren autenticación con Bearer Token.
Las API Keys admiten permisos granulares para carga/búsqueda/almacenamiento/eliminación y más, además de incluir rate limit por clave, logs de auditoría y almacenamiento con hash SHA256 (sin guardar la clave original).
Se agregó un Admin Dashboard
Es una interfaz web donde se pueden crear, consultar y revocar API Keys, así como ver estadísticas de solicitudes y la distribución de uso por endpoint.
Está completamente empaquetado con HTML/CSS/JS y no tiene dependencias externas.
Batch Search API
Procesa de 1 a 100 consultas en una sola solicitud.
Ofrece modos de ejecución en paralelo o secuencial, ordenamiento basado en prioridad, aislamiento de errores por consulta y métricas detalladas de tiempo.
Backend de caché con Redis
Es una opción de caché distribuida para entornos con múltiples workers.
Tiene latencia de consulta de <10ms, fallback LRU automático y reduce entre 40–60% las llamadas al LLM.
Plantillas de despliegue disponibles (Docker/Kubernetes)
Incluye ejemplos de Docker, Docker Compose y Kubernetes (ConfigMap/Secret/Deployment) para desplegarlo de inmediato.
Resumen de rendimiento:
Cache hit: <10ms
Cache miss (llamada al LLM): ~0.5–3s
Batch Search (10 consultas): ~2–5s
GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
Si tienen sugerencias para mejorar el diseño de seguridad, la usabilidad de la API o la estructura de despliegue, serán bienvenidas.
También estamos preparando la v1.2.1 (mejoras en la autenticación del admin, UI de configuración de Redis) y la v1.3.0 (rotación de claves + OAuth2/OIDC).
Hoy lanzamos la v1.1.0.
Esta versión incluye principalmente un parche para una vulnerabilidad de path traversal, actualizaciones de seguridad de FastAPI/Starlette, trazabilidad con ID de solicitud, rate limiting, caché (hits de <10 ms), métricas de Prometheus y más. Funciona de manera mucho más estable que la versión anterior.
Esta actualización también sigue enfocada en una arquitectura ligera y self-hosted. Gracias.