The tool sends the query to your server. You have an LLM on the backend that interprets the intent and decides how to search the database.
For a general lookup like "what ammunition do you have" it does a semantic search.
For a specific query like "show me products under $150" it runs a filtered SQL query and returns matching products.
Adding an LLM on the backend lets you handle open-ended natural language questions flexibly, but the tradeoff is extra latency since you have two LLM calls .
one from Vapi to extract the tool arguments, and one on your server to interpret and execute the search