microsoft/graphrag · error · ValueError

No community reports available. Please provide a list of rep

Error message

No community reports available. Please provide a list of reports.

What it means

DRIFT search requires a set of community reports to prime its query decomposition. When DriftContext.build_context is called with self.reports set to None (no community reports loaded or passed), it raises this ValueError before doing any work. The reports come from the communities output of an indexing run, so their absence means the search was configured without them or the index is incomplete.

Source

Thrown at packages/graphrag/graphrag/query/structured_search/drift_search/drift_context.py:193

        ----
        query : str
            Search query string.

        Returns
        -------
        pd.DataFrame: Top-k most similar documents.
        dict[str, int]: Number of LLM calls, and prompts and output tokens.

        Raises
        ------
        ValueError: If no community reports are available, or embeddings
        are incompatible.
        """
        if self.reports is None:
            missing_reports_error = (
                "No community reports available. Please provide a list of reports."
            )
            raise ValueError(missing_reports_error)

        query_processor = PrimerQueryProcessor(
            chat_model=self.model,
            text_embedder=self.text_embedder,
            tokenizer=self.tokenizer,
            reports=self.reports,
        )

        query_embedding, token_ct = await query_processor(query)

        report_df = self.convert_reports_to_df(self.reports)

        # Check compatibility between query embedding and document embeddings
        if not self.check_query_doc_encodings(
            query_embedding, report_df["full_content_embedding"].iloc[0]
        ):
            error_message = (
                "Query and document embeddings are not compatible. "

View on GitHub (pinned to f40e9a26ce)

Solutions

  1. Check that your indexing run produced communities output (output/create_final_community_reports.parquet) and that it is non-empty
  2. Verify the index directory you pass to the DRIFT query loader actually contains community report files and that you use the correct --root path
  3. Re-run the indexing pipeline with community generation enabled if reports were skipped or empty
  4. If constructing DriftContext manually, pass a valid community_reports DataFrame instead of None

Example fix

# before
context = DriftContext(reports=None, ...)  # or index missing community reports

# after
community_reports = pd.read_parquet("output/create_final_community_reports.parquet")
context = DriftContext(reports=community_reports, ...)
Defensive patterns

Strategy: validation

Validate before calling

import pandas as pd
from pathlib import Path

report_path = Path("output/create_final_community_reports.parquet")
assert report_path.exists(), f"Missing {report_path}; re-run indexing with community reports enabled"
reports = pd.read_parquet(report_path)
assert len(reports) > 0 and "full_content" in reports.columns, "Community reports are empty or malformed"

Prevention

When it happens

Trigger: Calling DriftSearch.search (which invokes DriftContext.build_context) after constructing the context with reports=None, e.g. loading a DRIFT search object from an index directory that lacks a create_final_community_reports.parquet (or .csv), or manually building DriftContext without passing community_reports.

Common situations: Running local DRIFT query against an index produced with community reporting disabled (--skip-community-reporting or community level settings that yield no reports), pointing --root at the wrong/wrongly-completed output folder, or a partially failed indexing run that never wrote the community report artifacts.

Related errors


AI-assisted analysis of microsoft/graphrag@f40e9a26ce (2026-08-27). Data as JSON: /api/errors/6679a9ba73fc0969. Report an issue: GitHub.