From 7ac6d462ecb9a26591b5f7457bea32c1cd63541f Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Mon, 15 Jul 2024 17:39:44 -0700 Subject: [PATCH] server: return empty slice on empty `/api/embed` request (#5713) * server: return empty slice on empty `/api/embed` request * fix tests --- api/types.go | 2 +- server/routes_test.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/api/types.go b/api/types.go index 3b607cec..649860a1 100644 --- a/api/types.go +++ b/api/types.go @@ -206,7 +206,7 @@ type EmbedRequest struct { // EmbedResponse is the response from [Client.Embed]. type EmbedResponse struct { Model string `json:"model"` - Embeddings [][]float32 `json:"embeddings,omitempty"` + Embeddings [][]float32 `json:"embeddings"` } // EmbeddingRequest is the request passed to [Client.Embeddings]. diff --git a/server/routes_test.go b/server/routes_test.go index 70622e9b..97786ba2 100644 --- a/server/routes_test.go +++ b/server/routes_test.go @@ -306,8 +306,12 @@ func Test_Routes(t *testing.T) { t.Fatalf("expected model t-bone, got %s", embedResp.Model) } - if embedResp.Embeddings != nil { - t.Fatalf("expected embeddings to be nil, got %v", embedResp.Embeddings) + if embedResp.Embeddings == nil { + t.Fatalf("expected embeddings to not be nil, got %v", embedResp.Embeddings) + } + + if len(embedResp.Embeddings) != 0 { + t.Fatalf("expected embeddings to be empty, got %v", embedResp.Embeddings) } }, },