xAI: Enable backend web search Closes #4160
| @@ -1969,7 +1969,7 @@ | |||
| 1969 | </span> | 1969 | </span> |
| 1970 | </div> | 1970 | </div> |
| 1971 | </div> | 1971 | </div> |
| 1972 | <div class="range-block" data-source="makersuite,vertexai,aimlapi,openrouter,claude"> | 1972 | <div class="range-block" data-source="makersuite,vertexai,aimlapi,openrouter,claude,xai"> |
| 1973 | <label for="openai_enable_web_search" class="checkbox_label flexWrap widthFreeExpand"> | 1973 | <label for="openai_enable_web_search" class="checkbox_label flexWrap widthFreeExpand"> |
| 1974 | <input id="openai_enable_web_search" type="checkbox" /> | 1974 | <input id="openai_enable_web_search" type="checkbox" /> |
| 1975 | <span data-i18n="Enable web search">Enable web search</span> | 1975 | <span data-i18n="Enable web search">Enable web search</span> |
| @@ -965,6 +965,17 @@ async function sendXaiRequest(request, response) { | |||
| 965 | bodyParams['reasoning_effort'] = request.body.reasoning_effort === 'high' ? 'high' : 'low'; | 965 | bodyParams['reasoning_effort'] = request.body.reasoning_effort === 'high' ? 'high' : 'low'; |
| 966 | } | 966 | } |
| 967 | 967 | ||
| 968 | if (request.body.enable_web_search) { | ||
| 969 | bodyParams['search_parameters'] = { | ||
| 970 | mode: 'on', | ||
| 971 | sources: [ | ||
| 972 | { type: 'web', safe_search: false }, | ||
| 973 | { type: 'news', safe_search: false }, | ||
| 974 | { type: 'x' }, | ||
| 975 | ], | ||
| 976 | }; | ||
| 977 | } | ||
| 978 | |||
| 968 | const processedMessages = request.body.messages = convertXAIMessages(request.body.messages, getPromptNames(request)); | 979 | const processedMessages = request.body.messages = convertXAIMessages(request.body.messages, getPromptNames(request)); |
| 969 | 980 | ||
| 970 | const requestBody = { | 981 | const requestBody = { |