LinkingMem — Graph-native RAG Engine

LinkingMem — Graph-native RAG Engine

khapu2906 · Programação · Aprendizado

O LinkingMem é um motor RAG nativo de grafos que roda como serviço Docker auto-hospedado e liga a busca vetorial à travessia de grafos para que um LLM responda perguntas a partir dos seus próprios documentos. Em vez de combinar blocos de texto só por similaridade, ele percorre as arestas entre entidades para reunir fatos relacionados em uma resposta fundamentada. É essa a ideia toda. Se você quer um pipeline RAG que controle de ponta a ponta, no seu próprio hardware, isto foi feito para isso.

Prévia da interface de LinkingMem — Graph-native RAG Engine

Sobre LinkingMem — Graph-native RAG Engine

O que é o LinkingMem

O LinkingMem é um motor de recuperação para construir sistemas de perguntas e respostas sobre dados privados. Ele combina um núcleo de processamento em Rust com plugins em Python, e trata o grafo de conhecimento como parte central da recuperação, não como algo secundário. Uma consulta entra no pipeline, vira vetor, chega a um índice vetorial HNSW e depois se expande pelas arestas do grafo antes que o LLM escreva a resposta final. Essa ordem importa. O passo pelo grafo é o que conecta fatos que não compartilham vocabulário.

O motor é distribuído como imagem Docker, então você mesmo o executa. O tratamento de texto e imagens fica em plugins separados que você pode iniciar ou ignorar, e o cliente LLM fala o protocolo compatível com OpenAI. Escolha o seu backend. Endpoints compatíveis com OpenAI, Ollama, Groq e Gemini funcionam, o que ajuda quando você quer manter a inferência local.

O principal obstáculo é o custo de configuração. O LinkingMem exige Rust 1.80+ e Python 3.11+, e você é responsável por montar a configuração, a chave do LLM e os arquivos de dados. É uma ferramenta para desenvolvedores, não um app que você instala e esquece.

Como começar

  1. Baixe a imagem Docker do Docker Hub (khapu2906/linkingmem) ou clone o repositório e instale Rust 1.80+ e Python 3.11+ com uv.
  2. Copie .env.example para .env e defina ao menos OPENAI_API_KEY; aponte OPENAI_BASE_URL para o Ollama ou outro provedor compatível se preferir rodar localmente.
  3. Revise plugins.toml para decidir quais plugins iniciar (o de texto na porta 8001, o de imagem na porta 8002) e como o pipeline de consulta é ordenado.
  4. Ingira seus documentos com os endpoints POST /ingest/text ou POST /ingest/json para construir os nós, as arestas e os vetores.
  5. Envie uma pergunta para POST /query e leia a resposta fundamentada do LLM, ou use POST /query/multihop quando precisar que o motor siga vários saltos.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de LinkingMem — Graph-native RAG Engine.

Plano gratuitoSim
Planos pagos$0
PlataformaSelf-hosted (Docker; Rust 1.80+ and Python 3.11+ for source builds)
Desenvolvedorkhapu2906
CategoriaProgramação · Aprendizado
Data de lançamentoMay 2025
Última atualizaçãoSep 2025
Visitas ao site3.1M
Ranking global do siteN/A
Disponibilidade da APISim

Ideal para

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

Usuários

  • Engenheiros de backend e de IA
  • Equipes com documentos privados
  • Desenvolvedores testando ideias de RAG de grafos

Tarefas

  • Criar um serviço de perguntas e respostas sobre documentos internos
  • Perguntas com vários saltos
  • Combinar recuperação de imagem e texto

Cenários

  • Rodar uma base de conhecimento privada no seu próprio servidor
  • Prototipar um backend de recuperação antes de fechar com um serviço gerenciado
  • Adicionar fundamentação a um LLM que você já hospeda

Principais recursos

Recuperação híbrida de vetores e grafos

O LinkingMem executa um pipeline de recuperação em dois estágios. Uma consulta vira vetor e é comparada com um índice vetorial HNSW para uma busca rápida de vizinhos mais próximos, e depois os resultados se expandem pelas arestas do grafo com travessia em largura. O passo vetorial encontra os pontos de entrada. O passo pelo grafo reúne o contexto ao redor. Para perguntas que dependem das relações entre entidades, esse segundo estágio costuma ser o que torna a resposta correta.

Endpoint de raciocínio com vários saltos

O motor expõe um endpoint dedicado /query/multihop que segue vários saltos pelo grafo de conhecimento antes de gerar uma resposta. Ele é voltado a perguntas que nenhum documento único responde, em que o modelo precisa combinar fatos de nós diferentes. Você recebe uma cadeia de evidências ligadas em vez de um único trecho coincidente.

Plugins modulares de texto e imagem

A inclusão de texto, a extração de entidades e a geração de respostas ficam em um plugin de texto em Python na porta 8001, enquanto o armazenamento e a inclusão de imagens rodam em um plugin separado na porta 8002. Você pode iniciar só o que precisar. O plugin de imagem oferece dois backends: um modo de legenda com LLM de visão que compartilha o espaço vetorial de texto, ou um codificador CLIP para similaridade visual de verdade sem chamada ao LLM.

Cliente LLM compatível com OpenAI

O cliente LLM fala a API compatível com OpenAI, então você pode conectar OpenAI, Ollama, Groq, endpoints compatíveis com Gemini e serviços parecidos. Trocar de provedor é uma mudança de configuração, não de código. Precisa de inferência local? O caminho do Ollama cuida disso.

Núcleo em Rust com armazenamento delta à prova de falhas

A camada de processamento é escrita em Rust e serve uma API HTTP na porta 8000. Ela inclui um armazenamento delta estilo LSM com log de escrita antecipada e trava de arquivos, então as mudanças ingeridas sobrevivem a um reinício. Um cache de inclusão concorrente (moka) e um cache de resultados cortam o trabalho repetido em consultas comuns.

Observabilidade e autenticação integradas

Os endpoints de administração expõem /health, /metrics, /graph/stats e listagens de nós, e as métricas vêm em formato compatível com Prometheus. A autenticação por chave de API e um limitador de taxa de balde de fichas ficam no middleware. É uma camada a menos para construir. Você põe o motor na frente de mais de um cliente desde o começo.

Prós e contras

Prós

  • Auto-hospedado por padrão, então documentos privados ficam na sua própria infraestrutura.
  • A expansão do grafo resolve perguntas com vários saltos que a busca vetorial simples costuma perder.
  • O cliente LLM compatível com OpenAI permite rodar a inferência localmente pelo Ollama.
  • Os plugins modulares deixam você pular o suporte a imagens ou recursos de texto que não precisa.
  • Código aberto, com o núcleo completo em Rust e os plugins em Python disponíveis para ler e alterar.

Contras

  • A configuração é de nível desenvolvedor: você precisa de Docker além de Rust 1.80+ e Python 3.11+ para compilar do código, o que exclui usuários sem perfil técnico.
  • Sem plano gerenciado nem painel web, então hospedagem, escalabilidade e tempo ativo ficam por sua conta.
  • A documentação é voltada ao código, ou seja, você vai passar um tempo lendo o repositório e os arquivos de configuração antes de a primeira consulta funcionar.

Perguntas frequentes

É um motor de recuperação que responde perguntas a partir dos seus próprios documentos combinando busca vetorial com travessia de grafos, e depois passa o contexto recuperado a um LLM. O passo pelo grafo é o que o separa de uma configuração RAG básica de combinação de blocos.