mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-15 05:45:19 +00:00
refac/fix: web search always on setting
This commit is contained in:
parent
40e40d1ddd
commit
9368d0ac75
2 changed files with 46 additions and 25 deletions
|
|
@ -50,7 +50,6 @@
|
||||||
removeAllDetails
|
removeAllDetails
|
||||||
} from '$lib/utils';
|
} from '$lib/utils';
|
||||||
|
|
||||||
import { generateChatCompletion } from '$lib/apis/ollama';
|
|
||||||
import {
|
import {
|
||||||
createNewChat,
|
createNewChat,
|
||||||
getAllTags,
|
getAllTags,
|
||||||
|
|
@ -63,8 +62,6 @@
|
||||||
} from '$lib/apis/chats';
|
} from '$lib/apis/chats';
|
||||||
import { generateOpenAIChatCompletion } from '$lib/apis/openai';
|
import { generateOpenAIChatCompletion } from '$lib/apis/openai';
|
||||||
import { processWeb, processWebSearch, processYoutubeVideo } from '$lib/apis/retrieval';
|
import { processWeb, processWebSearch, processYoutubeVideo } from '$lib/apis/retrieval';
|
||||||
import { createOpenAITextStream } from '$lib/apis/streaming';
|
|
||||||
import { queryMemory } from '$lib/apis/memories';
|
|
||||||
import { getAndUpdateUserLocation, getUserSettings } from '$lib/apis/users';
|
import { getAndUpdateUserLocation, getUserSettings } from '$lib/apis/users';
|
||||||
import {
|
import {
|
||||||
chatCompleted,
|
chatCompleted,
|
||||||
|
|
@ -75,6 +72,10 @@
|
||||||
getTaskIdsByChatId
|
getTaskIdsByChatId
|
||||||
} from '$lib/apis';
|
} from '$lib/apis';
|
||||||
import { getTools } from '$lib/apis/tools';
|
import { getTools } from '$lib/apis/tools';
|
||||||
|
import { uploadFile } from '$lib/apis/files';
|
||||||
|
import { createOpenAITextStream } from '$lib/apis/streaming';
|
||||||
|
|
||||||
|
import { fade } from 'svelte/transition';
|
||||||
|
|
||||||
import Banner from '../common/Banner.svelte';
|
import Banner from '../common/Banner.svelte';
|
||||||
import MessageInput from '$lib/components/chat/MessageInput.svelte';
|
import MessageInput from '$lib/components/chat/MessageInput.svelte';
|
||||||
|
|
@ -85,10 +86,8 @@
|
||||||
import Placeholder from './Placeholder.svelte';
|
import Placeholder from './Placeholder.svelte';
|
||||||
import NotificationToast from '../NotificationToast.svelte';
|
import NotificationToast from '../NotificationToast.svelte';
|
||||||
import Spinner from '../common/Spinner.svelte';
|
import Spinner from '../common/Spinner.svelte';
|
||||||
import { fade } from 'svelte/transition';
|
|
||||||
import Tooltip from '../common/Tooltip.svelte';
|
import Tooltip from '../common/Tooltip.svelte';
|
||||||
import Sidebar from '../icons/Sidebar.svelte';
|
import Sidebar from '../icons/Sidebar.svelte';
|
||||||
import { uploadFile } from '$lib/apis/files';
|
|
||||||
|
|
||||||
export let chatIdProp = '';
|
export let chatIdProp = '';
|
||||||
|
|
||||||
|
|
@ -1635,6 +1634,46 @@
|
||||||
chats.set(await getChatList(localStorage.token, $currentChatPage));
|
chats.set(await getChatList(localStorage.token, $currentChatPage));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getFeatures = () => {
|
||||||
|
let features = {};
|
||||||
|
|
||||||
|
if ($config?.features)
|
||||||
|
features = {
|
||||||
|
image_generation:
|
||||||
|
$config?.features?.enable_image_generation &&
|
||||||
|
($user?.role === 'admin' || $user?.permissions?.features?.image_generation)
|
||||||
|
? imageGenerationEnabled
|
||||||
|
: false,
|
||||||
|
code_interpreter:
|
||||||
|
$config?.features?.enable_code_interpreter &&
|
||||||
|
($user?.role === 'admin' || $user?.permissions?.features?.code_interpreter)
|
||||||
|
? codeInterpreterEnabled
|
||||||
|
: false,
|
||||||
|
web_search:
|
||||||
|
$config?.features?.enable_web_search &&
|
||||||
|
($user?.role === 'admin' || $user?.permissions?.features?.web_search)
|
||||||
|
? webSearchEnabled
|
||||||
|
: false
|
||||||
|
};
|
||||||
|
|
||||||
|
const currentModels = atSelectedModel?.id ? [atSelectedModel.id] : selectedModels;
|
||||||
|
if (
|
||||||
|
currentModels.filter(
|
||||||
|
(model) => $models.find((m) => m.id === model)?.info?.meta?.capabilities?.web_search ?? true
|
||||||
|
).length === currentModels.length
|
||||||
|
) {
|
||||||
|
if (($settings?.webSearch ?? false) === 'always') {
|
||||||
|
features = { ...features, web_search: true };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($settings?.memory ?? false) {
|
||||||
|
features = { ...features, memory: true };
|
||||||
|
}
|
||||||
|
|
||||||
|
return features;
|
||||||
|
};
|
||||||
|
|
||||||
const sendMessageSocket = async (model, _messages, _history, responseMessageId, _chatId) => {
|
const sendMessageSocket = async (model, _messages, _history, responseMessageId, _chatId) => {
|
||||||
const responseMessage = _history.messages[responseMessageId];
|
const responseMessage = _history.messages[responseMessageId];
|
||||||
const userMessage = _history.messages[responseMessage.parentId];
|
const userMessage = _history.messages[responseMessage.parentId];
|
||||||
|
|
@ -1747,25 +1786,7 @@
|
||||||
filter_ids: selectedFilterIds.length > 0 ? selectedFilterIds : undefined,
|
filter_ids: selectedFilterIds.length > 0 ? selectedFilterIds : undefined,
|
||||||
tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
|
tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
|
||||||
tool_servers: $toolServers,
|
tool_servers: $toolServers,
|
||||||
|
features: getFeatures(),
|
||||||
features: {
|
|
||||||
image_generation:
|
|
||||||
$config?.features?.enable_image_generation &&
|
|
||||||
($user?.role === 'admin' || $user?.permissions?.features?.image_generation)
|
|
||||||
? imageGenerationEnabled
|
|
||||||
: false,
|
|
||||||
code_interpreter:
|
|
||||||
$config?.features?.enable_code_interpreter &&
|
|
||||||
($user?.role === 'admin' || $user?.permissions?.features?.code_interpreter)
|
|
||||||
? codeInterpreterEnabled
|
|
||||||
: false,
|
|
||||||
web_search:
|
|
||||||
$config?.features?.enable_web_search &&
|
|
||||||
($user?.role === 'admin' || $user?.permissions?.features?.web_search)
|
|
||||||
? webSearchEnabled || ($settings?.webSearch ?? false) === 'always'
|
|
||||||
: false,
|
|
||||||
memory: $settings?.memory ?? false
|
|
||||||
},
|
|
||||||
variables: {
|
variables: {
|
||||||
...getPromptVariables($user?.name, $settings?.userLocation ? userLocation : undefined)
|
...getPromptVariables($user?.name, $settings?.userLocation ? userLocation : undefined)
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,7 @@ type Settings = {
|
||||||
richTextInput?: boolean;
|
richTextInput?: boolean;
|
||||||
params?: any;
|
params?: any;
|
||||||
userLocation?: any;
|
userLocation?: any;
|
||||||
webSearch?: boolean;
|
webSearch?: any;
|
||||||
memory?: boolean;
|
memory?: boolean;
|
||||||
autoTags?: boolean;
|
autoTags?: boolean;
|
||||||
autoFollowUps?: boolean;
|
autoFollowUps?: boolean;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue