This commit is contained in:
Timothy Jaeryang Baek
2026-07-27 00:27:38 -04:00
parent 20647bd2d5
commit 57e60423b9
4 changed files with 349 additions and 47 deletions
+9 -4
View File
@@ -278,9 +278,9 @@ def get_citation_source_from_tool_result(
- document: list of document contents
- metadata: list of metadata objects with source, file_id, name fields
Returns a list of sources (usually one, but query_knowledge_files may return multiple).
Returns a list of sources (usually one, but query_knowledge_files/query_chat_files may return multiple).
"""
_EXPECTS_LIST = {'search_web', 'query_knowledge_files'}
_EXPECTS_LIST = {'search_web', 'query_knowledge_files', 'query_chat_files'}
_EXPECTS_DICT = {'view_knowledge_file', 'view_file'}
try:
@@ -369,7 +369,7 @@ def get_citation_source_from_tool_result(
}
]
elif tool_name == 'query_knowledge_files':
elif tool_name in ('query_knowledge_files', 'query_chat_files'):
chunks = tool_result
# Group chunks by source for better citation display
@@ -1565,7 +1565,11 @@ async def add_file_context(messages: list, chat_id: str, user) -> list:
stored_messages = get_message_list(history.get('messages', {}), history.get('currentId'))
def format_file_tag(file):
attrs = f'type="{file.get("type", "file")}" url="{file["url"]}"'
file_id = file.get('id') or file.get('url')
attrs = f'type="{file.get("type", "file")}"'
if file_id:
attrs += f' id="{file_id}"'
attrs += f' url="{file["url"]}"'
if file.get('content_type'):
attrs += f' content_type="{file["content_type"]}"'
if file.get('name'):
@@ -4892,6 +4896,7 @@ async def streaming_chat_response_handler(response, ctx):
'view_file',
'view_knowledge_file',
'query_knowledge_files',
'query_chat_files',
]
and tool_result
):