AI Support Guide

Simpli KB

Knowledge base builder with gap analysis and semantic search.

Great support starts with great documentation. KB manages your help articles, uses semantic search to find answers by meaning (not just keywords), and proactively identifies gaps where customers are asking questions you haven't documented yet.

Simpli KB manages your help centre articles, provides semantic search, identifies content gaps, and flags stale articles.

Configuration

VariableDefaultDescription
APP_PORT8000Server port
CORS_ORIGINS*Allowed CORS origins
CHROMADB_HOSTlocalhostChromaDB host for vector search
CHROMADB_PORT8001ChromaDB port
DATABASE_URLDatabase connection string

Start the server

simpli-kb serve

API endpoints

Article management

MethodEndpointDescription
POST/articlesCreate an article
GET/articlesList all articles
GET/articles/{id}Get a single article
DELETE/articles/{id}Delete an article

Create an article:

{
  "title": "How to reset your password",
  "content": "Navigate to Settings > Security > Reset Password...",
  "tags": ["auth", "password", "security"],
  "source": "internal-wiki"
}

Response:

{
  "id": "KB-a1b2c3d4",
  "title": "How to reset your password",
  "content": "Navigate to Settings > Security > Reset Password...",
  "tags": ["auth", "password", "security"],
  "source": "internal-wiki"
}

Semantic search across the knowledge base.

Query parameters:

ParamDescription
qSearch query (required, min 1 character)

Response:

[
  {
    "article_id": "KB-a1b2c3d4",
    "title": "How to reset your password",
    "snippet": "Navigate to Settings > Security...",
    "relevance": 0.92
  }
]

GET /gaps

Identify topics that customers ask about but have no matching KB article.

Response:

[
  {
    "topic": "two-factor authentication setup",
    "ticket_count": 34,
    "sample_queries": ["how to enable 2FA", "MFA setup guide"]
  }
]

GET /stale

List articles that may be outdated.

Response:

[
  {
    "article_id": "KB-x1y2z3",
    "title": "API rate limits",
    "last_updated": "2024-03-15T10:00:00Z",
    "staleness_reason": "Not updated in over 6 months; related tickets mention new limits"
  }
]

GET /health

Health check.

Next steps

On this page