RíoLex

Inicia sesión para continuar.

¿No tienes cuenta? El acceso es por invitación: pide al administrador que te dé de alta.

Al iniciar sesión aceptas los Términos de Uso y el Aviso de Privacidad.

¿Quieres entender cómo funciona por dentro? Lee la explicación técnica ↓

Cómo funciona por dentro

De un PDF a un dictamen fundamentado

Una explicación honesta y a detalle del sistema completo, pensada para profesionales que quieren entender qué ocurre bajo la superficie: desde que se sube un documento hasta que se entrega un borrador con citas, y cómo se protege la información en cada paso.

PDFTextoFragmentosVectoresBase de datosBúsqueda semánticaModelo (IA)Borrador + fuentes

El flujo lógico, paso a paso

Subida y lectura del documento

El PDF se lee en tu propio navegador y se le extrae el texto. Si un documento está escaneado como imagen (sin texto seleccionable), el sistema lo detecta y lo avisa en lugar de guardar algo vacío.

pdfjs · lectura en el navegador

Fragmentación consciente de la estructura

El texto se corta en fragmentos manejables. En una ley, el corte respeta las fronteras de cada ARTÍCULO y a cada fragmento se le pone un sello (ley, título, capítulo, número de artículo). En un expediente, se usan fragmentos con un pequeño solapamiento para no partir una idea a la mitad.

chunking estructurado · metadatos por artículo

Embeddings: una huella de significado

Cada fragmento se convierte en un vector: una lista de 1,536 números que representa su significado. Textos que hablan de lo mismo quedan “cerca” en ese espacio matemático, aunque usen palabras distintas. Así el sistema busca por sentido, no solo por coincidencia de palabras.

OpenAI text-embedding-3-small (1536 dimensiones)

Almacenamiento con búsqueda vectorial

Los fragmentos y sus vectores se guardan en una base de datos PostgreSQL con la extensión pgvector, que permite encontrar los fragmentos más parecidos a una consulta por cercanía (similitud del coseno).

Supabase Postgres + pgvector

Tu pregunta o tu caso, también como vector

Cuando haces una pregunta o capturas un caso para su dictamen, esa consulta se convierte en un vector con el mismo modelo. Buscar deja de ser “¿aparece esta palabra?” y pasa a ser “¿qué dice la ley sobre esto?”.

misma representación semántica

Recuperación dirigida (RAG)

Se recuperan solo los fragmentos más relevantes. Para un dictamen, un modelo enrutador decide qué leyes consultar, se hacen varias búsquedas dirigidas (incluidas sanciones y UMA) y se garantiza que cada ley pertinente quede representada, con un tope por ley para no saturar.

buscar_fragmentos · recuperación federada multi-consulta

Razonamiento del modelo, con las manos atadas a la ley

Solo esos fragmentos (un puñado, no todo el corpus) se le entregan al modelo con instrucciones estrictas: fundamentar cada afirmación en los fragmentos, citar con etiquetas [F#], calcular montos con el valor vigente de la UMA, y decir “no se encontró fundamento en los documentos cargados” cuando algo no consta. Esto es lo que reduce la invención.

gpt-5 (dictámenes y escritos) · gpt-4o-mini (preguntas y enrutador)

Auditoría automática

Tras generar el texto, el sistema coteja los artículos, normas y montos citados contra los fragmentos que realmente se usaron, y marca todo lo que requiere verificación humana (por ejemplo, un cálculo derivado).

cotejo de citas contra las fuentes

Entrega como borrador, nunca como algo firme

El resultado se muestra con sus fuentes citadas y sus alertas de verificación. Ningún dictamen o escrito se considera aprobado sin la revisión y el visto bueno explícito de un abogado, que queda registrado con quién validó y cuándo.

aprobación humana con registro

¿Por qué esto y no simplemente “preguntarle a una IA”?

Una IA general responde de memoria y puede inventar artículos o montos. RíoLex usa RAG (generación aumentada por recuperación): funciona como una biblioteca con bibliotecario. El corpus legal puede crecer sin límite, pero el modelo solo lee el puñado de fragmentos realmente pertinentes a tu caso, y se le exige citar únicamente lo que consta en ellos. Resultado: respuestas trazables a la ley, con las lagunas señaladas en vez de rellenadas.

El motor, al desnudo

Un modelo de lenguaje tiene una ventana de contexto finita y su precisión se degrada cuando se le satura de texto —un efecto documentado como “lost in the middle”: la información enterrada en medio de miles de páginas se atiende peor—. Volcarle toda la legislación en cada consulta sería caro, lento y, sobre todo, menos preciso. Por eso RíoLex no “se lee toda la ley de cajón”: recupera de forma selectiva. El contexto que llega al modelo se mantiene prácticamente constante (un puñado de fragmentos, no más de ~18) aunque el corpus crezca a miles de artículos.

La selección es matemática, no por palabra clave. Cada fragmento y cada consulta son vectores de 1,536 dimensiones; se calcula la similitud del coseno entre ellos y se traen los top-k más cercanos mediante una búsqueda de vecinos más próximos (kNN sobre pgvector). Así el sistema encuentra “lo que la ley dice sobre esto”, aunque el texto legal use otras palabras que el caso.

Una cascada de dos modelos: filtrar barato → razonar caro
Modelo 1 · El enrutador

gpt-4o-mini

Decide, no redacta

Rápido y de bajo costo. Sobre un catálogo vivo de las leyes indexadas, clasifica qué ordenamientos son pertinentes al caso concreto (routing). No razona el fondo: acota el universo de búsqueda antes de recuperar nada. Con esa decisión dispara una recuperación federada —varias consultas dirigidas por ley— con representación garantizada y un tope de fragmentos por ley para no sesgar el resultado hacia la norma más “ruidosa”.

Modelo 2 · El razonador

gpt-5

Subsume, calcula y redacta

Potente y costoso, se reserva para lo difícil: la subsunción jurídica (encuadrar los hechos en la norma), el cálculo de sanciones con el valor vigente de la UMA y la redacción del dictamen o escrito. Recibe únicamente los fragmentos ya filtrados —nunca el corpus entero— con temperatura baja (salida determinista y reproducible) e instrucciones estrictas de citar con [F#] y declarar con honestidad lo que no consta en las fuentes.

Por qué dos modelos y no uno. Elegir qué leyes mirar es una tarea de clasificación barata; no necesita el modelo más potente. Reservar gpt-5 solo para el razonamiento jurídico —ya con el material filtrado— baja el costo y la latencia, y sube la calidad: cada modelo hace aquello en lo que es bueno. El enrutador acota; el razonador profundiza.

Anclaje a la fuente (grounding). Al razonador se le prohíbe apoyarse en su conocimiento general: solo puede usar los fragmentos recuperados, citándolos con [F#]. Terminada la redacción, una auditoría automática coteja artículos, normas y montos contra esas mismas fuentes y marca lo que exige verificación humana. La generación es trazable de principio a fin: de cada afirmación se puede volver al fragmento de ley que la sostiene.

Seguridad y confidencialidad

Acceso por sesión, sin registro público

Se entra con correo y contraseña gestionados por Supabase Auth. Las cuentas se crean por invitación (no hay alta pública). La sesión viaja en cookies y se valida contra el servidor, no solo se lee.

Un “portero” antes de cada petición

Una capa intermedia (proxy) comprueba la sesión antes de servir cualquier página o API: sin sesión válida, redirige al login o responde un error 401. Es la primera barrera, la de comodidad.

La barrera real: seguridad a nivel de fila (RLS)

La verdadera protección vive en la base de datos. Cada tabla filtra por organización mediante políticas RLS: sin una sesión válida, PostgreSQL no entrega ni un solo registro, aunque alguien evadiera la interfaz. La organización se asigna con disparadores en la propia base, nunca desde el navegador.

Aislamiento entre despachos (multi-inquilino)

Cada organización ve únicamente sus expedientes, casos, dictámenes y escritos. Las leyes federales (que son públicas) se comparten en un corpus común; tus datos privados jamás se mezclan con los de otro cliente.

Llaves secretas solo en el servidor

Las claves de los servicios de inteligencia artificial se usan únicamente en el servidor, nunca se exponen a tu navegador ni a terceros. El navegador nunca ve una llave.

Cifrado en tránsito y datos que puedes borrar

Todo el tráfico viaja cifrado por HTTPS. Los expedientes se pueden aislar de las búsquedas o eliminar por completo, y el tratamiento de datos se rige por el Aviso de Privacidad.

¿Qué tan segura es para datos sensibles? La confidencialidad no depende de una sola capa. Se combinan: aislamiento por organización aplicado en la propia base de datos (RLS), de modo que una fuga de interfaz no expone datos de otro despacho; cifrado del tráfico en tránsito (HTTPS/TLS); claves de servicios que nunca salen del servidor; acceso por invitación sin registro público; y la aprobación humana como último control. Además, RíoLex actúa como encargado de los datos de terceros que tú incorporas: los trata solo por tu cuenta, para generar tu análisis, y no para fines propios.

RíoLex se construye sobre infraestructura de nivel empresarial, con plataformas que mantienen certificaciones de seguridad reconocidas en la industria (como SOC 2). No reinventamos la seguridad crítica: nos apoyamos en proveedores especializados y auditados, y sumamos encima el aislamiento por organización y el control humano propios de RíoLex.

Supabase

Base de datos PostgreSQL, autenticación y seguridad a nivel de fila (RLS). Aquí viven, aislados por organización, tus casos y documentos.

Confían en esta plataforma: Mozilla, PwC y 1Password, entre otras.

OpenAI

Los modelos de embeddings y de lenguaje. Bajo su interfaz de negocio (API), el contenido enviado no se utiliza para entrenar sus modelos.

Confían en esta plataforma: Morgan Stanley, Stripe y Duolingo, entre otras.

Vercel

Alojamiento y entrega de la aplicación —de los creadores de Next.js—, con HTTPS y despliegue en red global.

Confían en esta plataforma: Notion, Under Armour y eBay, entre otras.

¿Más detalle sobre el propósito y los límites? Visita Acerca de o el Aviso de Privacidad.