Lantern

Lantern

Lantern Systems, Inc. · Programação

Lantern é uma extensão de código aberto para Postgres que adiciona busca vetorial HNSW e geração de embeddings ao seu banco, com um serviço gerenciado na nuvem para apps de IA.

Prévia da interface de Lantern

Sobre Lantern

About

O que é o Lantern

O Lantern roda dentro do PostgreSQL como extensão, então os vetores ficam nas mesmas tabelas do resto dos seus dados. Você cria uma coluna vetorial, monta um índice lantern_hnsw em cima dela e o banco responde a consultas de vizinhos mais próximos com SQL comum. Sem segundo armazenamento, sem job de sincronização e sem linguagem de consulta separada. Em vez de manter um banco de dados vetorial à parte, você fica com o que já opera.

O projeto mira times que constroem busca semântica, recomendações e recuperação de informação para assistentes de IA sem sair do Postgres. Roda em Postgres 11 a 16 e reaproveita o tipo vector do pgvector, o que faz uma tabela existente de pgvector migrar com um tipo que já combina.

Os limites também contam. O Lantern é mantido por um time pequeno, a versão open source mais recente é a v0.5.0, de novembro de 2024, e o plano gratuito na nuvem é modesto: 0,25 vCPU e 0,5 GB de RAM. Cai bem em protótipos e catálogos de porte médio. Para quem precisa de uma estrutura grande de suporte, nem tanto.

Primeiros passos

  1. Crie um projeto gratuito no Lantern Cloud ou instale a extensão no seu próprio Postgres com Docker, Homebrew ou um binário pré-compilado.
  2. Rode CREATE EXTENSION lantern no banco que vai usar. Cada banco de uma instância precisa da sua própria cópia.
  3. Adicione uma coluna vetorial a uma tabela e insira as linhas como arrays de números decimais.
  4. Crie o índice com CREATE INDEX ... USING lantern_hnsw, escolhendo uma classe de operador como cosseno ou L2 ao quadrado.
  5. Consulte com os operadores de distância ou ligue a geração automática de embeddings para o Lantern preencher a coluna vetorial a partir do seu texto.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de Lantern.

Plano gratuitoSim
Planos pagos$0 - $704/mo
PlataformaLantern Cloud (managed Postgres), self-hosted on Postgres 11-16 via Docker, Homebrew, or binaries
DesenvolvedorLantern Systems, Inc.
CategoriaProgramação
Data de lançamentoJul 2023
Última atualizaçãoDec 2024
Visitas ao site2.2K
Ranking global do site6.6M
Disponibilidade da APISim

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Desenvolvedores de backend que já rodam Postgres
  • Engenheiros de IA que montam recuperação para chatbots
  • Times pequenos sem administrador de banco

Tarefas

  • Busca semântica em catálogos de produto, documentação de suporte ou wikis internas, onde a consulta de texto deve trazer resultados por significado, não por palavra exata.
  • Busca de imagens por similaridade com embeddings CLIP, que o Lantern traz como modelo próprio ao lado dos modelos de texto.
  • Recursos de recomendação que ordenam itens pela distância até o embedding de um usuário, calculada na mesma consulta que junta suas tabelas de negócio.
  • Deduplicação e detecção de quase duplicados em bases grandes, com índice de cosseno e um limite de distância.

Cenários

  • Adicionar busca a um app existente em Rails, Django ou Node sem colocar outro armazenamento de dados na pilha.
  • Migrar do pgvector ou do Pinecone quando você quer um único banco cuidando de dados relacionais e vetores.
  • Prototipar um fluxo de RAG no plano gratuito antes de pagar por uma instância.

Principais recursos

Índice HNSW dentro do Postgres

O Lantern cria um tipo de índice lantern_hnsw para colunas vetoriais e acelera consultas ORDER BY ... LIMIT. O índice usa o usearch, uma implementação enxuta de HNSW, e aceita distância L2 ao quadrado, cosseno e Hamming por meio de classes de operador escolhidas na criação do índice.

Geração de embeddings em SQL

Dá para gerar vetores sem sair do banco. O Lantern traz funções auxiliares que chamam modelos de embedding e gravam o resultado numa coluna, então um serviço em Python ou Node não precisa fatiar texto, chamar uma API e tratar retentativas por conta própria.

Colunas com embeddings automáticos

As colunas gerenciadas mantêm os vetores em dia. Você aponta o Lantern para uma coluna de texto e para um modelo, e as linhas novas ou alteradas são processadas em segundo plano como tarefa assíncrona. É o fim do código de cola entre a tabela de conteúdo e o índice de busca.

Chamadas a LLM dentro do SQL

A versão 0.5.0 trouxe llm_completion e add_completion_job, que rodam prompts contra um LLM dentro de uma consulta ou como trabalho em segundo plano. É um recurso estreito, útil para classificar e resumir textos curtos, não um substituto da camada de aplicação.

Indexação sem servidor e construção em paralelo

Criar o índice costuma ser a parte lenta de qualquer montagem vetorial. O Lantern constrói o grafo do índice fora do servidor de banco ou em outra máquina, então uma reconstrução grande não trava o tráfego normal. Na nuvem isso é cobrado como indexação sem servidor a partir de US$ 0,50 por GB.

Ajuste automático do índice e quantização

Escolher M, ef e ef_construction na mão exige experimentos. O Lantern inclui uma ferramenta de autotune que sugere parâmetros para os seus dados e quantização de produto para encolher o índice quando a memória aperta.

Prós e contras

Prós

  • Os vetores ficam no Postgres, então joins, filtros e transações funcionam igual ao resto do esquema.
  • Aceita o tipo de dado do pgvector, o que encurta a migração para quem já usa a extensão.
  • A geração de embeddings e as colunas gerenciadas dispensam um serviço de ingestão separado.
  • O plano gratuito da nuvem nunca pausa, então um projeto de demonstração pode ficar parado sem perder o banco.
  • O índice pode ser construído fora do servidor principal, o que mantém a produção responsiva durante uma reconstrução.

Contras

  • O ritmo de releases do open source é lento. A v0.5.0 saiu em novembro de 2024 e o último push no repositório foi em dezembro de 2024, então conte com o seu próprio fork para correções.
  • A documentação assume que você domina SQL e ajuste de índice. Time sem engenheiro de backend trava no primeiro índice.
  • A instância gratuita tem 0,25 vCPU e 0,5 GB de RAM, o suficiente para uma demo e pouco além disso.
  • O custo dos embeddings entra na conta junto com o banco, e usar a sua própria chave da OpenAI ou da Cohere é o único jeito de escapar da margem por token do Lantern.

Perguntas frequentes

Sim, em dois sentidos. A extensão é open source sob licença AGPL-3.0 e pode ser auto-hospedada de graça, e o Lantern Cloud tem um plano gratuito com 0,25 vCPU, 0,5 GB de RAM e sem pausas. As instâncias pagas começam em US$ 44 por mês e vão até US$ 704 por mês por 16 vCPU e 60 GB de RAM.