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

# Knowledge Store Protocol • AI Agent SDK

> KnowledgeStoreProtocol: Protocol defining the interface for knowledge store backends.

# KnowledgeStoreProtocol

> Defined in the [**protocols**](../modules/protocols) module.

<Badge color="blue">AI Agent</Badge>

Protocol defining the interface for knowledge store backends.

Implementations include:

* Mem0Adapter (mem0 backend)
* ChromaAdapter (direct chromadb)
* InternalAdapter (built-in storage)

All implementations MUST:

1. Return SearchResult/SearchResultItem with metadata as dict (never None)
2. Handle identifier scoping (user\_id/agent\_id/run\_id) appropriately
3. Provide clear error messages for missing required parameters

## Methods

<CardGroup cols={2}>
  <Card title="search()" icon="function" href="../functions/KnowledgeStoreProtocol-search">
    Search for relevant content.
  </Card>

  <Card title="add()" icon="function" href="../functions/KnowledgeStoreProtocol-add">
    Add content to the knowledge store.
  </Card>

  <Card title="get()" icon="function" href="../functions/KnowledgeStoreProtocol-get">
    Get a specific item by ID.
  </Card>

  <Card title="get_all()" icon="function" href="../functions/KnowledgeStoreProtocol-get_all">
    Get all items, optionally filtered by scope.
  </Card>

  <Card title="update()" icon="function" href="../functions/KnowledgeStoreProtocol-update">
    Update an existing item.
  </Card>

  <Card title="delete()" icon="function" href="../functions/KnowledgeStoreProtocol-delete">
    Delete an item by ID.
  </Card>

  <Card title="delete_all()" icon="function" href="../functions/KnowledgeStoreProtocol-delete_all">
    Delete all items matching scope.
  </Card>
</CardGroup>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/knowledge/protocols.py#L16">
  `praisonaiagents/knowledge/protocols.py` at line 16
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Knowledge Concept" icon="book" href="/docs/docs/concepts/knowledge" />

  <Card title="Knowledge Overview" icon="database" href="/docs/docs/knowledge/overview" />

  <Card title="Knowledge Configuration" icon="gear" href="/docs/docs/configuration/knowledge-config" />

  <Card title="Chat with PDF" icon="file-pdf" href="/docs/docs/knowledge/chat-with-pdf" />
</CardGroup>
