mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-14 13:25:20 +00:00
Added option to prevent attachment of individual files from knowledges
This commit is contained in:
parent
2a8a2f1ba3
commit
aeb43f038c
5 changed files with 27 additions and 2 deletions
|
|
@ -1542,6 +1542,13 @@ ENABLE_CHANNELS = PersistentConfig(
|
||||||
os.environ.get("ENABLE_CHANNELS", "False").lower() == "true",
|
os.environ.get("ENABLE_CHANNELS", "False").lower() == "true",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = PersistentConfig(
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS",
|
||||||
|
"knowledge.individual_file_attachments.enable",
|
||||||
|
os.environ.get("ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS", "True").lower()
|
||||||
|
== "true",
|
||||||
|
)
|
||||||
|
|
||||||
ENABLE_NOTES = PersistentConfig(
|
ENABLE_NOTES = PersistentConfig(
|
||||||
"ENABLE_NOTES",
|
"ENABLE_NOTES",
|
||||||
"notes.enable",
|
"notes.enable",
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,7 @@ from open_webui.config import (
|
||||||
RAG_TEMPLATE,
|
RAG_TEMPLATE,
|
||||||
DEFAULT_RAG_TEMPLATE,
|
DEFAULT_RAG_TEMPLATE,
|
||||||
RAG_FULL_CONTEXT,
|
RAG_FULL_CONTEXT,
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
BYPASS_EMBEDDING_AND_RETRIEVAL,
|
BYPASS_EMBEDDING_AND_RETRIEVAL,
|
||||||
RAG_EMBEDDING_MODEL,
|
RAG_EMBEDDING_MODEL,
|
||||||
RAG_EMBEDDING_MODEL_AUTO_UPDATE,
|
RAG_EMBEDDING_MODEL_AUTO_UPDATE,
|
||||||
|
|
@ -355,6 +356,7 @@ from open_webui.config import (
|
||||||
API_KEYS_ALLOWED_ENDPOINTS,
|
API_KEYS_ALLOWED_ENDPOINTS,
|
||||||
ENABLE_FOLDERS,
|
ENABLE_FOLDERS,
|
||||||
ENABLE_CHANNELS,
|
ENABLE_CHANNELS,
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
ENABLE_NOTES,
|
ENABLE_NOTES,
|
||||||
ENABLE_COMMUNITY_SHARING,
|
ENABLE_COMMUNITY_SHARING,
|
||||||
ENABLE_MESSAGE_RATING,
|
ENABLE_MESSAGE_RATING,
|
||||||
|
|
@ -771,6 +773,9 @@ app.state.config.BANNERS = WEBUI_BANNERS
|
||||||
|
|
||||||
app.state.config.ENABLE_FOLDERS = ENABLE_FOLDERS
|
app.state.config.ENABLE_FOLDERS = ENABLE_FOLDERS
|
||||||
app.state.config.ENABLE_CHANNELS = ENABLE_CHANNELS
|
app.state.config.ENABLE_CHANNELS = ENABLE_CHANNELS
|
||||||
|
app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = (
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS
|
||||||
|
)
|
||||||
app.state.config.ENABLE_NOTES = ENABLE_NOTES
|
app.state.config.ENABLE_NOTES = ENABLE_NOTES
|
||||||
app.state.config.ENABLE_COMMUNITY_SHARING = ENABLE_COMMUNITY_SHARING
|
app.state.config.ENABLE_COMMUNITY_SHARING = ENABLE_COMMUNITY_SHARING
|
||||||
app.state.config.ENABLE_MESSAGE_RATING = ENABLE_MESSAGE_RATING
|
app.state.config.ENABLE_MESSAGE_RATING = ENABLE_MESSAGE_RATING
|
||||||
|
|
@ -843,6 +848,9 @@ app.state.config.FILE_IMAGE_COMPRESSION_HEIGHT = FILE_IMAGE_COMPRESSION_HEIGHT
|
||||||
|
|
||||||
|
|
||||||
app.state.config.RAG_FULL_CONTEXT = RAG_FULL_CONTEXT
|
app.state.config.RAG_FULL_CONTEXT = RAG_FULL_CONTEXT
|
||||||
|
app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = (
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS
|
||||||
|
)
|
||||||
app.state.config.BYPASS_EMBEDDING_AND_RETRIEVAL = BYPASS_EMBEDDING_AND_RETRIEVAL
|
app.state.config.BYPASS_EMBEDDING_AND_RETRIEVAL = BYPASS_EMBEDDING_AND_RETRIEVAL
|
||||||
app.state.config.ENABLE_RAG_HYBRID_SEARCH = ENABLE_RAG_HYBRID_SEARCH
|
app.state.config.ENABLE_RAG_HYBRID_SEARCH = ENABLE_RAG_HYBRID_SEARCH
|
||||||
app.state.config.ENABLE_RAG_HYBRID_SEARCH_ENRICHED_TEXTS = (
|
app.state.config.ENABLE_RAG_HYBRID_SEARCH_ENRICHED_TEXTS = (
|
||||||
|
|
@ -1850,6 +1858,7 @@ async def get_app_config(request: Request):
|
||||||
"enable_folders": app.state.config.ENABLE_FOLDERS,
|
"enable_folders": app.state.config.ENABLE_FOLDERS,
|
||||||
"enable_channels": app.state.config.ENABLE_CHANNELS,
|
"enable_channels": app.state.config.ENABLE_CHANNELS,
|
||||||
"enable_notes": app.state.config.ENABLE_NOTES,
|
"enable_notes": app.state.config.ENABLE_NOTES,
|
||||||
|
"enable_individual_knowledge_file_attachments": app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"enable_web_search": app.state.config.ENABLE_WEB_SEARCH,
|
"enable_web_search": app.state.config.ENABLE_WEB_SEARCH,
|
||||||
"enable_code_execution": app.state.config.ENABLE_CODE_EXECUTION,
|
"enable_code_execution": app.state.config.ENABLE_CODE_EXECUTION,
|
||||||
"enable_code_interpreter": app.state.config.ENABLE_CODE_INTERPRETER,
|
"enable_code_interpreter": app.state.config.ENABLE_CODE_INTERPRETER,
|
||||||
|
|
|
||||||
|
|
@ -940,6 +940,7 @@ async def get_admin_config(request: Request, user=Depends(get_admin_user)):
|
||||||
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
||||||
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
||||||
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS": request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
||||||
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
||||||
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
||||||
|
|
@ -962,6 +963,7 @@ class AdminConfig(BaseModel):
|
||||||
ENABLE_CHANNELS: bool
|
ENABLE_CHANNELS: bool
|
||||||
ENABLE_NOTES: bool
|
ENABLE_NOTES: bool
|
||||||
ENABLE_USER_WEBHOOKS: bool
|
ENABLE_USER_WEBHOOKS: bool
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS: bool
|
||||||
PENDING_USER_OVERLAY_TITLE: Optional[str] = None
|
PENDING_USER_OVERLAY_TITLE: Optional[str] = None
|
||||||
PENDING_USER_OVERLAY_CONTENT: Optional[str] = None
|
PENDING_USER_OVERLAY_CONTENT: Optional[str] = None
|
||||||
RESPONSE_WATERMARK: Optional[str] = None
|
RESPONSE_WATERMARK: Optional[str] = None
|
||||||
|
|
@ -986,6 +988,9 @@ async def update_admin_config(
|
||||||
request.app.state.config.ENABLE_FOLDERS = form_data.ENABLE_FOLDERS
|
request.app.state.config.ENABLE_FOLDERS = form_data.ENABLE_FOLDERS
|
||||||
request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
|
request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
|
||||||
request.app.state.config.ENABLE_NOTES = form_data.ENABLE_NOTES
|
request.app.state.config.ENABLE_NOTES = form_data.ENABLE_NOTES
|
||||||
|
request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = (
|
||||||
|
form_data.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS
|
||||||
|
)
|
||||||
|
|
||||||
if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
|
if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
|
||||||
request.app.state.config.DEFAULT_USER_ROLE = form_data.DEFAULT_USER_ROLE
|
request.app.state.config.DEFAULT_USER_ROLE = form_data.DEFAULT_USER_ROLE
|
||||||
|
|
@ -1030,6 +1035,7 @@ async def update_admin_config(
|
||||||
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
||||||
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
||||||
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS": request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
||||||
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
||||||
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
import { onMount, tick, getContext } from 'svelte';
|
import { onMount, tick, getContext } from 'svelte';
|
||||||
|
|
||||||
import { decodeString } from '$lib/utils';
|
import { decodeString } from '$lib/utils';
|
||||||
import { knowledge } from '$lib/stores';
|
import { knowledge, config } from '$lib/stores';
|
||||||
|
|
||||||
import { getKnowledgeBases } from '$lib/apis/knowledge';
|
import { getKnowledgeBases } from '$lib/apis/knowledge';
|
||||||
|
|
||||||
|
|
@ -99,7 +99,9 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
if (!($config?.features?.enable_individual_knowledge_file_attachments ?? true)) {
|
||||||
|
items = items.filter((it) => it.type !== 'file');
|
||||||
|
}
|
||||||
await tick();
|
await tick();
|
||||||
|
|
||||||
loaded = true;
|
loaded = true;
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,7 @@ type Config = {
|
||||||
enable_autocomplete_generation: boolean;
|
enable_autocomplete_generation: boolean;
|
||||||
enable_direct_connections: boolean;
|
enable_direct_connections: boolean;
|
||||||
enable_version_update_check: boolean;
|
enable_version_update_check: boolean;
|
||||||
|
enable_individual_knowledge_file_attachments: boolean;
|
||||||
};
|
};
|
||||||
oauth: {
|
oauth: {
|
||||||
providers: {
|
providers: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue