nsmcp::ChatCompletionsBackend method streamData (public)

 <instance of nsmcp::ChatCompletionsBackend[i]> streamData key \
    fields

Defined in /usr/local/ns/tcl/nsmcp/question-chat-completions.tcl

Parameters:
key (required)
fields (required)

Testcases:
No testcase defined.
Source code:
ns_mutex lock ${:mutex}
try {
    if {[nsv_get ${:streamStore} $key record]} {
        set data [dict get $fields data]
        dict incr record total [string bytelength $data]
        if {[dict get $record total] > ${:maxResponseBytes}
            || [string bytelength [dict get $record data]] + [string bytelength $data] > 1048576} {
            dict set record error "API response exceeded its buffer or response size limit"
        } elseif {[dict get $record error] eq ""} {
            dict append record data $data
        }
        nsv_set ${:streamStore} $key $record
    }
} finally {ns_mutex unlock ${:mutex}}
# The request discards its normal output. Returning TCL_OK also works
# with cores whose queued callback evaluator does not propagate BREAK.
return
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: