Search API
Search
Find relevant memories using our hybrid search system that combines dense vector similarity, sparse BM25 keyword matching, and knowledge graph traversal.
How Search Works
Hebbrix uses a multi-layer search approach to find the most relevant memories:
Vector Search
Semantic similarity using embeddings. Understands meaning, not just keywords.
BM25 Keyword
Classic keyword matching for exact terms and names.
Graph Traversal
Finds related memories through entity relationships.
Endpoints
Code Examples
Basic Search
Python
import os
import requests
BASE = "https://api.hebbrix.com/v1"
H = {"Authorization": f"Bearer {os.environ['HEBBRIX_API_KEY']}"}
# Hybrid search — combines vector similarity, BM25 keyword, and KG traversal
r = requests.post(
f"{BASE}/search",
headers=H,
json={"query": "user preferences", "limit": 10},
)
for hit in r.json()["results"]:
print(f"[{hit['score']:.2f}] {hit['content']}")Search with Filters
Python
# Top-level SDK helper — scoped to a collection
results = client.search(
query="project deadlines",
collection_id="col_work",
limit=20,
)
# Advanced search with date range and recency boost — call the endpoint directly
from datetime import datetime, timedelta
r = requests.post(
f"{BASE}/search/advanced",
headers=H,
json={
"query": "meetings",
"date_range_start": (datetime.now() - timedelta(days=7)).isoformat(),
"boost_recent": True,
},
)
results = r.json()Find Similar Memories
Python
# GET /v1/search/similar/{memory_id} — vector similarity search
r = requests.get(
f"{BASE}/search/similar/mem_abc123",
headers=H,
params={"limit": 5},
)
for hit in r.json()["results"]:
print(f"[{hit['score']:.2f}] {hit['content']}")cURL Examples
POST
/v1/searchcurl -X POST "https://api.hebbrix.com/v1/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "What are the user's preferences?",
"limit": 10
}'POST
/v1/search/reasoncurl -X POST "https://api.hebbrix.com/v1/search/reason" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "What programming languages does the user know?",
"include_steps": true
}'Search Types
| Type | Best For | Speed |
|---|---|---|
hybrid | General queries (default) | ~50ms |
vector | Semantic/conceptual queries | ~30ms |
bm25 | Exact keyword matching | ~10ms |
graph | Entity relationships | ~100ms |
