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¶
Usage Examples¶
Basic Search¶
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}")
Filtered Search¶
# 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¶
- Use Semantic Queries - Natural language works best
- Filter by Domain - Narrow search scope
- Check Scores - Use min_score threshold (0.8+)
- Cache Results - For frequently used queries
- Validate Security - KB directory must be trusted