Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cognee.ai/llms.txt

Use this file to discover all available pages before exploring further.

When to use this

You need SearchType.TRIPLET_COMPLETION with recall() to return results. This search type matches queries against text representations of graph triplets (source → relationship → target). Most users should start with improve(), which runs Cognee’s default enrichment pass. Use this lower-level Memify pipeline directly when you specifically want to build or rebuild triplet embeddings. Before you start:
  • Complete Quickstart to understand basic operations
  • Ensure you have LLM Providers configured
  • Have an existing knowledge graph created with remember()

Code in Action

import asyncio
import cognee
from cognee import SearchType
from cognee.memify_pipelines.create_triplet_embeddings import create_triplet_embeddings
from cognee.modules.users.methods import get_default_user

DATASET = "triplet_demo"

async def main():
    await cognee.remember(
        "GraphRAG combines vector search with graph traversal for better context.",
        dataset_name=DATASET,
        self_improvement=False,
    )

    user = await get_default_user()
    await create_triplet_embeddings(user=user, dataset=DATASET)

    results = await cognee.recall(
        query_type=SearchType.TRIPLET_COMPLETION,
        query_text="How does GraphRAG work?",
        datasets=[DATASET],
    )
    for result in results:
        print(result)

asyncio.run(main())

What Just Happened

  1. Remember — builds a knowledge graph with entities and relationships from your text.
  2. get_default_user() — retrieves the authenticated user. This pipeline requires a User object with write access to the dataset.
  3. create_triplet_embeddings(user, dataset) — iterates over all graph triplets, converts each to a text representation, and indexes them in the vector DB.
  4. Recall with TRIPLET_COMPLETION — queries the new Triplet_text collection by semantic similarity.

What Changed in Your Graph

  • The Triplet_text collection is populated in the vector DB. Each entry is a text representation of a graph triplet (source → relationship → target).
  • recall(..., query_type=SearchType.TRIPLET_COMPLETION) queries now return results by matching your query against these triplet embeddings.

Additional Information

  • user (User, required) — authenticated user with write access. Obtain via await get_default_user().
  • dataset (str, default: "main_dataset") — the dataset whose graph triplets to index.
  • run_in_background (bool, default: False) — run asynchronously and return immediately.
  • triplets_batch_size (int, default: 100) — how many triplets to index per batch. Lower values use less memory; higher values are faster.
Two tasks run in sequence:
  1. get_triplet_datapoints — iterates over graph triplets and yields Triplet objects with embeddable text.
  2. index_data_points — indexes each triplet in the vector DB under the Triplet_text collection.
  • Empty results from TRIPLET_COMPLETION — ensure the graph has been built with remember() and that create_triplet_embeddings finished without errors.
  • Error: no graph data found — run cognee.remember(..., dataset_name=...) before calling this pipeline.
  • LLM errors — verify that your LLM provider is configured. See LLM Providers.
  • Permission errors — the user must have write access to the target dataset. See Permissions.

Improve

Understand the current improvement workflow

Self-Improvement Quickstart

Bridge session memory and enrich a dataset

Recall

Query the enriched graph with v1.0 retrieval