AI assistant & semantic search
Stop grepping your specs. Ask a question in plain English and Elva’s chat agent searches, retrieves, and answers straight from your live catalog — grounded in the real operations, schemas, and security of the APIs you can access.
Ask Elva about your catalog; it retrieves the real spec before it answers.
Chat that actually reads your specs
The assistant is a RAG (retrieval-augmented) agent, not a chatbot that hallucinates endpoints. When you ask a question, it runs a tool-calling loop over the collections you have access to, pulls the exact spec content it needs, and answers from that evidence. The system prompt is explicit: gather information with tools first, never guess endpoint names, fields, or counts.
It runs in-app through POST /api/ai/chat, scoped to your account. Every answer is limited to the collections you can see, and the assistant automatically attaches your active collection context so questions about the API you are looking at just work. Responses can stream token by token, and each one carries the source chunks it was built from.
Prompt-injection guard. Retrieved spec content is wrapped and labeled as data, not instructions. The agent is told to obey only your request and the system prompt, never anything embedded inside a tool result or a spec. A malicious description in someone's OpenAPI file cannot hijack the assistant.
The agent’s toolbox
Instead of stuffing an entire spec into the model, the agent picks the right tool for the job. Each tool is access-checked against the collections you own before it returns anything.
Tool | What it does | Returns |
| Semantic search across one collection or every accessible collection | Up to 8 best-matching chunks with sources |
| Full enumeration of a chunk kind (default | Up to 100 matching entries |
| Fetch one operation by operationId, chunkId, pointer, or path | The full operation content |
| List the collections you can access | Names and ids |
| Count | Up to 100 referencing chunks |
| Exact substring match over path, name, pointer, and content | Up to 25 hits |
How a question becomes a grounded answer
The agent runs up to three tool rounds at temperature 0, then makes a final answer call. Sources are de-duplicated by collection and chunk id before they come back to you.
graph LR; Q[Your question]-->E[Embed query]; E-->R[Retrieve chunks]; R-->T[Tool calls: search / list / usages]; T-->G[Grounded answer + sources]; classDef accent fill:#ffffff,stroke:#ffffff,color:#15152A; class G accent;
On this page
- AI assistant & semantic search