AI Support Guide

Simpli KB Audit

Knowledge base quality auditing for AI-readiness — deduplication, conflict detection, staleness scoring, quality grading, and coverage mapping.

KB Audit ensures your knowledge base is clean, consistent, and ready for AI agents. It finds duplicates, detects contradictions, scores staleness, grades article quality, and maps coverage gaps — so your AI tools work with reliable data.

Simpli KB Audit provides comprehensive knowledge base auditing through seven specialized endpoints plus a composite full-audit endpoint.

Configuration

VariableDefaultDescription
APP_PORT8011Server port
LITELLM_MODELopenai/gpt-5-miniLLM model for analysis
SIMILARITY_THRESHOLD0.85Cosine similarity threshold for duplicate detection
STALENESS_DAYS180Articles older than this are candidates for staleness review
QUALITY_MIN_WORD_COUNT50Minimum word count for a "complete" article
CORS_ORIGINS*Allowed CORS origins (comma-separated)

Start the server

simpli-kbaudit serve

API endpoints

All endpoints are under the /api/v1 prefix.

POST /api/v1/audit

Run a full composite audit across all dimensions.

Request:

{
  "articles": [
    {"id": "kb-1", "title": "Refund Policy", "content": "Refunds take 3-5 business days..."},
    {"id": "kb-2", "title": "Returns & Refunds", "content": "Refunds are processed in 5-7 days..."}
  ],
  "ticket_topics": ["password reset", "billing dispute"],
  "known_deprecations": ["legacy portal", "v1 API"]
}

Response:

{
  "audit_id": "a-abc123",
  "summary": {
    "total_articles": 2,
    "total_findings": 3,
    "overall_health_score": 0.45,
    "findings_by_severity": {"high": 1, "medium": 2}
  },
  "duplicates": { "..." },
  "conflicts": { "..." },
  "staleness": { "..." },
  "quality": { "..." },
  "coverage": { "..." },
  "findings": [
    {
      "finding_id": "f-1",
      "severity": "high",
      "title": "Conflicting refund timelines",
      "description": "kb-1 says 3-5 days, kb-2 says 5-7 days",
      "affected_article_ids": ["kb-1", "kb-2"],
      "recommended_action": "rewrite"
    }
  ]
}

POST /api/v1/duplicates

Find near-duplicate articles using semantic similarity.

POST /api/v1/conflicts

Detect articles that contradict each other.

POST /api/v1/staleness

Score articles for potential staleness with known deprecation matching.

POST /api/v1/quality

Grade articles on completeness, clarity, actionability, and formatting.

POST /api/v1/coverage

Cross-reference ticket topics against KB content to find blind spots.

POST /api/v1/article/review

Pre-publish check for a single article — quality and staleness scoring with a publish_ready flag.

GET /health

Health check.

Integration example

import httpx

client = httpx.Client(base_url="http://localhost:8011")

# Full audit
report = client.post("/api/v1/audit", json={
    "articles": [
        {"id": "kb-1", "title": "Password Reset", "content": "Go to Settings > Security..."},
        {"id": "kb-2", "title": "Reset Your Password", "content": "Navigate to Settings > Security..."},
        {"id": "kb-3", "title": "Billing FAQ", "content": "Refunds take 3-5 business days..."},
    ],
    "ticket_topics": ["data export", "SSO setup"],
}).json()

print(f"Health score: {report['summary']['overall_health_score']}")
print(f"Findings: {report['summary']['total_findings']}")

# Pre-publish check
review = client.post("/api/v1/article/review", json={
    "article": {"id": "kb-new", "title": "New Feature Guide", "content": "..."},
}).json()

if review["publish_ready"]:
    print("Ready to publish!")

Next steps

On this page