Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KB DOCUMENTS ADDED SINCE

The KB DOCUMENTS ADDED SINCE keyword returns the count of documents added to the knowledge base within a specified number of days, useful for tracking ingestion activity and monitoring growth.


Syntax

count = KB DOCUMENTS ADDED SINCE days

Parameters

ParameterTypeDescription
daysNumberNumber of days to look back

Description

KB DOCUMENTS ADDED SINCE queries the database to count how many documents were added to the bot’s knowledge base within the specified time window. This is useful for tracking ingestion rates, monitoring content growth, and generating activity reports.

Use cases include:

  • Tracking daily/weekly document ingestion
  • Monitoring automated content pipelines
  • Activity reports and dashboards
  • Alert systems for low/high activity
  • Growth trend analysis

Return Value

Returns an integer representing the number of documents added within the specified period.


Examples

Basic Usage

' Count documents added in last 7 days
weekly_count = KB DOCUMENTS ADDED SINCE 7

TALK "Documents added this week: " + weekly_count

Daily Activity Check

' Check today's ingestion
today_count = KB DOCUMENTS ADDED SINCE 1

IF today_count = 0 THEN
    TALK "No new documents added today"
ELSE
    TALK today_count + " documents added today"
END IF

Growth Comparison

' Compare recent activity periods
last_week = KB DOCUMENTS ADDED SINCE 7
last_month = KB DOCUMENTS ADDED SINCE 30

weekly_average = last_month / 4

IF last_week > weekly_average * 1.5 THEN
    TALK "Document ingestion is above average this week!"
ELSE IF last_week < weekly_average * 0.5 THEN
    TALK "Document ingestion is below average this week"
ELSE
    TALK "Document ingestion is on track"
END IF

Activity Alert System

' Alert if no documents added recently
recent_docs = KB DOCUMENTS ADDED SINCE 3

IF recent_docs = 0 THEN
    SEND MAIL admin_email,
        "KB Activity Alert",
        "No documents have been added to the knowledge base in the last 3 days. Please check content pipelines.",
        []
    TALK "Alert sent - no recent KB activity"
END IF

Scheduled Activity Report

' Weekly ingestion report (run via SET SCHEDULE)
day_1 = KB DOCUMENTS ADDED SINCE 1
day_7 = KB DOCUMENTS ADDED SINCE 7
day_30 = KB DOCUMENTS ADDED SINCE 30

report = "KB Ingestion Report\n\n"
report = report + "Last 24 hours: " + day_1 + " documents\n"
report = report + "Last 7 days: " + day_7 + " documents\n"
report = report + "Last 30 days: " + day_30 + " documents\n"
report = report + "\nDaily average (30 days): " + FORMAT(day_30 / 30, "#,##0.0") + "\n"
report = report + "Weekly average (30 days): " + FORMAT(day_30 / 4, "#,##0.0")

SEND MAIL admin_email, "Weekly KB Ingestion Report", report, []

Pipeline Monitoring

' Monitor automated document pipeline
expected_daily = 50  ' Expected documents per day
tolerance = 0.2  ' 20% tolerance

yesterday_count = KB DOCUMENTS ADDED SINCE 1
min_expected = expected_daily * (1 - tolerance)
max_expected = expected_daily * (1 + tolerance)

IF yesterday_count < min_expected THEN
    TALK "Warning: Only " + yesterday_count + " documents ingested yesterday (expected ~" + expected_daily + ")"
    LOG_WARN "Low document ingestion: " + yesterday_count
ELSE IF yesterday_count > max_expected THEN
    TALK "Note: High ingestion yesterday - " + yesterday_count + " documents"
    LOG_INFO "High document ingestion: " + yesterday_count
ELSE
    TALK "Document pipeline operating normally: " + yesterday_count + " documents yesterday"
END IF

Use with Other KB Keywords

' Comprehensive KB activity check
total_docs = KB DOCUMENTS COUNT
recent_docs = KB DOCUMENTS ADDED SINCE 7
storage_mb = KB STORAGE SIZE

TALK "Knowledge Base Status:"
TALK "  Total documents: " + FORMAT(total_docs, "#,##0")
TALK "  Added this week: " + recent_docs
TALK "  Storage used: " + FORMAT(storage_mb, "#,##0.00") + " MB"

IF recent_docs > 0 THEN
    pct_new = (recent_docs / total_docs) * 100
    TALK "  " + FORMAT(pct_new, "#,##0.0") + "% of KB is from this week"
END IF

Error Handling

ON ERROR RESUME NEXT

count = KB DOCUMENTS ADDED SINCE 7

IF ERROR THEN
    PRINT "Failed to get document count: " + ERROR_MESSAGE
    count = 0
END IF

TALK "Documents added recently: " + count


Implementation Notes

  • Implemented in Rust under src/basic/keywords/kb_statistics.rs
  • Queries PostgreSQL kb_documents table by created_at timestamp
  • Filters by current bot ID
  • Returns 0 if no documents found or on error
  • Days parameter is converted to interval for SQL query

Summary

KB DOCUMENTS ADDED SINCE provides a simple way to track recent document ingestion activity. Use it for monitoring content pipelines, generating activity reports, and creating alerts for unusual activity levels. Combine with other KB keywords for comprehensive knowledge base monitoring.