> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mem0.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Feature Guide Template

> Structure for explaining when and why to use a Mem0 feature.

# Feature Guide Template

Use this when you introduce or deepen a single Mem0 capability (Graph Memory, Advanced Retrieval, etc.). Aim for crisp problem framing, a walkthrough of how the feature works, and practical configuration guidance with clear exits.

## Reader Promise

* Understand the pain the feature solves and when to reach for it.
* See how to enable, configure, and observe the feature in action.
* Know the next conceptual deep dive and a hands-on example to try.

## Start → Middle → End Pattern

### 1. **Start: Why this feature exists**

* Frontmatter stays outcome-driven: `title`, `description`, `icon`, optional `badge` (e.g., “Advanced”).
* Opening paragraph = two sentences: problem, then payoff. Keep energy high right from the start.
* Include an `<Info>` block titled “You’ll use this when…” with 3 bullets (user persona, workload, expected benefit).
* When reshaping legacy feature docs, carry over existing diagrams, tables, and gotchas. Organize them under these headings rather than replacing them unless the product has changed.
* If there’s a known caveat (pricing, performance), surface it early in a `<Warning>` so readers don’t get surprised later.
* Optional but encouraged: add a Mermaid diagram right after the intro to show how components connect; delete it if the story is obvious without visuals.
* Add a `## Configure access` snippet (even if it’s “Confirm your Mem0 API key is already configured”) so contributors never forget to mention the baseline setup.

### 2. **Middle: How it works**

* Create three predictable sections:
  1. **Feature anatomy**: Diagram or bullet list of moving parts. Use a table if you need to compare modes (platform vs OSS).
  2. **Configure it**: Step-by-step enabling instructions with `<CodeGroup>` or JSON/YAML snippets. Follow each code block with a short explanation of why it matters.
  3. **See it in action**: End-to-end example (often reusing operation snippets). Pair code with `<Info icon="check">` for expected results and `<Tip>` for optimization hints.
* Insert `<Note>` blocks for cross-links (e.g., “Also available via REST endpoint `/v1/...`”).
* Keep the tone instructive but light. No long manifestos.

### 3. **End: Evaluate and go deeper**

* Add an `## Verify the feature is working` section with bullets (metrics, logs, dashboards).
* Follow with `## Best practices` or `## Tuning tips` (3–4 bullets max).
* Close with the standard two-card CTA pair: left card = related concept or architecture page, right card = cookbook/application. Keep the comment reminder to double-check links.
* If providers differ meaningfully, summarize them in a final accordion (`<AccordionGroup>` with one `<Accordion>` per provider) so readers can expand what they need without scrolling walls of configuration.

## Markdown Skeleton

````mdx theme={null}
---
title: Advanced Retrieval
description: Increase relevance with reranking, criteria filters, and context windows.
icon: "sparkles"
badge: "Advanced"
---

# Advanced Retrieval

Mem0’s advanced retrieval elevates search accuracy when basic keyword matches aren’t enough. Turn it on when you need precise context for high-stakes conversations.

<Info>
  **You’ll use this when…**
  - You need semantic ranking across long-running agents
  - Compliance requires tight control over returned memories
  - Personalization hinges on precise filters
</Info>

<Warning>
  Advanced retrieval currently applies to managed Platform projects only. Self-hosted users should rely on the OSS reranker configuration.
</Warning>

{/* Optional: remove if no diagram is needed */}
```mermaid
%% Diagram the moving parts (delete when you fill this out)
graph TD
  A[Input] */} B[Feature]
  B */} C[Output]
````

## Feature anatomy

* Outline the moving parts (retriever, reranker, filters).
* Add a table comparing default vs advanced behavior.

## Configure it

<CodeGroup>
  ```python Python theme={null}
  client = Client(...)
  client.memories.search(criteria={...})
  ```

  ```ts TypeScript theme={null}
  const memories = await mem0.memories.search({ criteria: { ... } });
  ```
</CodeGroup>

Explain which knobs matter (e.g., `rerank_top_k`, `criteria`, `filters`).

<Tip>
  OSS users can mirror this by enabling the reranker in `config.yaml`. Link to the integration guide if relevant.
</Tip>

## See it in action

Walk through a real request/response. Include sample payloads and highlight notable fields.

<Info icon="check">
  Expect the top memory to match the user persona you set earlier. If not, revisit your filters.
</Info>

## Provider setup&#x20;

<AccordionGroup>
  <Accordion title="[Provider name]">
    Outline configuration or link to provider docs here.
  </Accordion>
</AccordionGroup>

## Verify the feature is working

* Watch the dashboard analytics for retrieval latency changes.
* Check logs for `reranker_applied: true`.

## Best practices

* Keep criteria minimal. Overfiltering hurts recall.
* Pair with Memory Filters for hybrid scoring.

<CardGroup cols={2}>
  <Card title="Dive Into Memory Scoring" icon="scale-balanced" href="/core-concepts/memory-types">
    Understand how Mem0 ranks memories under the hood.
  </Card>

  <Card title="Build a Research Copilot" icon="book-open" href="/cookbooks/operations/deep-research">
    See advanced retrieval driving a full knowledge assistant.
  </Card>
</CardGroup>

```

Stick to this outline. Keep the “why” up front, the “how” in the middle, and the “where to go next” crystal clear at the end.

## Browse Other Templates

<CardGroup cols={3}>
  <Card
    title="Quickstart"
    description="Install → Configure → Add → Search → Delete."
    icon="rocket"
    href="/templates/quickstart_template"
  />
  <Card
    title="Operation Guide"
    description="Single task walkthrough with verification checkpoints."
    icon="circle-check"
    href="/templates/operation_guide_template"
  />
  <Card
    title="Feature Guide"
    description="Explain when and why to use a capability, not just the API."
    icon="sparkles"
    href="/templates/feature_guide_template"
  />
  <Card
    title="Concept Guide"
    description="Define mental models, key terms, and diagrams."
    icon="brain"
    href="/templates/concept_guide_template"
  />
  <Card
    title="Integration Guide"
    description="Configure Mem0 alongside third-party tools."
    icon="plug"
    href="/templates/integration_guide_template"
  />
  <Card
    title="Cookbook"
    description="Narrative, end-to-end walkthroughs."
    icon="book-open"
    href="/templates/cookbook_template"
  />
  <Card
    title="API Reference"
    description="Endpoint specifics with dual-language examples."
    icon="code"
    href="/templates/api_reference_template"
  />
  <Card
    title="Parameters Reference"
    description="Accepted fields, defaults, and misuse fixes."
    icon="list"
    href="/templates/parameters_reference_template"
  />
  <Card
    title="Migration Guide"
    description="Plan → migrate → validate with rollback."
    icon="arrow-right"
    href="/templates/migration_guide_template"
  />
  <Card
    title="Release Notes"
    description="Ship highlights and required CTAs."
    icon="megaphone"
    href="/templates/release_notes_template"
  />
  <Card
    title="Troubleshooting Playbook"
    description="Symptom → diagnose → fix."
    icon="life-buoy"
    href="/templates/troubleshooting_playbook_template"
  />
  <Card
    title="Section Overview"
    description="Landing pages with card grids and CTA pair."
    icon="grid"
    href="/templates/section_overview_template"
  />
</CardGroup>

<CardGroup cols={2}>
  <Card
    title="Contribution Hub"
    description="Review the authoring workflow and linked templates."
    icon="clipboard-list"
    href="/platform/contribute"
  />
  <Card
    title="Docs Home"
    description="Return to the platform overview once you’re done."
    icon="compass"
    href="/platform/overview"
  />
</CardGroup>
```
