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

# Knowledge

> Public knowledge signatures and configuration in @agentium/core 4.0.0.

Import these **5 exports** from `@agentium/core`. Read the [knowledge guide](/knowledge/overview) for setup and behavior, or return to the [package reference](/api-reference/core).

A `?` marks an optional field. These are declarations for lookup; run the examples in the linked guide. Follow related-type links for Agentium types and source links for imported dependency types.

## HybridSearchConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/knowledge/knowledge-base.ts)

```typescript theme={null}
export interface HybridSearchConfig {
    /** Weight for vector (semantic) results in RRF. Default 1.0. */
    vectorWeight?: number;
    /** Weight for keyword (BM25) results in RRF. Default 1.0. */
    keywordWeight?: number;
    /** RRF constant k. Higher = less rank-sensitive. Default 60. */
    rrfK?: number;
}
```

## KnowledgeBase

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/knowledge/knowledge-base.ts)

```typescript theme={null}
export declare class KnowledgeBase {
    readonly name: string;
    readonly collection: string;
    constructor(config: KnowledgeBaseConfig);
    initialize(): Promise<void>;
    add(doc: VectorDocument): Promise<void>;
    addDocuments(docs: VectorDocument[]): Promise<void>;
    search(query: string, options?: VectorSearchOptions & {
        searchMode?: SearchMode;
    }): Promise<VectorSearchResult[]>;
    get(id: string): Promise<VectorDocument | null>;
    delete(id: string): Promise<void>;
    clear(): Promise<void>;
    close(): Promise<void>;
    /**
     * Returns a ToolDef that an Agent can use to search this knowledge base.
     * Plug the result directly into `Agent({ tools: [kb.asTool()] })`.
     */
    asTool(config?: KnowledgeBaseToolConfig): ToolDef;
}
```

Related: [`KnowledgeBaseConfig`](/api-reference/core/knowledge#knowledgebaseconfig), [`KnowledgeBaseToolConfig`](/api-reference/core/knowledge#knowledgebasetoolconfig), [`SearchMode`](/api-reference/core/knowledge#searchmode), [`ToolDef`](/api-reference/core/tools#tooldef), [`VectorDocument`](/api-reference/core/vector#vectordocument), [`VectorSearchOptions`](/api-reference/core/vector#vectorsearchoptions), [`VectorSearchResult`](/api-reference/core/vector#vectorsearchresult).

## KnowledgeBaseConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/knowledge/knowledge-base.ts)

```typescript theme={null}
export interface KnowledgeBaseConfig {
    /** Display name used in tool description auto-generation. */
    name: string;
    /** The underlying vector store (any backend). */
    vectorStore: VectorStore;
    /** Collection/index name inside the vector store. */
    collection?: string;
    /**
     * Default search mode.
     * - `"vector"` — pure semantic (embedding) search (default, backward-compatible)
     * - `"keyword"` — pure BM25 keyword search
     * - `"hybrid"` — combines vector + keyword via Reciprocal Rank Fusion
     */
    searchMode?: SearchMode;
    /** Fine-tune hybrid search behavior. */
    hybridConfig?: HybridSearchConfig;
}
```

Related: [`HybridSearchConfig`](/api-reference/core/knowledge#hybridsearchconfig), [`SearchMode`](/api-reference/core/knowledge#searchmode), [`VectorStore`](/api-reference/core/vector#vectorstore).

## KnowledgeBaseToolConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/knowledge/knowledge-base.ts)

```typescript theme={null}
export interface KnowledgeBaseToolConfig {
    /** Tool name exposed to the LLM. Defaults to `search_<collection>`. */
    toolName?: string;
    /** Custom tool description. A sensible default is generated from the KB name. */
    description?: string;
    /** Number of results to return per search. Default 5. */
    topK?: number;
    /** Minimum similarity score to include. */
    minScore?: number;
    /** Metadata filter applied to every search. */
    filter?: Record<string, unknown>;
    /** Override the search mode for this tool. Inherits from KB config if not set. */
    searchMode?: SearchMode;
    /** Custom formatter for search results. Defaults to numbered list with scores. */
    formatResults?: (results: VectorSearchResult[]) => string;
}
```

Related: [`SearchMode`](/api-reference/core/knowledge#searchmode), [`VectorSearchResult`](/api-reference/core/vector#vectorsearchresult).

## SearchMode

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/knowledge/knowledge-base.ts)

```typescript theme={null}
export type SearchMode = "vector" | "keyword" | "hybrid";
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.