
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.

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
- 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.
- Copie
.env.examplepara.enve defina ao menosOPENAI_API_KEY; aponteOPENAI_BASE_URLpara o Ollama ou outro provedor compatível se preferir rodar localmente. - Revise
plugins.tomlpara decidir quais plugins iniciar (o de texto na porta 8001, o de imagem na porta 8002) e como o pipeline de consulta é ordenado. - Ingira seus documentos com os endpoints
POST /ingest/textouPOST /ingest/jsonpara construir os nós, as arestas e os vetores. - Envie uma pergunta para
POST /querye leia a resposta fundamentada do LLM, ou usePOST /query/multihopquando 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.
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.
Conteúdo relacionado
Explore ferramentas, skills e artigos relacionados a LinkingMem — Graph-native RAG Engine.
Alternativas a LinkingMem — Graph-native RAG Engine
Base Code
Base44 (Wix) · Programação · ProdutividadeO Base Code é um ambiente de desenvolvimento em nuvem compartilhado da Base44. O time descreve mudanças em um repositório do GitHub pelo chat, confere tudo na prévia e envia o resultado como pull request.
Google EmbeddingGemma 2
Google DeepMind · Escrita · Imagem · ProgramaçãoGoogle EmbeddingGemma 2 é um modelo aberto de 740 milhões de parâmetros que transforma texto, código, imagens, áudio e quadros de vídeo em vetores de um único espaço de 768 dimensões, rodando em celulares e notebooks.
GitGlow
GitGlow · Programação · ProdutividadeO GitGlow é um cliente Git de desktop que coloca seu código e as mudanças dos seus agentes de IA na mesma revisão, para você saber o que vai sair da máquina antes de publicar.
