From 1d0ebe67e8754f2cdfc0b986f980a87f71a7efa5 Mon Sep 17 00:00:00 2001 From: Jay Nakrani <6269279+JayNakrani@users.noreply.github.com> Date: Sat, 30 Sep 2023 00:45:52 -0400 Subject: [PATCH] Document response stream chunk delimiter. (#632) Document response stream chunk delimiter. --- docs/api.md | 4 ++++ server/routes.go | 1 + 2 files changed, 5 insertions(+) diff --git a/docs/api.md b/docs/api.md index 65aefc25..7415101b 100644 --- a/docs/api.md +++ b/docs/api.md @@ -23,6 +23,10 @@ Model names follow a `model:tag` format. Some examples are `orca-mini:3b-q4_1` a All durations are returned in nanoseconds. +### Streaming responses + +Certain endpoints stream responses as JSON objects delineated with the newline (`\n`) character. + ## Generate a completion ```shell diff --git a/server/routes.go b/server/routes.go index 6ca7b428..c68011df 100644 --- a/server/routes.go +++ b/server/routes.go @@ -610,6 +610,7 @@ func streamResponse(c *gin.Context, ch chan any) { return false } + // Delineate chunks with new-line delimiter bts = append(bts, '\n') if _, err := w.Write(bts); err != nil { log.Printf("streamResponse: w.Write failed with %s", err)