Lantern

Lantern

Lantern Systems, Inc. · Programación

Lantern es una extensión de código abierto para Postgres que añade búsqueda vectorial HNSW y generación de embeddings a tu base de datos, con un servicio gestionado en la nube para apps de IA.

Vista previa de la interfaz de Lantern

Acerca de Lantern

About

Qué es Lantern

Lantern funciona dentro de PostgreSQL como una extensión, así que los vectores viven en las mismas tablas que el resto de tus datos. Añades una columna vectorial, creas un índice lantern_hnsw sobre ella y la base de datos responde a las consultas de vecinos más cercanos con SQL normal. Sin segundo almacén, sin trabajos de sincronización y sin un lenguaje de consulta aparte.

El proyecto apunta a equipos que construyen búsqueda semántica, recomendaciones y recuperación de información para asistentes de IA sin salir de Postgres. Funciona en Postgres 11 a 16 y reutiliza el tipo vector de pgvector, de modo que una tabla existente de pgvector se traslada con un tipo que ya coincide.

Los límites también cuentan. Lantern lo mantiene un equipo pequeño, la última versión de código abierto es la v0.5.0 de noviembre de 2024 y el plan gratuito en la nube es modesto: 0,25 vCPU y 0,5 GB de RAM. Encaja bien en prototipos y catálogos medianos; bastante menos si necesitas una organización de soporte grande detrás.

Primeros pasos

  1. Crea un proyecto gratuito en Lantern Cloud o instala la extensión en tu propio Postgres con Docker, Homebrew o un binario precompilado.
  2. Ejecuta CREATE EXTENSION lantern en la base de datos que vayas a usar. Cada base de datos de una instancia necesita su propia copia.
  3. Añade una columna vectorial a una tabla e inserta las filas como arrays de números decimales.
  4. Crea el índice con CREATE INDEX ... USING lantern_hnsw y elige una clase de operador, por ejemplo coseno o L2 al cuadrado.
  5. Consulta con los operadores de distancia o activa la generación automática de embeddings para que Lantern rellene la columna vectorial desde tu texto.

Información del producto

Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de Lantern.

Plan gratuitoSí
Planes de pago$0 - $704/mo
PlataformaLantern Cloud (managed Postgres), self-hosted on Postgres 11-16 via Docker, Homebrew, or binaries
DesarrolladorLantern Systems, Inc.
CategoríaProgramación
Fecha de lanzamientoJul 2023
Última actualizaciónDec 2024
Visitas al sitio web2.2K
Ranking global del sitio6.6M
Disponibilidad de la APISí

Ideal para

Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.

Usuarios

  • Desarrolladores de backend que ya trabajan con Postgres
  • Ingenieros de IA que montan recuperación para chatbots
  • Equipos pequeños sin administrador de bases de datos

Tareas

  • Búsqueda semántica sobre catálogos de producto, documentación de soporte o wikis internas, donde una consulta de texto debe devolver resultados por significado y no por palabras exactas.
  • Búsqueda de imágenes por similitud con embeddings CLIP, que Lantern incluye como modelo propio junto a los de texto.
  • Funciones de recomendación que ordenan elementos por distancia al embedding de un usuario, calculada en la misma consulta que une tus tablas de negocio.
  • Deduplicación y detección de casi duplicados en conjuntos grandes de registros, con un índice de coseno y un umbral de distancia.

Casos de uso

  • Añadir búsqueda a una app existente de Rails, Django o Node sin meter otro almacén de datos.
  • Migrar desde pgvector o Pinecone cuando quieres una sola base de datos para los datos relacionales y los vectores.
  • Prototipar un flujo de RAG en el plan gratuito antes de pagar una instancia.

Funciones clave

Índice HNSW dentro de Postgres

Lantern añade un tipo de índice lantern_hnsw para columnas vectoriales y acelera las consultas ORDER BY ... LIMIT. El índice se apoya en usearch, una implementación compacta de HNSW, y admite distancia L2 al cuadrado, coseno y Hamming mediante clases de operador que eliges al crear el índice.

Generación de embeddings en SQL

Puedes generar vectores sin salir de la base de datos. Lantern trae funciones auxiliares que llaman a modelos de embeddings y escriben el resultado en una columna, así que un servicio en Python o Node no tiene que trocear texto, llamar a una API y gestionar reintentos por su cuenta.

Columnas con embeddings automáticos

Las columnas gestionadas mantienen los vectores al día. Apuntas Lantern a una columna de texto y a un modelo, y las filas nuevas o modificadas se procesan en segundo plano como tarea asíncrona. Se acaba el código de pegamento entre la tabla de contenido y su índice de búsqueda.

Llamadas a LLM desde SQL

La versión 0.5.0 incorporó llm_completion y add_completion_job, que ejecutan prompts contra un LLM dentro de una consulta o como trabajo en segundo plano. Es una función acotada, útil para clasificar y resumir textos cortos, no un sustituto de la capa de aplicación.

Indexación sin servidor y construcción en paralelo

Crear el índice suele ser la parte lenta de un montaje vectorial. Lantern construye el grafo del índice fuera del servidor de base de datos o en otra máquina, así que una reconstrucción grande no frena el tráfico normal. En la nube se cobra como indexación sin servidor desde 0,50 $ por GB.

Ajuste automático del índice y cuantización

Elegir M, ef y ef_construction a mano exige pruebas. Lantern incluye una herramienta de autotune que propone parámetros para tus datos y cuantización de producto para reducir el tamaño del índice cuando la memoria aprieta.

Ventajas y desventajas

Ventajas

  • Los vectores viven en Postgres, así que las uniones, los filtros y las transacciones funcionan igual que en el resto del esquema.
  • Admite el tipo de dato de pgvector, lo que acorta la migración si ya lo usas.
  • La generación de embeddings y las columnas gestionadas eliminan un servicio de ingesta aparte.
  • El plan gratuito en la nube no se pausa nunca, así que un proyecto de demostración puede quedarse inactivo sin perder la base de datos.
  • El índice se puede construir fuera del servidor principal, lo que mantiene la producción ágil durante una reconstrucción.

Desventajas

  • El ritmo de publicación del código abierto es lento. La v0.5.0 llegó en noviembre de 2024 y el último push al repositorio fue en diciembre de 2024, así que conviene contar con tu propio fork para los arreglos.
  • La documentación da por hecho que manejas SQL y el ajuste de índices. Un equipo sin ingeniero de backend se atasca en el primer índice.
  • La instancia gratuita tiene 0,25 vCPU y 0,5 GB de RAM, suficiente para una demo y poco más.
  • El coste de los embeddings se suma a la factura de la base de datos, y usar tu propia clave de OpenAI o Cohere es la única forma de esquivar el margen por token de Lantern.

Preguntas frecuentes

Sí, en dos sentidos. La extensión es de código abierto con licencia AGPL-3.0 y se puede autoalojar sin coste, y Lantern Cloud ofrece un plan gratuito con 0,25 vCPU, 0,5 GB de RAM y sin pausas. Las instancias de pago arrancan en 44 $ al mes y llegan a 704 $ al mes por 16 vCPU y 60 GB de RAM.