Lantern

Lantern

Lantern Systems, Inc. · Programmation

Lantern est une extension open source pour Postgres qui ajoute une recherche vectorielle HNSW et la génération d'embeddings à votre base, avec un service cloud géré pour les applications d'IA.

Aperçu de l'interface de Lantern

À propos de Lantern

About

Qu'est-ce que Lantern

Lantern s'installe dans PostgreSQL sous forme d'extension, si bien que les vecteurs logent dans les mêmes tables que le reste de vos données. Vous ajoutez une colonne vectorielle, créez un index lantern_hnsw dessus, et la base répond aux requêtes de plus proches voisins en SQL ordinaire. Pas de second magasin, pas de tâche de synchronisation, pas de langage de requête à part. Au lieu d'une base de données vectorielle séparée, vous gardez celle que vous exploitez déjà.

Le projet vise les équipes qui construisent de la recherche sémantique, des recommandations et de la récupération de contexte pour des assistants d'IA sans quitter Postgres. Il fonctionne sur Postgres 11 à 16 et réutilise le type vector de pgvector, ce qui permet de reprendre une table pgvector existante avec un type déjà compatible.

Les limites comptent aussi. Lantern est maintenu par une petite équipe, la dernière version open source est la v0.5.0 de novembre 2024, et l'offre cloud gratuite reste modeste avec 0,25 vCPU et 0,5 Go de RAM. C'est un bon choix pour un prototype ou un catalogue de taille moyenne, beaucoup moins si vous avez besoin d'une grande organisation de support derrière.

Premiers pas

  1. Créez un projet gratuit sur Lantern Cloud, ou installez l'extension sur votre propre Postgres avec Docker, Homebrew ou un binaire précompilé.
  2. Lancez CREATE EXTENSION lantern dans la base que vous comptez utiliser. Chaque base d'une instance réclame sa propre copie.
  3. Ajoutez une colonne vectorielle à une table et insérez les lignes sous forme de tableaux de flottants.
  4. Construisez l'index avec CREATE INDEX ... USING lantern_hnsw, en choisissant une classe d'opérateur comme le cosinus ou la distance L2 au carré.
  5. Interrogez avec les opérateurs de distance, ou activez la génération automatique d'embeddings pour que Lantern remplisse la colonne vectorielle à partir de votre texte.

Informations sur le produit

Aperçu des tarifs, des plateformes compatibles et des performances de Lantern.

Offre gratuiteOui
Offres payantes$0 - $704/mo
PlateformeLantern Cloud (managed Postgres), self-hosted on Postgres 11-16 via Docker, Homebrew, or binaries
DéveloppeurLantern Systems, Inc.
CatégorieProgrammation
Date de lancementJul 2023
Dernière mise à jourDec 2024
Visites du site2.2K
Classement mondial du site6.6M
Disponibilité de l’APIOui

Idéal pour

Les utilisateurs, tâches et cas d'usage où cet outil convient le mieux.

Utilisateurs

  • Les développeurs backend qui font déjà tourner Postgres
  • Les ingénieurs IA qui montent de la récupération pour un chatbot
  • Les petites équipes sans administrateur de base de données

Tâches

  • La recherche sémantique dans un catalogue produit, une documentation de support ou un wiki interne, quand une requête doit renvoyer des résultats par sens plutôt que par mot exact.
  • La recherche d'images par similarité avec des embeddings CLIP, que Lantern propose comme modèle intégré à côté des modèles texte.
  • Les fonctions de recommandation qui classent des éléments selon leur distance à l'embedding d'un utilisateur, calculée dans la même requête que vos tables métier.
  • La déduplication et la détection de quasi-doublons sur de gros volumes, avec un index cosinus et un seuil de distance.

Cas d'usage

  • Ajouter une recherche à une application Rails, Django ou Node existante sans introduire un nouveau magasin de données.
  • Migrer depuis pgvector ou Pinecone quand vous voulez une seule base pour les données relationnelles et les vecteurs.
  • Prototyper un pipeline RAG sur l'offre gratuite avant de payer une instance.

Fonctionnalités clés

Un index HNSW dans Postgres

Lantern ajoute un type d'index lantern_hnsw pour les colonnes vectorielles et accélère les requêtes ORDER BY ... LIMIT. L'index s'appuie sur usearch, une implémentation compacte de HNSW, et prend en charge la distance L2 au carré, le cosinus et Hamming via des classes d'opérateur choisies à la création.

Génération d'embeddings en SQL

Vous produisez des vecteurs sans sortir de la base. Lantern fournit des fonctions qui appellent des modèles d'embedding et écrivent le résultat dans une colonne, donc un service Python ou Node n'a plus à découper le texte, appeler une API et gérer les tentatives lui-même.

Colonnes à embeddings automatiques

Les colonnes gérées gardent les vecteurs à jour. Vous pointez Lantern vers une colonne texte et un modèle, et les lignes nouvelles ou modifiées sont traitées en arrière-plan comme tâche asynchrone. Fini le code de collage entre la table de contenu et son index de recherche.

Appels de LLM depuis SQL

La version 0.5.0 a introduit llm_completion et add_completion_job, qui exécutent des prompts sur un LLM dans une requête ou en tâche de fond. La fonction reste étroite, utile pour classer et résumer des textes courts, pas pour remplacer la couche applicative.

Indexation sans serveur et construction en parallèle

La création de l'index est souvent le passage lent d'un montage vectoriel. Lantern construit le graphe de l'index hors du serveur de base ou sur une autre machine, si bien qu'une grosse reconstruction ne bloque pas le trafic courant. Dans le cloud, c'est facturé comme indexation sans serveur à partir de 0,50 $ le Go.

Réglage automatique de l'index et quantification

Choisir M, ef et ef_construction à la main demande des essais. Lantern embarque un outil d'autotune qui propose des paramètres adaptés à vos données, ainsi qu'une quantification produit pour réduire la taille de l'index quand la mémoire serre.

Avantages et inconvénients

Avantages

  • Les vecteurs vivent dans Postgres, donc les jointures, les filtres et les transactions se comportent comme pour le reste du schéma.
  • Le type de données de pgvector est pris en charge, ce qui raccourcit la migration si vous l'utilisez déjà.
  • La génération d'embeddings et les colonnes gérées suppriment un service d'ingestion séparé.
  • L'offre cloud gratuite ne se met jamais en pause, un projet de démonstration peut donc rester inactif sans perdre sa base.
  • L'index peut être construit hors du serveur principal, ce qui garde la production réactive pendant une reconstruction.

Inconvénients

  • Le rythme des versions open source est lent. La v0.5.0 date de novembre 2024 et le dernier push sur le dépôt de décembre 2024, il faut donc compter sur votre propre fork pour les correctifs.
  • La documentation suppose que vous maîtrisez SQL et le réglage d'index. Une équipe sans ingénieur backend se bloque au premier index.
  • L'instance gratuite dispose de 0,25 vCPU et 0,5 Go de RAM, de quoi faire une démo et guère plus.
  • Le coût des embeddings s'ajoute à la facture de la base, et passer sa propre clé OpenAI ou Cohere reste le seul moyen d'éviter la marge par token de Lantern.

Questions fréquentes

Oui, à deux niveaux. L'extension est open source sous licence AGPL-3.0 et s'auto-héberge sans frais, et Lantern Cloud propose une offre gratuite avec 0,25 vCPU, 0,5 Go de RAM et sans mise en pause. Les instances payantes démarrent à 44 $ par mois et montent à 704 $ par mois pour 16 vCPU et 60 Go de RAM.