Inspiration
As empresas actuais non sofren por falta de información, senón por exceso dela. Como ben formula o reto de Merlin Software, os contratos, facturas e informes están dispersos nun "océano" de cartafoles compartidos e correos, provocando perdas de tempo e pescozos de botella.
A nosa inspiración nace desta premisa: se os documentos dunha empresa son un inmenso mar de datos, os traballadores non deberían ter que mergullarse ás cegas. Así nace Sardiñas na nube, unha gran "rede de pesca" intelixente deseñada para capturar, organizar e extraer exactamente o dato que necesitas en milisegundos, sen importar en que formato estea agochado.
What it does
Sardiñas na nube é un xestor documental corporativo impulsado por IA que centraliza a información e fai que buscar un dato sexa tan doado como usar Google. As súas características principais son:
-Inxesta Universal: Importa documentos en PDF, Word (DOCX), Excel (XLSX), Texto (TXT/MD) e ata imaxes (JPG/PNG).
-Visión IA (OCR Avanzado): Se subes unha foto dun tícket ou un contrato escaneado, a nosa IA le e extrae o texto automaticamente.
-Auto-Categorización: Ao subir un arquivo, un modelo LLM analiza o seu contido e etiquétao automaticamente (Finanzas, Legal, RRHH, Proxectos, etc.).
-Busca Profunda con Contexto: Non só busca no título, busca dentro dos documentos e móstrache os fragmentos exactos resaltados onde aparece a túa palabra clave.
-Resumos con IA: Un botón que xera ao instante un resumo do documento en 3 puntos clave para entendelo sen ter que lelo enteiro.
Lector e Editor Split-View: Unha vista de lectura inmersiva onde á esquerda ves o formato orixinal (o PDF, a cuadrícula de Excel ou o visor de Word) e á dereita o texto extraído, o cal podes editar e volver a indexar.
How we built it
Construímos unha arquitectura moderna e rápida dividida en dúas capas:
- Frontend (A Rede): Desenvolvido con Vue.js 3 e Tailwind CSS. Creamos unha interface limpa, reactiva (Composition API) e centrada na experiencia de usuario (UX), con paxinación intelixente de resultados para que o navegador non se sature ao buscar en milleiros de liñas.
- Backend (O Barco): Unha API REST robusta construída con FastAPI (Python) e SQLAlchemy para a base de datos. Procesamento de Arquivos: Integramos librarías nativas como PyPDF2, python-docx e openpyxl para destripar cada tipo de arquivo de forma eficiente.
Intelixencia Artificial: Utilizamos a API de Groq para inferencia ultrarrápida. Empregamos llama-3.1-8b para a categorización rápida, llama-3.3-70b para resumos complexos e llama-3.2-11b-vision-preview para extraer texto das imaxes.
Challenges we ran into
- O inferno dos formatos: Extraer texto limpo dun PDF é distinto a iterar sobre as celas dun Excel ou ler un Word. Tivemos que crear un sistema dinámico no backend que tratase cada extensión de forma específica e devolvese un JSON estandarizado ao frontend.
- Visor nativo de documentos: Intentar renderizar documentos complexos (como .docx) no navegador de forma local (localhost) foi un reto, xa que visores como o de Microsoft Office requiren URLs públicas. Solucionámolo creando un visor híbrido (Split-View) que simula un "folio" en branco para texto plano/Word, permitindo ler e editar sen depender de visores externos de pago.
- Rendemento nas buscas (Sobrecarga do DOM): Cando unha palabra clave aparecía centos de veces nun documento, o frontend intentaba renderizar todos os fragmentos á vez. Solucionámolo aplicando deduplicación en Python (set() para evitar fragmentos idénticos) e un sistema de "Carga preguiceira" (Show more coincidences) en Vue.js.
Accomplishments that we're proud of
Estamos inmensamente orgullosos da fluidez do buscador. Ter logrado que a IA non só sexa un "chatbot" pegado á pantalla, senón que traballe na sombra actuando como un bibliotecario automático (categorizando e lendo imaxes) cumpre ao 100% coa misión de Merlin Software: que calquera persoa do equipo atope o que necesita sen complicacións. Tamén estamos moi orgullosos de como manexamos os arquivos Excel, extraendo as súas follas e transformándoas en táboas interactivas e editables directamente en Vue.
What we learned
Aprendimos a xestionar FormData asíncrono entre Vue e FastAPI. Profundamos na manipulación de expresións regulares (regex) para atopar e resaltar palabras clave ignorando maiúsculas e acentos. Descubrimos o inmenso potencial de usar modelos Open Source (familia Llama 3) optimizados en hardware como o de Groq, logrando respostas de IA en milisegundos, o cal é crítico para que a experiencia de usuario non se sinta lenta.
What's next for Sardiñas na nube
Esta é só a primeira viaxe de pesca. As nosas vindeiras redes apuntan a:
- Busca Semántica Integrada: Pasar dunha busca por coincidencia exacta de palabras a unha busca por "significado" utilizando bases de datos vectoriais (Embeddings).
- Chat interactivo por documento: Poder facerlle preguntas específicas a un contrato longo (Ex: "Cal é a cláusula de penalización por atraso?").
- Exportación inversa: Permitir que os cambios que se fagan no editor de texto extraído modifiquen e garden o arquivo Excel ou Word orixinal.
Log in or sign up for Devpost to join the conversation.