Overview

The update_knowledge_base function updates an existing knowledge base’s configuration.

Function Signature

pub async fn update_knowledge_base(
    knowledge_base_id: &str,
    request: UpdateAiKnowledgeBaseRequest
) -> Result<AiKnowledgeBase>

Parameters

knowledge_base_id
&str
required
The unique identifier of the knowledge base to update
request
UpdateAiKnowledgeBaseRequest
required
The knowledge base fields to update (all optional):
  • name: Knowledge base name
  • description: Knowledge base description
  • chunk_size: Size of text chunks for processing
  • chunk_overlap: Overlap between chunks

Return Value

Returns Result<AiKnowledgeBase> containing the updated knowledge base details.

Basic Usage

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

let update = UpdateAiKnowledgeBaseRequest {
    name: Some("Updated Knowledge Base".to_string()),
    description: Some("Updated description".to_string()),
    chunk_size: Some(1500),
    ..Default::default()
};

let updated_kb = update_knowledge_base("52057194421551105", update).await?;
println!("Updated knowledge base: {}", updated_kb.name);

Error Handling

match update_knowledge_base("52057194421551105", request).await {
    Ok(kb) => {
        println!("Successfully updated knowledge base: {}", kb.name);
        println!("Last updated: {}", kb.updated_at);
        println!("New chunk size: {}", kb.chunk_size);
    }
    Err(Error::Api { status, message, .. }) => {
        match status.as_u16() {
            404 => println!("Knowledge base not found"),
            400 => println!("Invalid request: {}", message),
            403 => println!("Access denied: {}", message),
            _ => println!("API error {}: {}", status, message),
        }
    }
    Err(e) => println!("Request failed: {}", e),
}

Rate Limits

  • Update operations: 100 requests per minute
  • Burst limit: 10 requests per second