What it does
Hybrid search (vector + BM25) with reranking. Returns the top matching chunks, grouped by file. No LLM in the loop — use this when you want the raw material rather than a synthesized answer.
Required scope
search:read
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query |
string | yes | — | The search query |
limit |
integer | no | 10 | Max files to return (1-25) |
fileType |
string | no | — | Filter by file extension (e.g. "pdf") |
category |
string | no | — | Filter by category tag |
Output
{
"files": [
{
"id": "de2e3b54-388b-47d1-a27a-445af0a7df02",
"name": "soc2-controls.md",
"chunks": [
{
"chunkIndex": 0,
"text": "SHINE AI maintains a SOC 2 Type II attestation...",
"score": 0.9052
}
]
}
]
}When to use
- You want to show the user raw sources, not a summary
- You’re going to feed the chunks into your own LLM prompt
- You need to count how many files match a topic (
files.length)
Latency
Typical: 400-800ms. No LLM in the critical path.