Microsoft GraphRAG e Ollama: como o RAG em grafos se saiu com modelos locais

Saiu uma análise prática do Microsoft GraphRAG combinado com Ollama e LLMs locais. O autor montou um grafo de conhecimento a partir de "Johnny Mnemonic" e comparou as buscas global, local e DRIFT. A conclusão: a abordagem com grafos costuma ser mais precisa que o QA vetorial comum, mas na prática é bem mais pesada em tempo, infraestrutura, configuração de embeddings e estabilidade geral do pipeline.

Processado por IA de Habr AI; editado por Hamidun News
Microsoft GraphRAG e Ollama: como o RAG em grafos se saiu com modelos locais
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1A busca local deu uma resposta mais concreta sobre o personagem Jones e suas ligações com Johnny, Molly e Yakuza.
Dado-chave #2A busca DRIFT levou cerca de quarenta minutos na mesma pergunta e não trouxe salto perceptível de qualidade em relação ao modo local.
Dado-chave #3O BASIC continua sendo um ponto de controle útil, porque a busca vetorial não desaparece dentro do GraphRAG.

Surgiu uma análise detalhada do Microsoft GraphRAG combinado com Ollama e LLMs locais. O autor verificou se é possível subir um RAG em grafos sem infraestrutura cara e rodou o sistema no conto "Johnny Mnemonic", de William Gibson, para avaliar a qualidade das respostas em um material cyberpunk conhecido.

Como o teste foi montado

O experimento girou em torno de uma pergunta prática: a abordagem com grafos realmente consegue substituir a busca vetorial habitual em sistemas RAG corporativos? O autor escolheu o Microsoft GraphRAG, execução local via Ollama e um texto de cerca de 38 mil palavras. O resultado não foi apenas um índice de busca, mas um grafo de conhecimento completo, com entidades, relações e comunidades.

A visualização no Gephi mostrou que o sistema consegue montar uma estrutura bem rica a partir de um único texto de ficção. Vale notar que o GraphRAG forma não só ligações literais entre objetos, mas também clusters temáticos. Nos relatórios de comunidade, os grupos se organizaram em torno da Yakuza, de Johnny, de Molly Millions e de outros elementos centrais da trama.

Também apareceram limitações típicas: as entidades nem sempre são unificadas quando os nomes variam de forma, então parte dos duplicados precisa ser considerada separadamente. Para respostas em russo, o autor ajustou os prompts do sistema, embora recomende fazer as perguntas em inglês; caso contrário, a precisão cai.

"Resumindo, funciona mais ou menos até em modelos de 4b".

Como o sistema responde

O teste comparou vários modos. A busca global trabalha sobre as descrições das comunidades, com lógica MapReduce, e serve melhor para perguntas sobre o corpus inteiro. A busca local mistura relações do grafo com trechos do texto original e é mais útil quando é preciso analisar um personagem, objeto ou episódio específico. Há ainda o BASIC, a busca comum por chunks, e o DRIFT, um modo mais pesado que lembra expansão de consulta e tenta ampliar o contexto.

  • A busca global reuniu os principais temas cyberpunk do conto: a fusão de tecnologia e biologia, uma cidade distópica, conflitos corporativos e desigualdade tecnológica.
  • A busca local deu uma resposta mais concreta sobre o personagem Jones e suas ligações com Johnny, Molly e Yakuza.
  • A busca DRIFT levou cerca de quarenta minutos na mesma pergunta e não trouxe salto perceptível de qualidade em relação ao modo local.
  • O BASIC continua sendo um ponto de controle útil, porque a busca vetorial não desaparece dentro do GraphRAG.

Disso o autor tira uma conclusão prática importante: em um produto real será preciso um agente ou roteador separado, que escolha o tipo de busca pela formulação da pergunta e pelo histórico da consulta. Caso contrário, os modos terão de ser trocados manualmente.

Outro detalhe: as respostas do GraphRAG citam human_readable_id dos arquivos parquet, então, para a interface do usuário, essas referências precisam ser resolvidas e tratadas à parte. Isso transforma o GraphRAG de simples busca em uma camada que precisa ser adaptada a um cenário de uso real.

Onde surgiram os problemas

Com modelos locais, o quadro foi irregular. Dos exemplos encontrados, o Mistral 7B não deu conta da busca global por problemas com a saída JSON estruturada: as consultas map simplesmente falham. O Gemma 3, nas versões 4B e 12B, manteve as entidades principais, mas simplificou o grafo e em alguns pontos distorceu fatos, a ponto de Jones virar uma pessoa em vez de um golfinho. O autor apontou o Qwen3 14B como a opção mais viável. Para embeddings, usou o modelo user-bge-m3, que se comporta bem tanto em russo quanto em inglês.

Há muitas nuances de infraestrutura também. O GraphRAG depende do LiteLLM, e o autor alerta expressamente para não passar da versão 1.82.

6, porque as 1.82.7 e 1.

82.8 foram comprometidas. Com o Ollama, aparece um falso erro 404 ao solicitar os parâmetros do modelo, e chamadas longas podem esbarrar em timeouts de fila.

Os embeddings se comportam ainda pior: o bge-m3 via Ollama às vezes falha por causa da serialização de Inf e NaN, então foi preciso mover o embedding para um proxy separado no HuggingFace. Além disso, é necessário editar o settings.yaml à mão, definir api_base e tamanho de vetor 1024, e ativar o graphml para a visualização.

Mesmo em uma máquina com 16 GB de GPU, indexar um texto desse tamanho leva mais de uma hora.

O que isso significa

A principal conclusão do artigo é que o Microsoft GraphRAG não parece um substituto direto do RAG vetorial clássico. Ele é mais útil onde a profundidade das ligações semânticas importa mais que a velocidade de resposta: análise, sistemas especialistas e corpora documentais complexos. A abordagem já tem API, um aplicativo de teste e um caminho claro até um MVP. Mas respostas mais relevantes têm um preço: tempo de indexação, um pipeline frágil e uma configuração bem mais complexa do que a de um banco vetorial comum.

História

Perguntas frequentes sobre a notícia

Como o teste foi montado?

O experimento girou em torno de uma pergunta prática: a abordagem com grafos realmente consegue substituir a busca vetorial habitual em sistemas RAG corporativos? O autor escolheu o Microsoft GraphRAG, execução local via Ollama e um texto de cerca de 38 mil palavras. O resultado não foi apenas um índice de busca, mas um grafo de conhecimento completo, com entidades, relações e comunidades. A visualização no Gephi mostrou que o sistema consegue montar uma estrutura bem rica a partir de um único texto de ficção. Vale notar que o GraphRAG forma não só ligações literais entre o

Como o sistema responde?

O teste comparou vários modos. A busca global trabalha sobre as descrições das comunidades, com lógica MapReduce, e serve melhor para perguntas sobre o corpus inteiro. A busca local mistura relações do grafo com trechos do texto original e é mais útil quando é preciso analisar um personagem, objeto ou episódio específico. Há ainda o BASIC, a busca comum por chunks, e o DRIFT, um modo mais pesado que lembra expansão de consulta e tenta ampliar o contexto. A busca global reuniu os principais temas cyberpunk do conto: a fusão de tecnologia e biologia, uma cidade distópica, con

Onde surgiram os problemas?

Com modelos locais, o quadro foi irregular. Dos exemplos encontrados, o Mistral 7B não deu conta da busca global por problemas com a saída JSON estruturada: as consultas map simplesmente falham. O Gemma 3, nas versões 4B e 12B, manteve as entidades principais, mas simplificou o grafo e em alguns pontos distorceu fatos, a ponto de Jones virar uma pessoa em vez de um golfinho. O autor apontou o Qwen3 14B como a opção mais viável. Para embeddings, usou o modelo user-bge-m3, que se comporta bem tanto em russo quanto em inglês. Há muitas nuances de infraestrutura também. O Graph

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…