VectorWave
RAG Search
Natural language Q&A over your stored code and execution logs.
Overview
VectorWave stores your function source code, execution logs, and traces in Weaviate as vectorized data. RAG Search lets you query this data with natural language.
from vectorwave import search_and_answer
answer = search_and_answer("Which functions handle user authentication?")
print(answer)
# "Based on your codebase, authentication is handled by:
# 1. app.auth.verify_token() - JWT token verification
# 2. app.auth.login() - User login with password hashing
# 3. app.middleware.auth_guard() - Route protection middleware"
Code Search
Search Functions
Find functions by natural language description:
from vectorwave import search_functions
results = search_functions(
query="error handling and retry logic",
limit=5,
)
for func in results:
print(f"{func['full_name']} — {func['description']}")
print(f" Module: {func['module_path']}")
print(f" Score: {func['similarity']:.2f}")
Search Executions
Find specific execution logs using filter-based search:
from vectorwave import search_executions
results = search_executions(
limit=10,
filters={
"status": "ERROR",
"function_name__like": "payment",
},
sort_by="timestamp_utc",
sort_ascending=False,
)
for log in results:
print(f"{log['function_name']} — {log['timestamp_utc']}")
print(f" Error: {log['error_message']}")
print(f" Trace: {log['trace_id']}")
Search Errors
Find errors by semantic similarity to a natural language description:
from vectorwave import search_errors_by_message
results = search_errors_by_message(
query="timeout connecting to external API",
limit=10,
filters={"function_name": "generate_response"},
)
for error in results:
print(f"{error['function_name']} — {error['error_code']}")
print(f" Message: {error['error_message']}")
print(f" Trace: {error['trace_id']}")
Unlike search_executions (filter-based), search_errors_by_message uses vector search to find semantically similar error messages — useful when you don't know the exact error text.
RAG Q&A
Code-Level Q&A
Ask questions about your codebase and get contextual answers:
from vectorwave import search_and_answer
# Ask about function behavior
answer = search_and_answer(
"How does the semantic caching work in our generate_response function?"
)
# Ask about error patterns
answer = search_and_answer(
"What are the most common errors in the payment module this week?"
)
# Ask about architecture
answer = search_and_answer(
"What functions are called when a user submits a form?"
)
Trace Log Analysis
Analyze distributed traces with natural language:
from vectorwave import analyze_trace_log
analysis = analyze_trace_log(
trace_id="abc-123",
question="Why did this trace take so long?",
)
print(analysis)
# "The trace took 4.2s total. The bottleneck was the
# embed() function (3.8s), which called the OpenAI
# API. Consider using semantic caching to avoid
# redundant embedding calls."
Hybrid Search
VectorWave supports hybrid search — combining vector similarity with keyword filtering:
from vectorwave import search_functions_hybrid
results = search_functions_hybrid(
query="database connection pooling",
limit=10,
alpha=0.5, # 0.0 = pure keyword (BM25), 1.0 = pure vector
filters={"team": "backend"}, # Optional filters
)
This uses Weaviate's built-in hybrid search, combining BM25 keyword matching with vector similarity for more precise results.
VectorSurfer: All search capabilities are available through the VectorSurfer dashboard with a visual interface — natural language search bar, filters by function/team/status/date, click-through to execution details, and trace waterfall visualization.
Next Steps
- Advanced Configuration — Custom properties, webhooks, archiving
- API Reference — Complete search API reference
- VectorSurfer Search — Visual search dashboard