]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
server: add data: [DONE] to /chat/completions stream response (#9459)
authorVoidIsVoid <redacted>
Sat, 14 Sep 2024 09:36:44 +0000 (17:36 +0800)
committerGitHub <redacted>
Sat, 14 Sep 2024 09:36:44 +0000 (11:36 +0200)
examples/server/server.cpp
examples/server/tests/features/steps/steps.py

index 73cd6aae75e97c14da30d74d097528994dcae75a..14c4af3d928fee51411d927d0261e75e2413d498 100644 (file)
@@ -2993,6 +2993,8 @@ int main(int argc, char ** argv) {
                 }, [&](json error_data) {
                     server_sent_event(sink, "error", error_data);
                 });
+                static const std::string ev_done = "data: [DONE]\n\n";
+                sink.write(ev_done.data(), ev_done.size());
                 sink.done();
                 return true;
             };
index 11587dd64075a46c9e700b986a1c54633e2eefe3..0f4249b139e7dd7013e4cd631752dc88b2b040b1 100644 (file)
@@ -1020,6 +1020,8 @@ async def oai_chat_completions(user_prompt,
                             event_data = line.split(': ', 1)
                             assert event_data[0] == 'data', f'Bad event code received: ```{event_data}```'
                             chunk_raw = event_data[1]
+                            if chunk_raw == '[DONE]':
+                                break
 
                             chunk = json.loads(chunk_raw)
                             assert len(chunk['choices']) == 1, f"no choices provided, line ```{line}```"