> ## 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 • Rust AI Agent SDK

> Knowledge System Module

# knowledge

<Badge color="orange">Rust AI Agent SDK</Badge>

Knowledge System Module

This module provides the full knowledge management system:

* `Knowledge` - Main knowledge manager
* `KnowledgeConfig` - Configuration for knowledge
* `Document` - Document representation
* `VectorStore` - Vector store trait and implementations
* `Retriever` - Retrieval strategies
* `Reranker` - Result reranking

# Example

```ignore theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::knowledge::{Knowledge, KnowledgeConfig};

let knowledge = Knowledge::new()
.config(KnowledgeConfig::default())
.build()?;

knowledge.add("Some document content", None)?;
let results = knowledge.search("query", 10)?;
```

## Import

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::knowledge::*;
```

## Classes

<CardGroup cols={2}>
  <Card title="Document" icon="brackets-curly" href="../classes/Document">
    A document in the knowledge base.
  </Card>

  <Card title="SearchResultItem" icon="brackets-curly" href="../classes/SearchResultItem">
    A single search result item.
  </Card>

  <Card title="SearchResult" icon="brackets-curly" href="../classes/SearchResult">
    Container for search results.
  </Card>

  <Card title="AddResult" icon="brackets-curly" href="../classes/AddResult">
    Result of adding content to knowledge store.
  </Card>

  <Card title="VectorRecord" icon="brackets-curly" href="../classes/VectorRecord">
    A vector record in the store.
  </Card>

  <Card title="InMemoryVectorStore" icon="brackets-curly" href="../classes/InMemoryVectorStore">
    In-memory vector store implementation.
  </Card>

  <Card title="RetrievalResult" icon="brackets-curly" href="../classes/RetrievalResult">
    Retrieval result with additional metadata.
  </Card>

  <Card title="RerankResult" icon="brackets-curly" href="../classes/RerankResult">
    Rerank result.
  </Card>

  <Card title="SimpleReranker" icon="brackets-curly" href="../classes/SimpleReranker">
    Simple reranker that uses score-based sorting.
  </Card>

  <Card title="IndexStats" icon="brackets-curly" href="../classes/IndexStats">
    Index statistics.
  </Card>

  <Card title="QueryResult" icon="brackets-curly" href="../classes/QueryResult">
    Query result.
  </Card>

  <Card title="ChunkingConfig" icon="brackets-curly" href="../classes/ChunkingConfig">
    Chunking configuration.
  </Card>

  <Card title="Chunking" icon="brackets-curly" href="../classes/Chunking">
    Chunking utility.
  </Card>

  <Card title="KnowledgeConfig" icon="brackets-curly" href="../classes/KnowledgeConfig">
    Knowledge configuration.
  </Card>

  <Card title="Knowledge" icon="brackets-curly" href="../classes/Knowledge">
    Main knowledge manager.
  </Card>

  <Card title="KnowledgeBuilder" icon="brackets-curly" href="../classes/KnowledgeBuilder">
    Builder for Knowledge
  </Card>

  <Card title="KnowledgeBackendError" icon="brackets-curly" href="../classes/KnowledgeBackendError">
    Knowledge backend error.
  </Card>

  <Card title="ScopeRequiredError" icon="brackets-curly" href="../classes/ScopeRequiredError">
    Scope required error.
  </Card>

  <Card title="VectorStoreProtocol" icon="brackets-curly" href="../classes/VectorStoreProtocol">
    Protocol for vector store implementations.
  </Card>

  <Card title="RetrieverProtocol" icon="brackets-curly" href="../classes/RetrieverProtocol">
    Protocol for retriever implementations.
  </Card>

  <Card title="RerankerProtocol" icon="brackets-curly" href="../classes/RerankerProtocol">
    Protocol for reranker implementations.
  </Card>

  <Card title="KnowledgeStoreProtocol" icon="brackets-curly" href="../classes/KnowledgeStoreProtocol">
    Protocol for knowledge store backends.
  </Card>

  <Card title="RetrievalStrategy" icon="brackets-curly" href="../classes/RetrievalStrategy">
    Retrieval strategy enum.
  </Card>

  <Card title="IndexType" icon="brackets-curly" href="../classes/IndexType">
    Index type enum.
  </Card>

  <Card title="QueryMode" icon="brackets-curly" href="../classes/QueryMode">
    Query mode enum.
  </Card>

  <Card title="ChunkingStrategy" icon="brackets-curly" href="../classes/ChunkingStrategy">
    Chunking strategy.
  </Card>
</CardGroup>

***

## Related Documentation

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

  <Card title="Rust Documents" icon="file-lines" href="/docs/rust/documents" />

  <Card title="Rust RAG" icon="magnifying-glass" href="/docs/rust/rag" />
</CardGroup>
