Skip to content

Commit 2d58f8f

Browse files
authored
chore: add SystemFingerprint for chat completion stream response (#716)
* chore: add SystemFingerprint for stream response * chore: add test * lint: format for test
1 parent 8d15a37 commit 2d58f8f

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

chat_stream.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ type ChatCompletionStreamResponse struct {
3030
Created int64 `json:"created"`
3131
Model string `json:"model"`
3232
Choices []ChatCompletionStreamChoice `json:"choices"`
33+
SystemFingerprint string `json:"system_fingerprint"`
3334
PromptAnnotations []PromptAnnotation `json:"prompt_annotations,omitempty"`
3435
PromptFilterResults []PromptFilterResult `json:"prompt_filter_results,omitempty"`
3536
}

chat_stream_test.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ func TestCreateChatCompletionStream(t *testing.T) {
4646
dataBytes := []byte{}
4747
dataBytes = append(dataBytes, []byte("event: message\n")...)
4848
//nolint:lll
49-
data := `{"id":"1","object":"completion","created":1598069254,"model":"gpt-3.5-turbo","choices":[{"index":0,"delta":{"content":"response1"},"finish_reason":"max_tokens"}]}`
49+
data := `{"id":"1","object":"completion","created":1598069254,"model":"gpt-3.5-turbo","system_fingerprint": "fp_d9767fc5b9","choices":[{"index":0,"delta":{"content":"response1"},"finish_reason":"max_tokens"}]}`
5050
dataBytes = append(dataBytes, []byte("data: "+data+"\n\n")...)
5151

5252
dataBytes = append(dataBytes, []byte("event: message\n")...)
5353
//nolint:lll
54-
data = `{"id":"2","object":"completion","created":1598069255,"model":"gpt-3.5-turbo","choices":[{"index":0,"delta":{"content":"response2"},"finish_reason":"max_tokens"}]}`
54+
data = `{"id":"2","object":"completion","created":1598069255,"model":"gpt-3.5-turbo","system_fingerprint": "fp_d9767fc5b9","choices":[{"index":0,"delta":{"content":"response2"},"finish_reason":"max_tokens"}]}`
5555
dataBytes = append(dataBytes, []byte("data: "+data+"\n\n")...)
5656

5757
dataBytes = append(dataBytes, []byte("event: done\n")...)
@@ -77,10 +77,11 @@ func TestCreateChatCompletionStream(t *testing.T) {
7777

7878
expectedResponses := []openai.ChatCompletionStreamResponse{
7979
{
80-
ID: "1",
81-
Object: "completion",
82-
Created: 1598069254,
83-
Model: openai.GPT3Dot5Turbo,
80+
ID: "1",
81+
Object: "completion",
82+
Created: 1598069254,
83+
Model: openai.GPT3Dot5Turbo,
84+
SystemFingerprint: "fp_d9767fc5b9",
8485
Choices: []openai.ChatCompletionStreamChoice{
8586
{
8687
Delta: openai.ChatCompletionStreamChoiceDelta{
@@ -91,10 +92,11 @@ func TestCreateChatCompletionStream(t *testing.T) {
9192
},
9293
},
9394
{
94-
ID: "2",
95-
Object: "completion",
96-
Created: 1598069255,
97-
Model: openai.GPT3Dot5Turbo,
95+
ID: "2",
96+
Object: "completion",
97+
Created: 1598069255,
98+
Model: openai.GPT3Dot5Turbo,
99+
SystemFingerprint: "fp_d9767fc5b9",
98100
Choices: []openai.ChatCompletionStreamChoice{
99101
{
100102
Delta: openai.ChatCompletionStreamChoiceDelta{

0 commit comments

Comments
 (0)