b7793
server: /v1/responses (partial) (#18486)
from previous PR
Make instruction(system) as first message
Convert [input_message] (text/image/file)
Rename convert_responses_to_chatcmpl(body) -> response_body
Initial tool call support
Erase instructions field from chatcmpl body
Feed reasoning texts to chat template
Use std::vector instead of opaque json array
Make output_item.added events consistent
Move
server_task_result_cmpl_partial::updatefrom header to sourceMatch ID of output_item.added and .done events
Add function_call only if there is no "fc_" prefix
Add function call output at non-streaming API
Test if ID is persistent
Add doc
Fix style - use trailing comma
Rewrite state management
catch up with upstream/master
Fix style - "type" is the first item of SSE data
Explicitly check "instructions" from response_body
Make lambdas static
Check if reasoning content exists
Add
oai_resp_idto task_result_state(also initialized at ctor), server_task_result_cmpl_partial, and server_task_result_cmpl_finalReject
input_filesince it is not supported by chatcmplAdd "fc_" prefix to non-straming function call id as coderabbit pointed out
Co-authored-by: openingnow <>
macOS/iOS:
Linux:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.1 DLLs
- Windows x64 (Vulkan)
- Windows x64 (SYCL)
- Windows x64 (HIP)
openEuler: