Skip to content

Knowledge Base API

API reference for FAISS-based knowledge base with semantic search.

Overview

The LocalKB provides semantic search across 11GB of expert knowledge with FAISS indexing.

from src.kb_store.retriever import LocalKB

kb = LocalKB(kb_dir="kb_store/faiss_metadata")
results = kb.query("authentication patterns", top_k=5)

API Reference

LocalKB dataclass

LocalKB(kb_dir: str)

Single-backend knowledge base (FAISS or HNSW).

Usage Examples

from src.kb_store.retriever import LocalKB

kb = LocalKB(kb_dir="kb_store/faiss_metadata")

# Search with semantic similarity
results = kb.query(
    query="JWT authentication best practices",
    top_k=5
)

for result in results:
    print(f"File: {result['file']}")
    print(f"Text: {result['text']}")
    print(f"Score: {result['score']:.2f}")
# Search with domain filter
results = kb.query_with_filters(
    query="authentication patterns",
    top_k=10,
    filters={
        "domain": "security",
        "file_extension": ".md",
        "min_score": 0.8
    }
)

KB Statistics

stats = kb.get_stats()
print(f"Total chunks: {stats['total_chunks']:,}")
print(f"Domains: {', '.join(stats['domains'])}")
print(f"Index size: {stats['index_size_mb']:.1f} MB")

MCP Integration

Use via SDK MCP server:

from src.orchestrator.tools.sdk_mcp_kb_server import search_knowledge_base

results = await search_knowledge_base(
    query="authentication patterns",
    top_k=5,
    filters={"domain": "security"}
)

Best Practices

  1. Use Semantic Queries - Natural language works best
  2. Filter by Domain - Narrow search scope
  3. Check Scores - Use min_score threshold (0.8+)
  4. Cache Results - For frequently used queries
  5. Validate Security - KB directory must be trusted

Next Steps

MCP Guide KB Architecture