MCPcopy Create free account
hub / github.com/abetlen/llama-cpp-python / stream_sse_outputs

Function stream_sse_outputs

examples/server/server.py:15866–15909  ·  view source on GitHub ↗
(
        formatter: OpenAIFormatter,
        http_request: Request,
        stream: CompletionStream,
        cancel: Callable[[], None],
        *,
        initial_payloads: Iterable[BaseModel | Dict[str, Any]],
        chunk_payloads: Callable[[CompletionChunk], Iterable[Any]],
        done_payloads: Callable[
            [Optional[OpenAICompletion]], Iterable[BaseModel | Dict[str, Any]]
        ],
    )

Source from the content-addressed store, hash-verified

15864 disconnect_task.cancel()
15865
15866 async def stream_sse_outputs(
15867 formatter: OpenAIFormatter,
15868 http_request: Request,
15869 stream: CompletionStream,
15870 cancel: Callable[[], None],
15871 *,
15872 initial_payloads: Iterable[BaseModel | Dict[str, Any]],
15873 chunk_payloads: Callable[[CompletionChunk], Iterable[Any]],
15874 done_payloads: Callable[
15875 [Optional[OpenAICompletion]], Iterable[BaseModel | Dict[str, Any]]
15876 ],
15877 ) -> AsyncIterator[bytes]:
15878 disconnect_task = asyncio.create_task(
15879 watch_http_disconnect(http_request, cancel)
15880 )
15881 try:
15882 for payload in initial_payloads:
15883 yield formatter.encode_sse_payload(payload)
15884 while True:
15885 done, chunk, result = await asyncio.to_thread(
15886 formatter.next_stream_output,
15887 stream,
15888 )
15889 if done:
15890 for payload in done_payloads(result):
15891 yield formatter.encode_sse_payload(payload)
15892 break
15893 assert chunk is not None
15894 for payload in chunk_payloads(chunk):
15895 yield formatter.encode_sse_payload(payload)
15896 yield b"data: [DONE]\n\n"
15897 except asyncio.CancelledError:
15898 cancel()
15899 raise
15900 except BaseException as exc:
15901 cancel()
15902 if (
15903 isinstance(exc, CompletionRequestCancelledError)
15904 and await http_request.is_disconnected()
15905 ):
15906 return
15907 raise
15908 finally:
15909 disconnect_task.cancel()
15910
15911 async def stream_websocket_responses(
15912 websocket: WebSocket,

Callers 1

create_responseFunction · 0.85

Calls 3

watch_http_disconnectFunction · 0.85
encode_sse_payloadMethod · 0.80
cancelMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…