Overview

The fetch_knowledge_base function retrieves a specific knowledge base by its unique identifier.

Function Signature

pub async fn fetch_knowledge_base(knowledge_base_id: &str) -> Result<AiKnowledgeBase>

Parameters

knowledge_base_id
&str
required
The unique identifier of the knowledge base to retrieve

Return Value

Returns Result<AiKnowledgeBase> containing the knowledge base details.

Basic Usage

use wacht::api::knowledge_bases::*;

let kb = fetch_knowledge_base("52057194421551105").await?;
println!("Knowledge Base: {} ({})", kb.name, kb.id);
println!("Description: {}", kb.description);
println!("Documents: {}", kb.document_count);
println!("Total size: {} bytes", kb.total_size);

Error Handling

match fetch_knowledge_base("52057194421551105").await {
    Ok(kb) => {
        println!("Found knowledge base: {}", kb.name);
        println!("Embedding model: {}", kb.embedding_model);
        println!("Chunk size: {}", kb.chunk_size);
        println!("Created at: {}", kb.created_at);
    }
    Err(Error::Api { status, message, .. }) => {
        match status.as_u16() {
            404 => println!("Knowledge base not found"),
            403 => println!("Access denied: {}", message),
            _ => println!("API error {}: {}", status, message),
        }
    }
    Err(e) => println!("Request failed: {}", e),
}

Rate Limits

  • Get operations: 1000 requests per minute
  • Burst limit: 50 requests per second