Semantic Memory Vector Store

RAG Knowledge Base

Bugify indexes resolved bug fixes, common error patterns, and language documentation into Qdrant collections using 384-dimensional dense semantic embeddings with in-memory fallback.

247
Bug Knowledge
384-dim embeddings
183
Error Patterns
384-dim embeddings
94
Documentation
384-dim embeddings
0.94
Avg Similarity
dense retrieval
Interactive Semantic Retrieval

Query The Knowledge Base

Simulates dense vector search across Bugify's Qdrant embeddings. Type any error or symptom.

bug_knowledge
Similarity
0.97

AttributeError: 'NoneType' has no attribute

Occurs when a variable expected to hold an object is None. Check all code paths that assign the variable. Ensure database queries handle missing rows using .first() with a None guard. Add defensive None checks or Optional typing with early returns.

AttributeErrorNoneTypeDefensive Guard
bug_knowledge
Similarity
0.94

KeyError in dictionary access

KeyError occurs when accessing a dict with a key that does not exist. Prefer dict.get(key, default) for safe access. Use 'if key in dict:' checks before direct bracket access. defaultdict and dict.setdefault are robust alternatives.

KeyErrordict.getSafe Access
error_patterns
Similarity
0.91

ImportError: cannot import name (Circular Import)

Indicates a circular dependency, a renamed module symbol, or a missing package. Check for circular imports by reviewing import cycles. Move imports inside function scope if required, or restructure modules into a shared base layer.

ImportErrorCircular DependencyModule Scope
error_patterns
Similarity
0.88

RecursionError: maximum recursion depth exceeded

Infinite or deeply nested recursive calls exceed Python default stack limit (1000). Add a base case terminating condition. Prefer converting to iterative loops with while or an explicit stack queue structure.

RecursionErrorBase CaseStack Overflow
documentation
Similarity
0.85

Python Standard Exception Hierarchy

BaseException → Exception → (ValueError, TypeError, AttributeError, KeyError, IndexError, RuntimeError, OSError). Catching Exception is generally safe. Never catch BaseException silently — it masks SystemExit and KeyboardInterrupt.

Exception HierarchyBaseExceptionError Handling
bug_knowledge
Similarity
0.82

TypeError: unsupported operand types

Occurs when an operation is applied to incompatible types (e.g., str + int). Use isinstance() checks before operations. Enable strict type annotations with mypy. Consider type coercion at API boundaries.

TypeErrorType Coercionisinstance

Ingest your own documentation with python scripts/ingest_knowledge.py

Debug Using Knowledge Base →