refac
This commit is contained in:
@@ -227,7 +227,7 @@ def get_citation_source_from_tool_result(
|
||||
Returns a list of sources (usually one, but query_knowledge_files may return multiple).
|
||||
"""
|
||||
_EXPECTS_LIST = {'search_web', 'query_knowledge_files'}
|
||||
_EXPECTS_DICT = {'view_knowledge_file'}
|
||||
_EXPECTS_DICT = {'view_knowledge_file', 'view_file'}
|
||||
|
||||
try:
|
||||
try:
|
||||
@@ -271,7 +271,7 @@ def get_citation_source_from_tool_result(
|
||||
}
|
||||
]
|
||||
|
||||
elif tool_name == 'view_knowledge_file':
|
||||
elif tool_name in ('view_knowledge_file', 'view_file'):
|
||||
file_data = tool_result
|
||||
filename = file_data.get('filename', 'Unknown File')
|
||||
file_id = file_data.get('id', '')
|
||||
@@ -4143,6 +4143,7 @@ async def streaming_chat_response_handler(response, ctx):
|
||||
in [
|
||||
'search_web',
|
||||
'fetch_url',
|
||||
'view_file',
|
||||
'view_knowledge_file',
|
||||
'query_knowledge_files',
|
||||
]
|
||||
|
||||
@@ -79,6 +79,8 @@ from open_webui.tools.builtin import (
|
||||
query_knowledge_bases,
|
||||
search_knowledge_files,
|
||||
query_knowledge_files,
|
||||
list_attached_knowledge,
|
||||
search_attached_files,
|
||||
view_file,
|
||||
view_knowledge_file,
|
||||
view_skill,
|
||||
@@ -405,12 +407,15 @@ def get_builtin_tools(
|
||||
model_knowledge = list(model_knowledge or []) + list(folder_knowledge)
|
||||
if is_builtin_tool_enabled('knowledge'):
|
||||
if model_knowledge:
|
||||
# Model has attached knowledge - only allow semantic search within it
|
||||
# Model has attached knowledge - provide discovery, search and semantic tools
|
||||
builtin_functions.append(list_attached_knowledge)
|
||||
builtin_functions.append(search_attached_files)
|
||||
builtin_functions.append(query_knowledge_files)
|
||||
|
||||
knowledge_types = {item.get('type') for item in model_knowledge}
|
||||
if 'file' in knowledge_types or 'collection' in knowledge_types:
|
||||
builtin_functions.append(view_file)
|
||||
builtin_functions.append(view_knowledge_file)
|
||||
if 'note' in knowledge_types:
|
||||
builtin_functions.append(view_note)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user