diff --git a/docs/my-website/docs/tutorials/file_search_responses_api.md b/docs/my-website/docs/tutorials/file_search_responses_api.md index f539d11c6d..d74bdf9cb8 100644 --- a/docs/my-website/docs/tutorials/file_search_responses_api.md +++ b/docs/my-website/docs/tutorials/file_search_responses_api.md @@ -15,7 +15,7 @@ LiteLLM keeps one OpenAI-compatible output shape while routing requests through Two paths are covered: | Path | When it runs | What LiteLLM does | -|||| +| --- | --- | --- | | **Native passthrough** | Provider natively supports `file_search` (OpenAI, Azure) | Decodes unified vector store ID → forwards to provider as-is | | **Emulated fallback** | Provider doesn't support `file_search` (Anthropic, Bedrock, etc.) | Converts to a function tool → intercepts tool call → runs vector search → synthesizes OpenAI-format output | @@ -102,7 +102,7 @@ print(response.output) ### Behavior Matrix | Path | SDK model | Proxy model | Behavior | -||||| +| --- | --- | --- | --- | | Native passthrough | `openai/gpt-4.1` | `gpt-4.1` | Provider executes native `file_search` | | Emulated fallback | `anthropic/claude-sonnet-4-5` | `claude-sonnet` | LiteLLM converts to function tool and synthesizes OpenAI-format output | @@ -220,30 +220,17 @@ validate_file_search_response(response) ## Q&A -### Q: Why do I see `UnsupportedParamsError`? - -A: This usually means `file_search` was passed to a provider that does not support it natively and emulation could not route correctly. -Check: -- The model string is valid (for example, `anthropic/claude-sonnet-4-5`). -- `custom_llm_provider` resolves correctly so LiteLLM can load the provider config. - -### Q: Why does vector search return no results? - -A: Common causes: -- The vector store ID is wrong or has no files attached. -- In LiteLLM-managed stores, file ingestion is not complete (`status != completed`). -- The query is too narrow; try a broader query. - -### Q: Why am I getting `403 Access denied` on vector store calls? - -A: The caller does not have access to that vector store. -- The store may belong to another team. -- Use an admin/proxy key if your setup requires cross-team access. - -### Q: Why are `annotations` empty in emulated mode? - -A: `file_citation` annotations require `file_id` metadata in search results. -If your vector backend does not return file-level metadata, the answer text is still generated but citations can be empty. +- **Why do I see `UnsupportedParamsError`?** This usually means `file_search` was passed to a provider that does not support it natively and emulation could not route correctly. Check: + - The model string is valid (for example, `anthropic/claude-sonnet-4-5`). + - `custom_llm_provider` resolves correctly so LiteLLM can load the provider config. +- **Why does vector search return no results?** Common causes: + - The vector store ID is wrong or has no files attached. + - In LiteLLM-managed stores, file ingestion is not complete (`status != completed`). + - The query is too narrow; try a broader query. +- **Why am I getting `403 Access denied` on vector store calls?** The caller does not have access to that vector store. + - The store may belong to another team. + - Use an admin/proxy key if your setup requires cross-team access. +- **Why are `annotations` empty in emulated mode?** `file_citation` annotations require `file_id` metadata in search results. If your vector backend does not return file-level metadata, the answer text is still generated but citations can be empty. diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js index 046c5602fc..df6cd939b7 100644 --- a/docs/my-website/sidebars.js +++ b/docs/my-website/sidebars.js @@ -1433,7 +1433,7 @@ const learnSidebar = { }, items: [ "tutorials/prompt_caching", - "tutorials/file_search_responses_api" + "tutorials/file_search_responses_api", "tutorials/anthropic_file_usage", "tutorials/gemini_realtime_with_audio", "tutorials/litellm_proxy_aporia",