diff --git a/README.md b/README.md index e37aa8a21..714d72098 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,40 @@ fmt.Println(result.Response.Content.Text()) 🍔 For the full implementation and more [see the examples directory](https://github.com/charmbracelet/fantasy/tree/main/examples). +## Embeddings + +Fantasy supports embeddings for OpenAI and OpenAI-compatible providers (e.g. OpenRouter, Azure, Together). +Providers that support embeddings implement `fantasy.EmbeddingProvider`. + +```go +provider, err := openai.New(openai.WithAPIKey(myHotKey)) +if err != nil { + fmt.Fprintln(os.Stderr, "Whoops:", err) + os.Exit(1) +} + +embedProvider, ok := provider.(fantasy.EmbeddingProvider) +if !ok { + fmt.Fprintln(os.Stderr, "Embeddings not supported by this provider") + os.Exit(1) +} + +embedModel, err := embedProvider.EmbeddingModel(ctx, "text-embedding-3-small") +if err != nil { + fmt.Fprintln(os.Stderr, "Dang:", err) + os.Exit(1) +} + +input := "hello embeddings" +embeds, err := embedModel.Embed(ctx, fantasy.EmbeddingCall{Inputs: []string{input}}) +if err != nil { + fmt.Fprintln(os.Stderr, "Oof:", err) + os.Exit(1) +} + +fmt.Println(len(embeds.Embeddings[0].Vector)) +``` + ## Multi-model? Multi-provider? Yeah! Fantasy is designed to support a wide variety of providers and models under a single API. While many providers such as Microsoft Azure, Amazon Bedrock, and OpenRouter have dedicated packages in Fantasy, many others work just fine with `openaicompat`, the generic OpenAI-compatible layer. That said, if you find a provider that’s not compatible and needs special treatment, please let us know in an issue (or open a PR). diff --git a/doc.go b/doc.go index 7d746c244..79d547444 100644 --- a/doc.go +++ b/doc.go @@ -1,2 +1,2 @@ -// Package fantasy provides a unified interface for interacting with various AI language models. +// Package fantasy provides a unified interface for interacting with various AI language and embedding models. package fantasy diff --git a/embedding.go b/embedding.go new file mode 100644 index 000000000..941e43a99 --- /dev/null +++ b/embedding.go @@ -0,0 +1,63 @@ +package fantasy + +import ( + "context" + "fmt" +) + +// EmbeddingProvider represents a provider that can create embedding models. +// This is separate from Provider to avoid breaking changes. +type EmbeddingProvider interface { + EmbeddingModel(ctx context.Context, modelID string) (EmbeddingModel, error) +} + +// EmbeddingModel represents a model that can generate embeddings. +type EmbeddingModel interface { + Embed(context.Context, EmbeddingCall) (*EmbeddingResponse, error) + + Provider() string + Model() string +} + +// EmbeddingCall represents a request to generate embeddings. +// Inputs must include at least one non-empty item. +type EmbeddingCall struct { + Inputs []string `json:"inputs,omitempty"` + Dimensions *int64 `json:"dimensions,omitempty"` + + ProviderOptions ProviderOptions `json:"provider_options,omitempty"` +} + +// Embedding represents a single embedding vector. +type Embedding struct { + Index int `json:"index"` + Vector []float32 `json:"vector"` +} + +// EmbeddingResponse represents the response from an embedding model. +type EmbeddingResponse struct { + Model string `json:"model"` + Usage Usage `json:"usage"` + Embeddings []Embedding `json:"embeddings"` +} + +// ValidateEmbeddingCall validates the embedding request parameters. +func ValidateEmbeddingCall(call EmbeddingCall) error { + if len(call.Inputs) == 0 { + return &Error{ + Title: "invalid argument", + Message: "embedding inputs are required", + } + } + + for i, input := range call.Inputs { + if input == "" { + return &Error{ + Title: "invalid argument", + Message: fmt.Sprintf("embedding inputs[%d] cannot be empty", i), + } + } + } + + return nil +} diff --git a/embedding_test.go b/embedding_test.go new file mode 100644 index 000000000..9d8c1f484 --- /dev/null +++ b/embedding_test.go @@ -0,0 +1,29 @@ +package fantasy + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestValidateEmbeddingCall(t *testing.T) { + t.Run("requires inputs", func(t *testing.T) { + err := ValidateEmbeddingCall(EmbeddingCall{}) + require.Error(t, err) + }) + + t.Run("rejects empty inputs", func(t *testing.T) { + err := ValidateEmbeddingCall(EmbeddingCall{Inputs: []string{""}}) + require.Error(t, err) + }) + + t.Run("accepts single input in inputs", func(t *testing.T) { + err := ValidateEmbeddingCall(EmbeddingCall{Inputs: []string{"hello"}}) + require.NoError(t, err) + }) + + t.Run("accepts batch inputs", func(t *testing.T) { + err := ValidateEmbeddingCall(EmbeddingCall{Inputs: []string{"a", "b"}}) + require.NoError(t, err) + }) +} diff --git a/provider.go b/provider.go index 4957419b0..5fb263260 100644 --- a/provider.go +++ b/provider.go @@ -5,6 +5,7 @@ import ( ) // Provider represents a provider of language models. +// Providers that support embeddings also implement EmbeddingProvider. type Provider interface { Name() string LanguageModel(ctx context.Context, modelID string) (LanguageModel, error) diff --git a/providers/azure/azure.go b/providers/azure/azure.go index 68adc2f7a..6517d7835 100644 --- a/providers/azure/azure.go +++ b/providers/azure/azure.go @@ -1,4 +1,4 @@ -// Package azure provides an implementation of the fantasy AI SDK for Azure's language models. +// Package azure provides an implementation of the fantasy AI SDK for Azure's language and embedding models. package azure import ( diff --git a/providers/openai/embedding_model.go b/providers/openai/embedding_model.go new file mode 100644 index 000000000..7ed194793 --- /dev/null +++ b/providers/openai/embedding_model.go @@ -0,0 +1,85 @@ +package openai + +import ( + "context" + + "charm.land/fantasy" + "github.com/openai/openai-go/v2" + "github.com/openai/openai-go/v2/packages/param" +) + +type embeddingModel struct { + provider string + modelID string + client openai.Client +} + +// Model implements fantasy.EmbeddingModel. +func (e embeddingModel) Model() string { + return e.modelID +} + +// Provider implements fantasy.EmbeddingModel. +func (e embeddingModel) Provider() string { + return e.provider +} + +// Embed implements fantasy.EmbeddingModel. +func (e embeddingModel) Embed(ctx context.Context, call fantasy.EmbeddingCall) (*fantasy.EmbeddingResponse, error) { + if err := fantasy.ValidateEmbeddingCall(call); err != nil { + return nil, err + } + + params := openai.EmbeddingNewParams{ + Model: e.modelID, + } + + if call.ProviderOptions != nil { + if v, ok := call.ProviderOptions[Name]; ok { + providerOptions, ok := v.(*ProviderOptions) + if !ok { + return nil, &fantasy.Error{Title: "invalid argument", Message: "openai provider options should be *openai.ProviderOptions"} + } + if providerOptions.User != nil { + params.User = param.NewOpt(*providerOptions.User) + } + } + } + + if call.Dimensions != nil { + params.Dimensions = param.NewOpt(*call.Dimensions) + } + + params.Input = openai.EmbeddingNewParamsInputUnion{ + OfArrayOfStrings: call.Inputs, + } + + response, err := e.client.Embeddings.New(ctx, params) + if err != nil { + return nil, toProviderErr(err) + } + + embeddings := make([]fantasy.Embedding, 0, len(response.Data)) + for _, embedding := range response.Data { + vector := make([]float32, len(embedding.Embedding)) + for i, value := range embedding.Embedding { + vector[i] = float32(value) + } + embeddings = append(embeddings, fantasy.Embedding{ + Index: int(embedding.Index), + Vector: vector, + }) + } + + usage := fantasy.Usage{ + InputTokens: response.Usage.PromptTokens, + TotalTokens: response.Usage.TotalTokens, + OutputTokens: 0, + } + + return &fantasy.EmbeddingResponse{ + Model: response.Model, + Usage: usage, + Embeddings: embeddings, + }, nil +} diff --git a/providers/openai/openai.go b/providers/openai/openai.go index 7ca74b9c7..1876fcd87 100644 --- a/providers/openai/openai.go +++ b/providers/openai/openai.go @@ -1,4 +1,4 @@ -// Package openai provides an implementation of the fantasy AI SDK for OpenAI's language models. +// Package openai provides an implementation of the fantasy AI SDK for OpenAI's language and embedding models. package openai import ( @@ -186,6 +186,37 @@ func (o *provider) LanguageModel(_ context.Context, modelID string) (fantasy.Lan ), nil } +// EmbeddingModel implements fantasy.EmbeddingProvider. +func (o *provider) EmbeddingModel(_ context.Context, modelID string) (fantasy.EmbeddingModel, error) { + openaiClientOptions := make([]option.RequestOption, 0, 5+len(o.options.headers)+len(o.options.sdkOptions)) + openaiClientOptions = append(openaiClientOptions, option.WithMaxRetries(0)) + + if o.options.apiKey != "" { + openaiClientOptions = append(openaiClientOptions, option.WithAPIKey(o.options.apiKey)) + } + if o.options.baseURL != "" { + openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(o.options.baseURL)) + } + + for key, value := range o.options.headers { + openaiClientOptions = append(openaiClientOptions, option.WithHeader(key, value)) + } + + if o.options.client != nil { + openaiClientOptions = append(openaiClientOptions, option.WithHTTPClient(o.options.client)) + } + + openaiClientOptions = append(openaiClientOptions, o.options.sdkOptions...) + + client := openai.NewClient(openaiClientOptions...) + + return embeddingModel{ + modelID: modelID, + provider: o.options.name, + client: client, + }, nil +} + func (o *provider) Name() string { return Name } diff --git a/providers/openai/openai_test.go b/providers/openai/openai_test.go index adc1cf2e8..be2ebfb37 100644 --- a/providers/openai/openai_test.go +++ b/providers/openai/openai_test.go @@ -3247,3 +3247,58 @@ func TestResponsesToPrompt_DropsEmptyMessages(t *testing.T) { require.Empty(t, warnings) }) } + +func TestOpenAIEmbeddings(t *testing.T) { + server := newMockServer() + defer server.close() + + server.response = map[string]any{ + "object": "list", + "model": "text-embedding-3-small", + "data": []map[string]any{ + { + "object": "embedding", + "index": 0, + "embedding": []float64{0.1, -0.2}, + }, + }, + "usage": map[string]any{ + "prompt_tokens": 5, + "total_tokens": 5, + }, + } + + provider, err := New(WithBaseURL(server.server.URL)) + require.NoError(t, err) + + embeddingProvider, ok := provider.(fantasy.EmbeddingProvider) + require.True(t, ok) + + model, err := embeddingProvider.EmbeddingModel(t.Context(), "text-embedding-3-small") + require.NoError(t, err) + require.Equal(t, "text-embedding-3-small", model.Model()) + require.Equal(t, Name, model.Provider()) + + dims := int64(2) + user := "alice" + response, err := model.Embed(t.Context(), fantasy.EmbeddingCall{ + Inputs: []string{"hello"}, + Dimensions: &dims, + ProviderOptions: NewProviderOptions(&ProviderOptions{ + User: fantasy.Opt(user), + }), + }) + require.NoError(t, err) + require.Len(t, response.Embeddings, 1) + require.Equal(t, []float32{0.1, -0.2}, response.Embeddings[0].Vector) + require.Equal(t, int64(5), response.Usage.InputTokens) + require.Equal(t, int64(5), response.Usage.TotalTokens) + + require.Len(t, server.calls, 1) + call := server.calls[0] + require.Equal(t, "/embeddings", call.path) + require.Equal(t, "text-embedding-3-small", call.body["model"]) + require.Equal(t, []any{"hello"}, call.body["input"]) + require.Equal(t, float64(2), call.body["dimensions"]) + require.Equal(t, "alice", call.body["user"]) +} diff --git a/providers/openaicompat/openaicompat.go b/providers/openaicompat/openaicompat.go index 3595a6e42..38affe25b 100644 --- a/providers/openaicompat/openaicompat.go +++ b/providers/openaicompat/openaicompat.go @@ -1,4 +1,4 @@ -// Package openaicompat provides an implementation of the fantasy AI SDK for OpenAI-compatible APIs. +// Package openaicompat provides an implementation of the fantasy AI SDK for OpenAI-compatible language and embedding APIs. package openaicompat import ( diff --git a/providers/openrouter/openrouter.go b/providers/openrouter/openrouter.go index bd0e700af..17ee82ccd 100644 --- a/providers/openrouter/openrouter.go +++ b/providers/openrouter/openrouter.go @@ -1,4 +1,4 @@ -// Package openrouter provides an implementation of the fantasy AI SDK for OpenRouter's language models. +// Package openrouter provides an implementation of the fantasy AI SDK for OpenRouter's language and embedding models. package openrouter import ( diff --git a/providertests/embeddings_test.go b/providertests/embeddings_test.go new file mode 100644 index 000000000..ad6be9910 --- /dev/null +++ b/providertests/embeddings_test.go @@ -0,0 +1,118 @@ +package providertests + +import ( + "fmt" + "net/http" + "os" + "testing" + + "charm.land/fantasy" + "charm.land/fantasy/providers/openai" + "charm.land/x/vcr" + "github.com/stretchr/testify/require" +) + +type embeddingBuilderFunc func(t *testing.T, r *vcr.Recorder) (fantasy.EmbeddingModel, error) + +func openAIEmbeddingBuilder(modelID string) embeddingBuilderFunc { + return func(t *testing.T, r *vcr.Recorder) (fantasy.EmbeddingModel, error) { + baseURL := "https://api.synthetic.new/openai/v1" + if os.Getenv("FANTASY_BASE_URL") != "" { + baseURL = os.Getenv("FANTASY_BASE_URL") + } + + apiKey := os.Getenv("FANTASY_OPENAI_API_KEY") + if os.Getenv("FANTASY_API_KEY") != "" { + apiKey = os.Getenv("FANTASY_API_KEY") + } + + provider, err := openai.New( + openai.WithBaseURL(baseURL), + openai.WithAPIKey(apiKey), + openai.WithHTTPClient(&http.Client{Transport: r}), + ) + if err != nil { + return nil, err + } + + embeddingProvider, ok := provider.(fantasy.EmbeddingProvider) + if !ok { + return nil, fmt.Errorf("provider %q does not support embeddings", provider.Name()) + } + + return embeddingProvider.EmbeddingModel(t.Context(), modelID) + } +} + +func embeddingModelID() string { + if os.Getenv("FANTASY_EMBEDDING_MODEL") != "" { + return os.Getenv("FANTASY_EMBEDDING_MODEL") + } + return "hf:nomic-ai/nomic-embed-text-v1.5" +} + +func TestOpenAIEmbeddings(t *testing.T) { + builder := openAIEmbeddingBuilder(embeddingModelID()) + + t.Run("single input", func(t *testing.T) { + r := vcr.NewRecorder(t) + + model, err := builder(t, r) + require.NoError(t, err) + + response, err := model.Embed(t.Context(), fantasy.EmbeddingCall{ + Inputs: []string{"The quick brown fox"}, + }) + require.NoError(t, err) + require.NotNil(t, response) + require.Equal(t, embeddingModelID(), response.Model) + require.Len(t, response.Embeddings, 1) + require.Equal(t, 0, response.Embeddings[0].Index) + require.NotEmpty(t, response.Embeddings[0].Vector) + }) + + t.Run("batch input", func(t *testing.T) { + r := vcr.NewRecorder(t) + + model, err := builder(t, r) + require.NoError(t, err) + + response, err := model.Embed(t.Context(), fantasy.EmbeddingCall{ + Inputs: []string{ + "The quick brown fox", + "Pack my box with five dozen liquor jugs", + "How vexingly quick daft zebras jump", + }, + }) + require.NoError(t, err) + require.NotNil(t, response) + require.Equal(t, embeddingModelID(), response.Model) + require.Len(t, response.Embeddings, 3) + for i, embedding := range response.Embeddings { + require.Equal(t, i, embedding.Index) + require.NotEmpty(t, embedding.Vector) + } + }) +} + +func TestOpenAIEmbeddingsWithDimensions(t *testing.T) { + builder := openAIEmbeddingBuilder(embeddingModelID()) + + t.Run("with dimensions", func(t *testing.T) { + r := vcr.NewRecorder(t) + + model, err := builder(t, r) + require.NoError(t, err) + + dimensions := int64(256) + response, err := model.Embed(t.Context(), fantasy.EmbeddingCall{ + Inputs: []string{"The quick brown fox"}, + Dimensions: &dimensions, + }) + require.NoError(t, err) + require.NotNil(t, response) + require.Equal(t, embeddingModelID(), response.Model) + require.Len(t, response.Embeddings, 1) + require.Equal(t, 256, len(response.Embeddings[0].Vector)) + }) +} diff --git a/providertests/testdata/TestOpenAIEmbeddings/batch_input.yaml b/providertests/testdata/TestOpenAIEmbeddings/batch_input.yaml new file mode 100644 index 000000000..81369091f --- /dev/null +++ b/providertests/testdata/TestOpenAIEmbeddings/batch_input.yaml @@ -0,0 +1,32 @@ +--- +version: 2 +interactions: +- id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 157 + host: "" + body: '{"input":["The quick brown fox","Pack my box with five dozen liquor jugs","How vexingly quick daft zebras jump"],"model":"hf:nomic-ai/nomic-embed-text-v1.5"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAI/Go 2.7.1 + url: https://api.synthetic.new/openai/v1/embeddings + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + content_length: -1 + body: '{"object":"list","data":[{"object":"embedding","index":0,"embedding":[-0.04443359375,0.01015472412109375,-0.131103515625,-0.003826141357421875,-0.001033782958984375,0.002689361572265625,-0.0272369384765625,-0.0247802734375,0.056976318359375,-0.045928955078125,-0.004886627197265625,0.061309814453125,0.040802001953125,-0.01190185546875,0.011932373046875,-0.032318115234375,0.07135009765625,-0.055511474609375,0.08258056640625,-0.0044097900390625,0.0057525634765625,0.048828125,0.034759521484375,-0.0162811279296875,0.1094970703125,0.026641845703125,-0.0361328125,0.031585693359375,-0.0189056396484375,0.0699462890625,0.04058837890625,-0.01088714599609375,-0.047943115234375,-0.045867919921875,-0.00826263427734375,-0.08740234375,0.04119873046875,-0.019134521484375,0.0309906005859375,0.0313720703125,-0.00153350830078125,0.03582763671875,0.01535797119140625,-0.072021484375,0.07568359375,-0.033050537109375,0.03271484375,0.026763916015625,-0.012664794921875,-0.015289306640625,-0.02630615234375,0.04803466796875,-0.023223876953125,-0.06378173828125,0.03302001953125,0.07513427734375,-0.0274200439453125,-0.0199127197265625,-0.0281829833984375,0.02508544921875,0.02203369140625,0.0176239013671875,-0.058685302734375,0.0214385986328125,-0.0013751983642578125,-0.04150390625,0.051300048828125,0.0190582275390625,-0.0240478515625,-0.03076171875,0.012359619140625,-0.03656005859375,0.006534576416015625,0.0246429443359375,-0.04443359375,-0.02557373046875,-0.0195159912109375,0.01381683349609375,-0.0189971923828125,0.030517578125,0.048828125,-0.0235748291015625,0.0129547119140625,0.00775146484375,0.01261138916015625,0.002567291259765625,-0.01398468017578125,0.050140380859375,0.0158843994140625,0.0233154296875,0.037567138671875,-0.0028743743896484375,-0.0257720947265625,0.032073974609375,-0.05255126953125,0.0268402099609375,-0.0080413818359375,0.06597900390625,-0.052734375,-0.0618896484375,-0.04425048828125,-0.0024662017822265625,0.00432586669921875,-0.0295562744140625,-0.0055694580078125,0.047607421875,-0.0217437744140625,0.03363037109375,-0.00518798828125,0.019989013671875,-0.046142578125,-0.014617919921875,-0.00669097900390625,-0.03253173828125,0.0221099853515625,-0.0300750732421875,0.03326416015625,-0.0714111328125,0.0128936767578125,0.0543212890625,-0.0260162353515625,0.00870513916015625,0.027496337890625,-0.0034961700439453125,0.01047515869140625,0.036712646484375,-0.0233154296875,0.042938232421875,-0.00170135498046875,-0.00429534912109375,0.0203399658203125,-0.022918701171875,-0.024505615234375,-0.032196044921875,0.03460693359375,0.00649261474609375,-0.01617431640625,0.0083465576171875,0.0212249755859375,0.025848388671875,0.0278167724609375,0.060882568359375,0.029998779296875,-0.0179443359375,-0.058624267578125,-0.05426025390625,0.0286712646484375,-0.0460205078125,0.007335662841796875,0.0220947265625,0.0003826618194580078,0.00392913818359375,-0.03564453125,-0.0004413127899169922,0.0037860870361328125,-0.0085906982421875,0.03277587890625,0.0169525146484375,0.00441741943359375,-0.0095062255859375,0.032440185546875,-0.04925537109375,-0.01096343994140625,0.0335693359375,-0.057220458984375,-0.007701873779296875,0.045135498046875,-0.017913818359375,0.034759521484375,0.05938720703125,-0.0225982666015625,-0.0214385986328125,0.0015583038330078125,-0.0017938613891601562,-0.041015625,-0.030975341796875,0.064453125,-0.0703125,-0.03570556640625,-0.0181427001953125,0.023223876953125,0.00988006591796875,0.01483917236328125,0.041778564453125,0.004283905029296875,-0.036865234375,-0.0102081298828125,-0.001567840576171875,-0.03436279296875,-0.035552978515625,-0.0102996826171875,0.0277557373046875,-0.047149658203125,-0.07305908203125,-0.040313720703125,-0.022216796875,0.0274200439453125,0.04425048828125,0.04541015625,-0.010833740234375,0.0015611648559570312,-0.035888671875,-0.05523681640625,0.01328277587890625,-0.0128326416015625,0.0030384063720703125,-0.046112060546875,0.040069580078125,-0.002490997314453125,0.01190948486328125,0.09368896484375,-0.011810302734375,-0.08148193359375,0.041900634765625,0.00896453857421875,0.01421356201171875,-0.06353759765625,0.045806884765625,-0.06658935546875,0.01280975341796875,0.074951171875,0.0408935546875,-0.0465087890625,-0.0616455078125,0.00473785400390625,0.01358795166015625,-0.03045654296875,-0.041961669921875,-0.04022216796875,0.034393310546875,-0.0184478759765625,-0.037567138671875,0.02911376953125,0.0177154541015625,0.01537322998046875,0.0474853515625,0.058868408203125,0.0516357421875,0.01995849609375,0.0017461776733398438,-0.031585693359375,0.024871826171875,-0.02783203125,0.040069580078125,-0.0615234375,0.0171966552734375,0.00896453857421875,-0.049652099609375,0.027496337890625,0.0162811279296875,-0.035186767578125,-0.0307769775390625,0.051849365234375,-0.0151824951171875,0.040740966796875,-0.048065185546875,-0.0106964111328125,-0.0306854248046875,-0.052032470703125,-0.0657958984375,0.004180908203125,-0.0023860931396484375,0.030609130859375,-0.034576416015625,-0.013214111328125,-0.04986572265625,0.004116058349609375,-0.007640838623046875,0.00846099853515625,-0.01248931884765625,-0.0010175704956054688,0.014892578125,-0.0113525390625,-0.005001068115234375,-0.0158233642578125,-0.002506256103515625,-0.01435089111328125,-0.0298919677734375,-0.02490234375,0.0294189453125,0.009796142578125,-0.007686614990234375,-0.004123687744140625,-0.0010223388671875,-0.0129241943359375,0.005672454833984375,0.04119873046875,0.042877197265625,-0.0188140869140625,-0.0250244140625,-0.0271759033203125,0.054656982421875,-0.01049041748046875,0.086181640625,0.00563812255859375,0.01100921630859375,0.054718017578125,-0.0059814453125,0.055419921875,0.03521728515625,0.06610107421875,-0.034698486328125,-0.016937255859375,0.00919342041015625,0.043243408203125,-0.076171875,0.0797119140625,0.0305938720703125,0.01503753662109375,-0.06280517578125,-0.00359344482421875,0.0567626953125,-0.0740966796875,-0.003955841064453125,-0.0499267578125,-0.029754638671875,-0.0009317398071289062,0.019073486328125,0.0762939453125,-0.0194854736328125,0.023406982421875,-0.0294189453125,-0.04693603515625,-0.045867919921875,-0.0247802734375,0.022369384765625,-0.0201416015625,0.062347412109375,0.042449951171875,-0.0286712646484375,0.051025390625,0.06884765625,-0.0112457275390625,-0.005245208740234375,-0.037445068359375,0.032989501953125,0.01502227783203125,0.04583740234375,-0.0233612060546875,0.06976318359375,0.031890869140625,-0.0277557373046875,0.01148223876953125,-0.043701171875,-0.024993896484375,-0.0232696533203125,-0.0031566619873046875,-0.0030956268310546875,0.0008459091186523438,-0.03564453125,-0.0341796875,0.01326751708984375,-0.0298919677734375,0.03326416015625,-0.023040771484375,0.01045989990234375,-0.0263519287109375,-0.0138702392578125,0.0168609619140625,0.005306243896484375,0.0191650390625,-0.0186767578125,0.012359619140625,0.0546875,0.024383544921875,0.013397216796875,-0.0105438232421875,0.003330230712890625,0.06365966796875,0.036529541015625,-0.02783203125,0.01325225830078125,0.044952392578125,0.00783538818359375,0.01459503173828125,0.025177001953125,-0.04766845703125,-0.052886962890625,-0.004703521728515625,-0.043487548828125,-0.006809234619140625,-0.004085540771484375,0.01273345947265625,0.049346923828125,0.03570556640625,0.0021800994873046875,-0.005184173583984375,-0.047882080078125,0.033660888671875,0.05706787109375,-0.039703369140625,-0.0628662109375,-0.062042236328125,-0.016937255859375,0.0306396484375,0.047119140625,0.036773681640625,-0.04736328125,-0.0110626220703125,0.038909912109375,-0.068115234375,-0.03607177734375,-0.0253143310546875,-0.01279449462890625,-0.059234619140625,0.0640869140625,-0.0177764892578125,-0.08868408203125,-0.0120697021484375,-0.0243988037109375,-0.0257720947265625,0.04498291015625,-0.004764556884765625,-0.0138702392578125,-0.091796875,0.045166015625,0.01401519775390625,-0.0007486343383789062,-0.035308837890625,0.0116119384765625,0.050872802734375,-0.0021686553955078125,-0.03704833984375,-0.04718017578125,-0.03369140625,-0.019378662109375,0.05810546875,0.0517578125,0.01047515869140625,-0.0467529296875,0.0281982421875,0.04632568359375,0.036468505859375,-0.00970458984375,0.005214691162109375,0.0195770263671875,-0.065185546875,0.03997802734375,0.02178955078125,0.07440185546875,-0.0019741058349609375,-0.0064697265625,-0.0031452178955078125,-0.0018987655639648438,-0.00986480712890625,0.04638671875,0.08221435546875,-0.020660400390625,-0.017364501953125,0.037261962890625,0.050811767578125,0.08428955078125,-0.028961181640625,0.046844482421875,0.051177978515625,0.00740814208984375,-0.097900390625,-0.005397796630859375,0.01403045654296875,0.0389404296875,0.077880859375,0.0341796875,-0.037628173828125,0.006244659423828125,0.04022216796875,-0.022613525390625,-0.0017871856689453125,0.039215087890625,-0.003406524658203125,0.00839996337890625,-0.0338134765625,-0.0009450912475585938,0.0247802734375,0.002979278564453125,-0.0252532958984375,-0.003864288330078125,-0.037445068359375,0.0232391357421875,0.037933349609375,0.03656005859375,0.0101318359375,-0.03436279296875,-0.040069580078125,-0.05316162109375,0.008575439453125,0.042877197265625,0.054473876953125,-0.0055694580078125,0.037384033203125,-0.034576416015625,0.0303497314453125,0.07440185546875,0.0201568603515625,-0.02313232421875,0.00839996337890625,-0.027252197265625,0.0178375244140625,-0.006359100341796875,-0.052276611328125,0.017852783203125,0.0308380126953125,0.06109619140625,-0.047454833984375,0.021026611328125,0.0687255859375,0.0082550048828125,0.015533447265625,-0.07830810546875,-0.01055145263671875,0.06658935546875,-0.04364013671875,0.005748748779296875,0.047119140625,-0.045440673828125,0.0304412841796875,-0.0120697021484375,0.027679443359375,-0.011993408203125,-0.02850341796875,0.0020236968994140625,0.002513885498046875,-0.0278167724609375,-0.0635986328125,-0.004886627197265625,-0.01190948486328125,0.005657196044921875,-0.0228271484375,-0.023040771484375,0.01837158203125,-0.0279541015625,0.007602691650390625,-0.0146331787109375,-0.028839111328125,-0.006496429443359375,-0.0020351409912109375,0.016571044921875,-0.032928466796875,0.046478271484375,-0.0389404296875,-0.00533294677734375,0.003978729248046875,0.02630615234375,-0.0103912353515625,-0.03631591796875,-0.0004189014434814453,-0.00672149658203125,-0.0025787353515625,0.0318603515625,-0.04046630859375,-0.0355224609375,0.04296875,-0.045562744140625,-0.0833740234375,-0.032684326171875,0.038330078125,-0.040771484375,-0.00015914440155029297,0.0240936279296875,-0.01117706298828125,-0.022613525390625,0.020263671875,0.026336669921875,0.01213836669921875,0.0008296966552734375,0.00013911724090576172,-0.023590087890625,0.0065460205078125,0.055389404296875,0.00730133056640625,-0.0131378173828125,0.01015472412109375,-0.006244659423828125,-0.01363372802734375,-0.00884246826171875,0.00555419921875,-0.0186614990234375,0.02838134765625,0.03692626953125,-0.058624267578125,-0.0179595947265625,0.0150146484375,-0.01390838623046875,-0.06829833984375,0.0755615234375,-0.0263824462890625,0.0058441162109375,-0.025726318359375,0.0003819465637207031,0.06317138671875,-0.07879638671875,0.0007996559143066406,0.0227813720703125,-0.0246124267578125,-0.041595458984375,0.0033168792724609375,-0.0265045166015625,-0.07574462890625,-0.0294189453125,-0.0157623291015625,-0.038482666015625,-0.009521484375,-0.0408935546875,0.0894775390625,-0.058563232421875,-0.00936126708984375,0.0246429443359375,-0.0205078125,-0.0018720626831054688,-0.004169464111328125,-0.01410675048828125,0.0059051513671875,0.025299072265625,0.0406494140625,-0.0131072998046875,-0.0002315044403076172,0.019744873046875,0.0455322265625,-0.01727294921875,-0.00201416015625,-0.031829833984375,-0.0338134765625,-0.06683349609375,0.017578125,-0.0731201171875,0.07830810546875,0.004669189453125,-0.026275634765625,-0.06829833984375,-0.002498626708984375,-0.01401519775390625,-0.0003294944763183594,0.0131378173828125,-0.04205322265625,-0.047515869140625,-0.001163482666015625,-0.01983642578125,-0.048492431640625,0.026214599609375,-0.007404327392578125,0.06640625,0.07049560546875,-0.01800537109375,-0.04144287109375,0.00524139404296875,0.026824951171875,0.01502227783203125,0.005069732666015625,0.00035071372985839844,0.062255859375,-0.045318603515625,0.033905029296875,0.07757568359375,0.03607177734375,-0.0068511962890625,0.0250091552734375,-0.0267181396484375,0.062347412109375,-0.05322265625,-0.02899169921875,-0.0067901611328125,0.004283905029296875,-0.00322723388671875,-0.02630615234375,0.01174163818359375,0.036468505859375,-0.0338134765625,0.034332275390625,-0.01812744140625,-0.05609130859375,0.00516510009765625,0.01152801513671875,-0.0236968994140625,0.02105712890625,-0.00005340576171875,0.01971435546875,0.054595947265625,-0.028076171875,0.060699462890625,0.0224609375,-0.014068603515625,-0.01116943359375,-0.054534912109375,0.0430908203125,-0.0190277099609375,-0.08538818359375,0.01174163818359375,0.00970458984375,-0.0228271484375,0.0257720947265625,-0.037109375,-0.00388336181640625,0.0254364013671875,0.0538330078125,-0.02099609375,-0.00011521577835083008,-0.01027679443359375,-0.03924560546875,-0.0013475418090820312,-0.027587890625,0.03643798828125,0.00994110107421875,0.044189453125,0.0307159423828125,0.01255035400390625,-0.00646209716796875,-0.052978515625,0.02191162109375,0.024169921875,-0.01378631591796875,-0.0267181396484375,0.021026611328125,-0.00017273426055908203,-0.01390838623046875,0.034027099609375,0.0040435791015625,-0.016448974609375,0.019775390625,0.0133514404296875,-0.0274658203125,0.0143585205078125,0.082763671875,0.0001552104949951172,-0.040313720703125,-0.0034275054931640625,-0.0457763671875,0.03631591796875,0.031890869140625,-0.054718017578125,0.0230712890625,-0.0308837890625,-0.0032558441162109375,-0.039031982421875,-0.044525146484375,0.0215301513671875,0.00624847412109375,-0.008758544921875,-0.06622314453125,0.025482177734375,-0.05084228515625,0.052886962890625,-0.0086517333984375,-0.03607177734375,0.051025390625,0.08819580078125,-0.0095672607421875,-0.0027599334716796875,0.0151214599609375,0.0665283203125,0.034423828125,0.012664794921875,-0.00860595703125,0.03546142578125,-0.0283203125,0.004291534423828125,-0.01049041748046875,0.02105712890625,-0.00202178955078125,0.036956787109375,0.007781982421875,0.0015401840209960938,0.0294036865234375,-0.01364898681640625,-0.0015239715576171875,-0.0156402587890625,-0.023651123046875,-0.05523681640625,-0.049072265625,0.004550933837890625]},{"object":"embedding","index":1,"embedding":[-0.0626220703125,0.054718017578125,-0.1668701171875,-0.06390380859375,-0.002239227294921875,-0.068115234375,-0.05560302734375,0.028839111328125,-0.0158233642578125,-0.04022216796875,-0.07861328125,-0.05108642578125,0.0189971923828125,0.0276336669921875,-0.01055145263671875,-0.048126220703125,-0.01232147216796875,-0.08648681640625,0.0144805908203125,0.018157958984375,-0.039306640625,-0.046051025390625,-0.03009033203125,-0.04644775390625,0.0258636474609375,-0.0005946159362792969,0.0286407470703125,0.0236968994140625,-0.04425048828125,0.044708251953125,0.005977630615234375,-0.0218048095703125,-0.0225372314453125,-0.0228271484375,-0.0489501953125,-0.032073974609375,0.060394287109375,-0.0020084381103515625,0.059478759765625,0.016448974609375,0.037628173828125,0.017425537109375,0.0196075439453125,-0.04571533203125,-0.006534576416015625,0.0231781005859375,0.0941162109375,-0.0281219482421875,0.04180908203125,0.026031494140625,-0.001918792724609375,-0.035919189453125,-0.100830078125,0.03411865234375,0.02984619140625,0.0136871337890625,-0.016998291015625,-0.038055419921875,0.017913818359375,0.0294036865234375,0.105224609375,-0.027618408203125,-0.060760498046875,0.10101318359375,0.000010013580322265625,0.023345947265625,-0.0165863037109375,0.035400390625,0.02911376953125,-0.034423828125,0.0611572265625,-0.040435791015625,0.058135986328125,-0.00405120849609375,-0.02935791015625,0.079345703125,-0.00621795654296875,0.073486328125,-0.0203399658203125,-0.03851318359375,0.07440185546875,-0.06060791015625,0.07177734375,-0.026214599609375,0.0243988037109375,-0.036865234375,0.0361328125,0.005462646484375,-0.06048583984375,0.026580810546875,0.04730224609375,-0.0023403167724609375,0.004222869873046875,0.021942138671875,-0.004055023193359375,0.030914306640625,-0.01904296875,0.03509521484375,0.00704193115234375,-0.01288604736328125,-0.00678253173828125,-0.046295166015625,-0.00998687744140625,-0.0016546249389648438,0.05816650390625,-0.002849578857421875,-0.02691650390625,0.050628662109375,-0.00395965576171875,0.016845703125,-0.0576171875,0.01197052001953125,-0.0236053466796875,-0.036773681640625,0.01442718505859375,-0.01477813720703125,0.0281982421875,-0.0230560302734375,-0.03436279296875,0.00980377197265625,0.029052734375,-0.005245208740234375,0.0085296630859375,-0.027557373046875,0.021942138671875,-0.01448822021484375,-0.013458251953125,-0.002105712890625,-0.0126495361328125,-0.00804901123046875,-0.003238677978515625,-0.037994384765625,-0.0302886962890625,-0.007373809814453125,0.0220184326171875,0.0261383056640625,-0.06561279296875,-0.006908416748046875,0.02734375,-0.007373809814453125,0.0611572265625,0.020782470703125,-0.003665924072265625,-0.0040435791015625,-0.0125579833984375,-0.03179931640625,0.0186614990234375,-0.06988525390625,-0.06732177734375,-0.0234222412109375,-0.00923919677734375,0.031402587890625,0.0093536376953125,0.00418853759765625,0.0091705322265625,-0.028533935546875,0.01763916015625,-0.0094451904296875,0.0277557373046875,-0.01161956787109375,0.010101318359375,0.002532958984375,-0.048187255859375,0.052001953125,-0.0013141632080078125,-0.016998291015625,-0.007602691650390625,0.045440673828125,0.032135009765625,0.059478759765625,-0.08770751953125,-0.029541015625,-0.01393890380859375,-0.0032558441162109375,0.023040771484375,-0.022613525390625,0.0321044921875,-0.0193023681640625,0.004146575927734375,0.0028324127197265625,0.0523681640625,-0.042572021484375,-0.01873779296875,0.0017871856689453125,-0.01486968994140625,-0.0026836395263671875,-0.01413726806640625,-0.040802001953125,0.0003104209899902344,-0.0223388671875,0.0701904296875,0.0491943359375,-0.0552978515625,-0.029998779296875,-0.005443572998046875,-0.01934814453125,-0.0017766952514648438,0.001026153564453125,-0.045989990234375,-0.0231475830078125,-0.045318603515625,-0.0251312255859375,-0.0299224853515625,0.0091094970703125,-0.0306549072265625,0.08929443359375,-0.063720703125,0.035736083984375,0.035919189453125,0.01416015625,0.039886474609375,-0.00788116455078125,0.0116119384765625,-0.0274505615234375,0.0232696533203125,-0.01161956787109375,0.02410888671875,0.0287628173828125,0.03521728515625,0.03863525390625,-0.0147705078125,0.059478759765625,0.0003457069396972656,-0.0214080810546875,0.0220184326171875,-0.02752685546875,0.037261962890625,0.0104217529296875,0.014373779296875,-0.060882568359375,0.051513671875,-0.052032470703125,0.0784912109375,0.02337646484375,-0.0204010009765625,0.019775390625,-0.046051025390625,0.0251617431640625,-0.01324462890625,-0.0166778564453125,-0.039520263671875,0.0211944580078125,-0.0224761962890625,-0.016510009765625,-0.0233154296875,0.03558349609375,-0.01366424560546875,-0.03314208984375,-0.04034423828125,0.0621337890625,-0.0164947509765625,0.04364013671875,0.0105133056640625,0.038299560546875,0.01849365234375,0.0224456787109375,-0.041961669921875,0.0264434814453125,0.0015020370483398438,-0.00891876220703125,0.0285491943359375,-0.09527587890625,-0.01165008544921875,-0.08746337890625,-0.015228271484375,-0.10174560546875,-0.01007843017578125,0.0306396484375,0.027069091796875,-0.007534027099609375,0.060455322265625,-0.030914306640625,0.0841064453125,0.007053375244140625,0.0256195068359375,0.06976318359375,-0.02313232421875,0.0110626220703125,-0.0653076171875,0.005321502685546875,-0.00482940673828125,-0.03668212890625,-0.06689453125,-0.01084136962890625,-0.01213836669921875,0.01561737060546875,0.076171875,0.012542724609375,0.0631103515625,-0.00823211669921875,0.03424072265625,0.06573486328125,-0.05096435546875,0.0372314453125,0.01309967041015625,0.01666259765625,0.048370361328125,-0.0013875961303710938,-0.030487060546875,0.00534820556640625,-0.0186614990234375,0.0130767822265625,0.0576171875,0.003963470458984375,-0.0269622802734375,0.0114288330078125,0.0078582763671875,-0.00470733642578125,0.012542724609375,-0.0401611328125,-0.04736328125,0.03192138671875,-0.0191497802734375,0.0963134765625,-0.07891845703125,0.01410675048828125,0.08001708984375,0.029296875,0.07470703125,-0.039642333984375,0.0263519287109375,0.0259246826171875,0.02349853515625,-0.04046630859375,0.01561737060546875,0.0135040283203125,-0.01189422607421875,0.039520263671875,0.0289459228515625,0.033966064453125,0.02630615234375,0.0440673828125,0.01666259765625,-0.023193359375,-0.046356201171875,-0.0008649826049804688,-0.0284271240234375,-0.01451873779296875,0.00469970703125,0.07354736328125,0.01384735107421875,0.0200042724609375,0.00008302927017211914,-0.0269622802734375,-0.03472900390625,0.01409912109375,0.0100860595703125,0.0260162353515625,0.05474853515625,0.022247314453125,-0.0634765625,-0.02191162109375,-0.0224761962890625,-0.0308074951171875,0.0303192138671875,-0.035552978515625,-0.006591796875,0.03253173828125,0.0755615234375,0.01090240478515625,-0.036285400390625,0.06695556640625,0.0284881591796875,0.0260772705078125,0.029632568359375,0.045013427734375,0.024078369140625,-0.016204833984375,0.04150390625,0.0211944580078125,-0.035186767578125,-0.045928955078125,-0.031005859375,-0.015777587890625,0.0025768280029296875,-0.0210723876953125,-0.050140380859375,-0.0295867919921875,-0.0421142578125,0.0006351470947265625,0.042572021484375,-0.0142059326171875,-0.04608154296875,-0.024627685546875,-0.06268310546875,0.03515625,-0.00890350341796875,-0.03009033203125,0.010223388671875,0.01454925537109375,-0.010040283203125,0.009613037109375,-0.0258941650390625,0.00726318359375,-0.0029468536376953125,0.004512786865234375,0.02996826171875,-0.0150146484375,-0.043365478515625,0.0372314453125,0.00531005859375,-0.0252532958984375,-0.0234222412109375,-0.05096435546875,0.0280303955078125,0.058258056640625,-0.017608642578125,0.00540924072265625,0.0810546875,-0.0276031494140625,0.0011377334594726562,0.049102783203125,-0.0333251953125,-0.006870269775390625,0.0016298294067382812,0.040924072265625,0.05999755859375,-0.0022125244140625,-0.0217437744140625,-0.01099395751953125,0.07843017578125,0.0289459228515625,-0.0272369384765625,0.01477813720703125,-0.046844482421875,-0.0189361572265625,-0.006587982177734375,-0.0035533905029296875,-0.016143798828125,-0.07452392578125,-0.03179931640625,0.01666259765625,0.059844970703125,0.0238800048828125,-0.00798797607421875,-0.00988006591796875,0.0019159317016601562,-0.04296875,-0.01067352294921875,0.019287109375,0.05023193359375,-0.0031261444091796875,-0.04193115234375,0.007762908935546875,0.01297760009765625,0.02349853515625,0.062408447265625,0.0087432861328125,-0.033721923828125,-0.032135009765625,0.01551055908203125,0.0101165771484375,0.007701873779296875,-0.00058746337890625,0.078125,-0.02374267578125,0.01023101806640625,0.0325927734375,0.06744384765625,0.02716064453125,0.0009560585021972656,-0.003261566162109375,0.01181793212890625,0.0234832763671875,-0.01451873779296875,-0.01305389404296875,0.035064697265625,-0.0231781005859375,0.032470703125,0.0220794677734375,-0.0340576171875,-0.0031681060791015625,-0.010345458984375,-0.0611572265625,0.0016040802001953125,-0.0721435546875,-0.0290374755859375,0.02557373046875,0.0259552001953125,0.061431884765625,0.033447265625,-0.025390625,-0.0163421630859375,-0.01056671142578125,-0.02447509765625,0.064697265625,-0.0014705657958984375,-0.036712646484375,0.0208587646484375,-0.03369140625,0.02587890625,0.009124755859375,0.0014982223510742188,0.008880615234375,-0.00568389892578125,-0.00016450881958007812,-0.00806427001953125,0.0257568359375,0.0341796875,-0.0010709762573242188,0.05035400390625,-0.0115203857421875,0.01419830322265625,-0.0037021636962890625,0.021942138671875,-0.040283203125,-0.06573486328125,-0.006561279296875,-0.04150390625,-0.01346588134765625,0.022552490234375,-0.0435791015625,0.00811004638671875,0.0149078369140625,0.038543701171875,-0.0302276611328125,-0.04388427734375,0.01073455810546875,-0.062286376953125,0.006107330322265625,-0.043365478515625,-0.00859832763671875,-0.004119873046875,-0.035736083984375,-0.06805419921875,0.0263214111328125,-0.01953125,-0.0230560302734375,-0.0204925537109375,-0.02740478515625,0.034332275390625,0.024444580078125,0.0022125244140625,-0.028045654296875,-0.042877197265625,0.0291290283203125,-0.02349853515625,0.028778076171875,-0.005619049072265625,0.06524658203125,-0.00006783008575439453,-0.00638580322265625,-0.043609619140625,0.050872802734375,0.0221099853515625,0.015777587890625,-0.05718994140625,0.00571441650390625,0.00969696044921875,0.0222625732421875,0.049346923828125,0.0026798248291015625,-0.0274505615234375,-0.01406097412109375,0.019775390625,-0.0086517333984375,-0.050048828125,-0.0237579345703125,-0.001132965087890625,0.0088348388671875,-0.028472900390625,0.06298828125,0.0202178955078125,0.006748199462890625,0.0122222900390625,-0.02117919921875,-0.0291748046875,-0.0233154296875,-0.06036376953125,-0.009246826171875,-0.0007266998291015625,-0.019256591796875,-0.0218048095703125,0.01055908203125,-0.0144805908203125,-0.00946807861328125,0.006870269775390625,0.005336761474609375,-0.033416748046875,0.00229644775390625,0.0298614501953125,-0.05657958984375,0.0269317626953125,0.021240234375,-0.001499176025390625,0.02325439453125,0.01678466796875,-0.0277252197265625,-0.007068634033203125,-0.09661865234375,0.0098876953125,-0.01494598388671875,0.05670166015625,-0.0258941650390625,0.01039886474609375,-0.009002685546875,0.00844573974609375,-0.0288543701171875,-0.040313720703125,-0.07098388671875,-0.0063018798828125,0.05938720703125,0.038818359375,0.009857177734375,-0.004638671875,0.0221405029296875,-0.06573486328125,-0.04217529296875,-0.03216552734375,-0.0040130615234375,0.0648193359375,-0.0621337890625,-0.003826141357421875,0.0061798095703125,-0.0009312629699707031,-0.01280975341796875,0.08447265625,0.049072265625,0.0458984375,0.0020294189453125,-0.02923583984375,-0.007724761962890625,0.031951904296875,-0.0160675048828125,0.068359375,-0.015899658203125,-0.07568359375,-0.068603515625,-0.047271728515625,0.0350341796875,0.024993896484375,-0.056854248046875,-0.04278564453125,-0.00916290283203125,-0.021636962890625,0.00759124755859375,-0.03570556640625,0.000308990478515625,-0.02056884765625,0.0257568359375,0.0374755859375,-0.003376007080078125,0.00817108154296875,0.030792236328125,0.082763671875,-0.0024566650390625,0.01995849609375,0.0265045166015625,0.0933837890625,-0.04241943359375,0.03509521484375,0.015350341796875,0.03131103515625,0.027191162109375,-0.0272979736328125,0.031890869140625,0.049346923828125,-0.022613525390625,-0.06585693359375,-0.052764892578125,0.03106689453125,0.00821685791015625,-0.08489990234375,-0.032867431640625,-0.0274505615234375,0.0230560302734375,-0.005771636962890625,-0.0135955810546875,-0.00048613548278808594,-0.0177459716796875,0.0302581787109375,0.0299835205078125,-0.044281005859375,-0.02587890625,-0.005748748779296875,-0.00856781005859375,0.04888916015625,0.0294342041015625,0.039520263671875,-0.00911712646484375,-0.0297393798828125,-0.004138946533203125,-0.034881591796875,0.02239990234375,-0.0026702880859375,-0.0103302001953125,0.000690460205078125,-0.04425048828125,-0.0120849609375,-0.01412200927734375,0.038818359375,-0.062408447265625,0.0227203369140625,0.0016937255859375,0.004024505615234375,0.0010995864868164062,0.00637054443359375,-0.046234130859375,-0.030914306640625,0.03857421875,-0.033233642578125,0.07464599609375,0.000720977783203125,0.003871917724609375,-0.068359375,0.021942138671875,0.0255889892578125,0.0189056396484375,0.0272674560546875,0.0241851806640625,0.0225067138671875,0.05633544921875,-0.015045166015625,0.0268707275390625,0.037261962890625,0.03582763671875,-0.043365478515625,-0.02642822265625,-0.0021381378173828125,-0.00738525390625,0.013519287109375,0.01541900634765625,-0.01971435546875,0.01519012451171875,-0.01059722900390625,-0.0037899017333984375,0.0282745361328125,-0.039031982421875,-0.0280303955078125,-0.0263519287109375,-0.0251007080078125,-0.03741455078125,-0.0650634765625,0.033966064453125,0.037841796875,0.008941650390625,-0.025238037109375,-0.0169677734375,-0.011077880859375,-0.017486572265625,-0.0012521743774414062,0.0272674560546875,-0.0183258056640625,0.048553466796875,0.0285491943359375,-0.0294647216796875,-0.0335693359375,-0.002735137939453125,0.0849609375,0.044281005859375,0.0156402587890625,-0.028076171875,0.048980712890625,0.037017822265625,-0.0190277099609375,-0.0141754150390625,0.017852783203125,0.06121826171875,0.08013916015625,0.01409912109375,-0.051971435546875,0.01849365234375,0.0020351409912109375,-0.01459503173828125,0.00829315185546875,-0.00829315185546875,-0.0200042724609375,-0.04315185546875]},{"object":"embedding","index":2,"embedding":[0.0283050537109375,0.09844970703125,-0.208740234375,0.034637451171875,0.061126708984375,0.0596923828125,0.09368896484375,0.0208587646484375,-0.051300048828125,0.011566162109375,-0.055511474609375,0.04052734375,0.06402587890625,0.0587158203125,0.00482940673828125,-0.060882568359375,-0.0025177001953125,-0.03448486328125,0.07904052734375,0.0180511474609375,-0.01953125,0.001453399658203125,0.0213623046875,0.021087646484375,0.0516357421875,-0.01427459716796875,-0.034576416015625,0.0303497314453125,-0.02044677734375,0.040924072265625,0.033599853515625,0.0287322998046875,0.006305694580078125,-0.017730712890625,-0.007572174072265625,-0.01056671142578125,0.07354736328125,-0.0390625,0.04296875,-0.025726318359375,0.0177154541015625,-0.0262603759765625,0.003696441650390625,0.00498199462890625,0.0283050537109375,-0.01062774658203125,0.073486328125,0.0148162841796875,0.0062255859375,-0.051971435546875,-0.0131683349609375,0.0234222412109375,0.0193023681640625,0.00739288330078125,0.08355712890625,-0.0117034912109375,0.05706787109375,-0.0189361572265625,0.017181396484375,-0.00312042236328125,-0.0041351318359375,-0.008544921875,0.0013628005981445312,-0.0090484619140625,0.01561737060546875,0.01071929931640625,-0.01456451416015625,0.043304443359375,-0.0321044921875,-0.04425048828125,0.033905029296875,-0.073486328125,-0.0168609619140625,-0.01470184326171875,0.007595062255859375,0.041595458984375,-0.018707275390625,-0.0169219970703125,-0.01332855224609375,-0.020050048828125,0.0042877197265625,0.0274505615234375,-0.0072174072265625,0.01110076904296875,0.0386962890625,-0.01165771484375,0.00934600830078125,0.00501251220703125,-0.0202178955078125,0.00675201416015625,0.023956298828125,-0.01132965087890625,0.009796142578125,0.0093536376953125,-0.060638427734375,-0.0171966552734375,-0.047943115234375,-0.016571044921875,-0.0254364013671875,-0.0653076171875,-0.021636962890625,-0.001495361328125,0.01418304443359375,-0.054107666015625,0.01329803466796875,-0.0233001708984375,0.07318115234375,-0.08038330078125,0.020965576171875,-0.00879669189453125,-0.031982421875,0.03875732421875,0.004730224609375,-0.0213165283203125,0.021453857421875,0.043060302734375,0.0212860107421875,0.003124237060546875,-0.0189971923828125,-0.01021575927734375,0.00440216064453125,-0.01165771484375,0.0170440673828125,0.04901123046875,0.0290985107421875,0.029388427734375,-0.040679931640625,-0.01448822021484375,-0.04034423828125,-0.0157470703125,-0.01395416259765625,0.017486572265625,-0.0116424560546875,-0.041473388671875,-0.026336669921875,0.04583740234375,0.040191650390625,-0.03759765625,0.0121307373046875,0.002796173095703125,0.040557861328125,0.016204833984375,-0.00457000732421875,-0.0104217529296875,-0.0147552490234375,-0.06787109375,0.037994384765625,0.039642333984375,-0.01432037353515625,-0.0295867919921875,-0.009368896484375,0.0010528564453125,0.0005350112915039062,0.036590576171875,0.03564453125,0.0268402099609375,0.046295166015625,0.0322265625,0.002681732177734375,0.0199737548828125,0.032012939453125,-0.0341796875,0.00754547119140625,0.046173095703125,-0.00957489013671875,-0.0184478759765625,0.016143798828125,0.00824737548828125,-0.00940704345703125,0.04315185546875,-0.020111083984375,-0.0189208984375,0.03582763671875,-0.048980712890625,-0.0194244384765625,-0.062469482421875,0.0192718505859375,-0.079833984375,-0.03521728515625,-0.053741455078125,0.020263671875,-0.0501708984375,-0.0023326873779296875,0.0052490234375,0.0176239013671875,-0.046539306640625,0.060028076171875,-0.05078125,-0.0271453857421875,-0.0177459716796875,-0.041595458984375,-0.0095062255859375,-0.0543212890625,-0.03863525390625,-0.06561279296875,-0.059906005859375,0.029632568359375,0.00937652587890625,0.0034923553466796875,-0.02044677734375,0.03741455078125,-0.042724609375,-0.079345703125,0.0013341903686523438,-0.029052734375,0.052215576171875,-0.0308685302734375,-0.009979248046875,-0.0010423660278320312,-0.0079803466796875,0.07440185546875,0.002941131591796875,-0.007663726806640625,-0.021453857421875,-0.0077056884765625,-0.043548583984375,0.0224761962890625,-0.0517578125,0.0280914306640625,0.035125732421875,-0.0083770751953125,0.034027099609375,-0.01100921630859375,-0.0634765625,0.034423828125,-0.011688232421875,-0.03717041015625,-0.027740478515625,0.0186004638671875,0.0174407958984375,-0.0222320556640625,-0.0290679931640625,0.0361328125,0.0305328369140625,-0.060943603515625,0.04315185546875,0.039825439453125,0.03875732421875,-0.0196075439453125,-0.0335693359375,0.047515869140625,0.01837158203125,-0.01136016845703125,-0.018890380859375,-0.054840087890625,-0.039398193359375,0.0021114349365234375,-0.06195068359375,-0.033843994140625,0.0268096923828125,0.03497314453125,-0.058013916015625,0.006683349609375,0.0018186569213867188,0.0009646415710449219,-0.005786895751953125,-0.0165863037109375,-0.0192718505859375,0.0264434814453125,0.0013904571533203125,0.0193634033203125,0.035400390625,0.0148162841796875,-0.03631591796875,-0.06378173828125,0.0017633438110351562,0.0100555419921875,0.11529541015625,0.027008056640625,-0.094970703125,-0.0202178955078125,-0.054229736328125,-0.032012939453125,0.0149383544921875,-0.04559326171875,-0.03155517578125,-0.0208587646484375,0.0159149169921875,0.0125579833984375,0.0426025390625,-0.023712158203125,-0.060455322265625,-0.0740966796875,0.025634765625,0.015411376953125,0.035980224609375,0.0615234375,0.01247406005859375,-0.042388916015625,-0.006580352783203125,0.047637939453125,0.021575927734375,0.0034084320068359375,0.038360595703125,-0.0157470703125,0.0338134765625,0.036773681640625,0.018829345703125,0.0243682861328125,-0.00318145751953125,0.06292724609375,-0.0208892822265625,0.05975341796875,0.043060302734375,0.0151214599609375,-0.0172119140625,0.08868408203125,0.004123687744140625,0.095947265625,-0.046051025390625,0.000629425048828125,0.032012939453125,-0.057403564453125,0.02703857421875,-0.03338623046875,-0.0122528076171875,0.0243988037109375,0.016571044921875,0.0584716796875,-0.035186767578125,-0.0172119140625,-0.0282440185546875,-0.0250244140625,-0.025390625,0.047821044921875,0.041290283203125,-0.01279449462890625,0.0211181640625,-0.024200439453125,-0.02197265625,-0.0154876708984375,0.0311737060546875,0.0005249977111816406,-0.01528167724609375,-0.040557861328125,0.0264739990234375,0.0240325927734375,0.0467529296875,0.040985107421875,-0.00572967529296875,0.00017976760864257812,-0.021026611328125,-0.02557373046875,0.016845703125,-0.030426025390625,-0.00890350341796875,0.044464111328125,-0.035003662109375,0.0117950439453125,0.019287109375,-0.048980712890625,-0.034637451171875,0.0167236328125,-0.026641845703125,-0.026885986328125,-0.009765625,0.0169677734375,0.006908416748046875,0.00507354736328125,-0.0033473968505859375,0.04339599609375,-0.03472900390625,-0.002841949462890625,-0.0299530029296875,-0.00540924072265625,0.018341064453125,-0.011688232421875,0.038482666015625,-0.01763916015625,0.0212554931640625,0.0006403923034667969,-0.0253448486328125,-0.0259857177734375,0.052398681640625,-0.037994384765625,-0.007129669189453125,-0.0631103515625,-0.017791748046875,-0.0070953369140625,-0.02972412109375,0.0290374755859375,0.0172119140625,0.0635986328125,0.007053375244140625,0.06298828125,-0.0050811767578125,0.004241943359375,-0.07208251953125,0.0017366409301757812,0.061798095703125,0.0235748291015625,-0.01480865478515625,-0.0283966064453125,-0.03448486328125,0.00463104248046875,-0.0232391357421875,0.046234130859375,0.01393890380859375,-0.049591064453125,0.03857421875,-0.0224456787109375,-0.046630859375,-0.0165863037109375,-0.041595458984375,-0.045867919921875,0.0340576171875,-0.0494384765625,-0.0159454345703125,0.0550537109375,-0.01332855224609375,0.07305908203125,0.0797119140625,0.0087738037109375,-0.0284271240234375,-0.0394287109375,0.03021240234375,0.043975830078125,0.03802490234375,-0.03741455078125,-0.007022857666015625,0.08685302734375,0.01024627685546875,0.0667724609375,0.0219879150390625,-0.0079498291015625,0.04547119140625,-0.012786865234375,0.0271453857421875,-0.0246124267578125,-0.05596923828125,0.033050537109375,-0.0220184326171875,0.0548095703125,0.0177154541015625,-0.027374267578125,0.005725860595703125,0.0300445556640625,0.0584716796875,0.05389404296875,0.10076904296875,0.037384033203125,0.006175994873046875,0.01629638671875,-0.04241943359375,0.03936767578125,0.051605224609375,0.07696533203125,-0.06072998046875,-0.04241943359375,-0.0209503173828125,0.0242919921875,0.032562255859375,0.01806640625,0.04278564453125,0.0260009765625,-0.040679931640625,-0.0181121826171875,0.0021572113037109375,0.0136871337890625,0.0069580078125,-0.01520538330078125,0.06195068359375,-0.035675048828125,-0.01507568359375,-0.0228424072265625,-0.00514984130859375,0.0011816024780273438,-0.0207672119140625,0.03619384765625,0.038299560546875,-0.026641845703125,0.01372528076171875,0.00890350341796875,0.037017822265625,-0.0072479248046875,-0.019927978515625,0.03173828125,0.038482666015625,0.006221771240234375,0.072509765625,0.0059051513671875,-0.00955963134765625,-0.050018310546875,-0.067626953125,0.032501220703125,0.050262451171875,0.048553466796875,-0.0091400146484375,0.04534912109375,0.0079345703125,0.01220703125,-0.0335693359375,-0.009735107421875,0.0068511962890625,-0.041290283203125,-0.035064697265625,-0.033050537109375,0.02288818359375,0.0186309814453125,0.0084075927734375,-0.0205535888671875,-0.0018091201782226562,-0.0005860328674316406,0.056304931640625,0.022705078125,-0.00839996337890625,-0.01873779296875,-0.05816650390625,-0.0369873046875,0.04681396484375,-0.058380126953125,0.0182342529296875,0.0290374755859375,-0.01369476318359375,-0.00405120849609375,-0.0667724609375,-0.0039825439453125,-0.0478515625,0.00820159912109375,-0.034637451171875,0.033599853515625,-0.03326416015625,-0.056121826171875,-0.00400543212890625,-0.04571533203125,0.00750732421875,-0.0374755859375,-0.0261993408203125,0.007659912109375,-0.052886962890625,-0.04248046875,-0.0236053466796875,-0.033172607421875,-0.01995849609375,-0.0401611328125,0.030426025390625,0.026123046875,-0.00717926025390625,0.00016236305236816406,-0.0203704833984375,0.0019474029541015625,0.0478515625,-0.0295257568359375,0.024139404296875,0.0148162841796875,0.0008597373962402344,-0.014251708984375,-0.003948211669921875,0.00020575523376464844,-0.04852294921875,-0.03656005859375,-0.0255584716796875,-0.01318359375,-0.006580352783203125,0.007354736328125,-0.005527496337890625,-0.019073486328125,-0.01078033447265625,-0.036773681640625,-0.036956787109375,0.04217529296875,0.0355224609375,0.06805419921875,-0.05206298828125,-0.01090240478515625,-0.0026111602783203125,0.00965118408203125,0.06427001953125,0.0197296142578125,-0.0017337799072265625,0.042510986328125,-0.03265380859375,-0.0204010009765625,-0.0191497802734375,-0.001644134521484375,0.0216827392578125,0.03717041015625,0.0389404296875,-0.0823974609375,-0.04150390625,-0.011871337890625,-0.03485107421875,-0.04156494140625,0.01105499267578125,-0.015533447265625,0.0302276611328125,0.0178070068359375,0.006824493408203125,0.0321044921875,-0.07379150390625,-0.019683837890625,0.0200653076171875,-0.032562255859375,-0.054779052734375,0.0024433135986328125,-0.053680419921875,-0.004730224609375,0.0002906322479248047,-0.0511474609375,-0.007717132568359375,0.0289459228515625,-0.034393310546875,0.049041748046875,-0.049652099609375,-0.036712646484375,0.019134521484375,-0.001987457275390625,0.0290679931640625,-0.027557373046875,0.033111572265625,0.00995635986328125,-0.00893402099609375,0.0263214111328125,-0.041107177734375,-0.016815185546875,0.0269012451171875,0.0765380859375,-0.052276611328125,-0.00495147705078125,0.007419586181640625,-0.06341552734375,-0.07061767578125,0.050506591796875,-0.044891357421875,0.034576416015625,-0.08953857421875,-0.0728759765625,-0.0115203857421875,-0.0221099853515625,0.007904052734375,0.0172271728515625,0.01763916015625,-0.071044921875,-0.003078460693359375,-0.0216827392578125,0.02197265625,-0.05108642578125,-0.018096923828125,-0.003681182861328125,0.032684326171875,0.05535888671875,0.032470703125,-0.030487060546875,0.051055908203125,0.0258941650390625,-0.0032958984375,0.0110626220703125,0.0836181640625,0.01505279541015625,-0.0562744140625,0.07745361328125,0.036346435546875,-0.0013246536254882812,0.00035572052001953125,-0.008697509765625,-0.01300048828125,0.01500701904296875,-0.006805419921875,-0.08441162109375,-0.03759765625,-0.0011472702026367188,0.0039043426513671875,-0.01184844970703125,0.0284271240234375,0.056365966796875,0.004619598388671875,0.0218505859375,0.01470184326171875,-0.026092529296875,0.01153564453125,0.024627685546875,0.039093017578125,0.0250701904296875,-0.0345458984375,-0.0018434524536132812,-0.00042629241943359375,0.00919342041015625,0.0399169921875,0.0771484375,-0.061676025390625,0.025787353515625,-0.034942626953125,-0.039703369140625,-0.00850677490234375,-0.0303192138671875,-0.00612640380859375,0.050140380859375,-0.021697998046875,-0.0003693103790283203,-0.01873779296875,-0.0044403076171875,-0.00426483154296875,-0.00415802001953125,0.0218963623046875,-0.0259552001953125,-0.003177642822265625,-0.00580596923828125,-0.055023193359375,0.00896453857421875,0.044189453125,-0.005279541015625,0.0137481689453125,0.0236053466796875,0.0192718505859375,-0.053375244140625,-0.0032405853271484375,0.07080078125,0.0133819580078125,0.005817413330078125,-0.0140228271484375,0.041778564453125,0.0426025390625,-0.00513458251953125,0.01447296142578125,0.04742431640625,-0.04302978515625,0.0261383056640625,-0.0228424072265625,0.0217132568359375,0.01983642578125,0.0599365234375,-0.05926513671875,-0.055145263671875,-0.01503753662109375,0.0130767822265625,0.049896240234375,0.0071868896484375,-0.0675048828125,0.0308380126953125,-0.00438690185546875,-0.0027313232421875,0.005157470703125,0.0075225830078125,0.050201416015625,-0.068115234375,-0.0011548995971679688,-0.056121826171875,0.032928466796875,-0.028656005859375,0.005893707275390625,0.013824462890625,0.03350830078125,-0.01018524169921875,0.00818634033203125,-0.0306854248046875,-0.0222015380859375,0.01495361328125,0.0301971435546875,0.019378662109375,-0.0006737709045410156,0.032318115234375,-0.019622802734375,-0.06988525390625,0.017120361328125,0.01763916015625,0.056365966796875,-0.0275726318359375,0.0243682861328125,0.05682373046875,-0.0357666015625,0.03411865234375,-0.0181121826171875,0.015045166015625,0.02349853515625,-0.033172607421875,-0.0224609375,-0.04681396484375,-0.0244293212890625]}],"model":"hf:nomic-ai/nomic-embed-text-v1.5","usage":{"prompt_tokens":23,"total_tokens":23}}' + headers: + Content-Type: + - application/json + status: 200 OK + code: 200 + duration: 438.416797ms diff --git a/providertests/testdata/TestOpenAIEmbeddings/single_input.yaml b/providertests/testdata/TestOpenAIEmbeddings/single_input.yaml new file mode 100644 index 000000000..f1cf55ca6 --- /dev/null +++ b/providertests/testdata/TestOpenAIEmbeddings/single_input.yaml @@ -0,0 +1,32 @@ +--- +version: 2 +interactions: +- id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 77 + host: "" + body: '{"input":["The quick brown fox"],"model":"hf:nomic-ai/nomic-embed-text-v1.5"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAI/Go 2.7.1 + url: https://api.synthetic.new/openai/v1/embeddings + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + content_length: -1 + body: '{"object":"list","data":[{"object":"embedding","index":0,"embedding":[-0.0443115234375,0.01013946533203125,-0.131103515625,-0.0038928985595703125,-0.0010318756103515625,0.0027256011962890625,-0.027252197265625,-0.0247344970703125,0.056884765625,-0.045989990234375,-0.004901885986328125,0.061431884765625,0.04083251953125,-0.011932373046875,0.011810302734375,-0.0322265625,0.07135009765625,-0.05560302734375,0.08251953125,-0.004413604736328125,0.005779266357421875,0.048828125,0.0347900390625,-0.01617431640625,0.109619140625,0.02655029296875,-0.036102294921875,0.031463623046875,-0.018951416015625,0.0699462890625,0.04058837890625,-0.01087188720703125,-0.04803466796875,-0.045989990234375,-0.00824737548828125,-0.0872802734375,0.04119873046875,-0.019134521484375,0.0309906005859375,0.031463623046875,-0.0016450881958007812,0.035919189453125,0.01538848876953125,-0.0718994140625,0.07562255859375,-0.033050537109375,0.032684326171875,0.0267791748046875,-0.0127716064453125,-0.01535797119140625,-0.0263214111328125,0.0479736328125,-0.0232696533203125,-0.06378173828125,0.03302001953125,0.07501220703125,-0.0273895263671875,-0.019866943359375,-0.0281982421875,0.0251312255859375,0.0221099853515625,0.017578125,-0.05865478515625,0.021484375,-0.0013208389282226562,-0.041473388671875,0.051361083984375,0.0191192626953125,-0.024078369140625,-0.0307769775390625,0.012359619140625,-0.03668212890625,0.006504058837890625,0.0246734619140625,-0.044342041015625,-0.0255584716796875,-0.0195159912109375,0.01380157470703125,-0.0189666748046875,0.0304412841796875,0.0489501953125,-0.0235748291015625,0.0129547119140625,0.007717132568359375,0.01255035400390625,0.00251007080078125,-0.0140228271484375,0.050140380859375,0.0159454345703125,0.0233612060546875,0.0374755859375,-0.0028705596923828125,-0.0257415771484375,0.0321044921875,-0.052490234375,0.0267791748046875,-0.00804901123046875,0.0660400390625,-0.052734375,-0.061859130859375,-0.044219970703125,-0.0025615692138671875,0.004367828369140625,-0.0295562744140625,-0.005550384521484375,0.04766845703125,-0.0216827392578125,0.033660888671875,-0.005138397216796875,0.019989013671875,-0.046142578125,-0.01454925537109375,-0.006671905517578125,-0.03253173828125,0.02203369140625,-0.0300750732421875,0.033233642578125,-0.0714111328125,0.01290130615234375,0.054290771484375,-0.0260467529296875,0.00864410400390625,0.027587890625,-0.0033416748046875,0.01047515869140625,0.036651611328125,-0.02337646484375,0.042938232421875,-0.001689910888671875,-0.0042724609375,0.0203857421875,-0.0229034423828125,-0.024566650390625,-0.032257080078125,0.034576416015625,0.006504058837890625,-0.016204833984375,0.0083770751953125,0.02130126953125,0.0259246826171875,0.0277862548828125,0.060882568359375,0.029998779296875,-0.0179901123046875,-0.05865478515625,-0.05419921875,0.0286712646484375,-0.0460205078125,0.007366180419921875,0.0220947265625,0.0003867149353027344,0.00396728515625,-0.035736083984375,-0.0004150867462158203,0.003795623779296875,-0.00867462158203125,0.03277587890625,0.0169677734375,0.004367828369140625,-0.00946044921875,0.032501220703125,-0.0491943359375,-0.01104736328125,0.03363037109375,-0.057220458984375,-0.0077056884765625,0.04522705078125,-0.01788330078125,0.034759521484375,0.059326171875,-0.0225372314453125,-0.02142333984375,0.0015697479248046875,-0.0018291473388671875,-0.04107666015625,-0.030975341796875,0.064453125,-0.0701904296875,-0.035675048828125,-0.0182037353515625,0.0231781005859375,0.0098724365234375,0.0147247314453125,0.041748046875,0.004276275634765625,-0.03680419921875,-0.01020050048828125,-0.0014972686767578125,-0.0343017578125,-0.035552978515625,-0.01036834716796875,0.0277252197265625,-0.047149658203125,-0.07305908203125,-0.04022216796875,-0.0221405029296875,0.0274810791015625,0.0443115234375,0.04541015625,-0.010833740234375,0.0016298294067382812,-0.035888671875,-0.055267333984375,0.0133056640625,-0.01282501220703125,0.0030689239501953125,-0.046051025390625,0.039947509765625,-0.0024566650390625,0.01203155517578125,0.09368896484375,-0.011871337890625,-0.08148193359375,0.041900634765625,0.00897216796875,0.0142364501953125,-0.06353759765625,0.0457763671875,-0.066650390625,0.0128631591796875,0.07489013671875,0.0408935546875,-0.0465087890625,-0.061676025390625,0.00470733642578125,0.01355743408203125,-0.03045654296875,-0.042022705078125,-0.040191650390625,0.034423828125,-0.0185089111328125,-0.037628173828125,0.02911376953125,0.01776123046875,0.01529693603515625,0.0474853515625,0.058868408203125,0.0516357421875,0.01983642578125,0.001613616943359375,-0.03155517578125,0.02496337890625,-0.0278167724609375,0.03997802734375,-0.0615234375,0.01715087890625,0.0090179443359375,-0.049713134765625,0.0274810791015625,0.016326904296875,-0.035186767578125,-0.0307769775390625,0.051849365234375,-0.01509857177734375,0.040679931640625,-0.048065185546875,-0.010650634765625,-0.030670166015625,-0.052032470703125,-0.0657958984375,0.004222869873046875,-0.0023326873779296875,0.030548095703125,-0.034515380859375,-0.01318359375,-0.04974365234375,0.00414276123046875,-0.007480621337890625,0.00839996337890625,-0.0124969482421875,-0.0010223388671875,0.0149078369140625,-0.01141357421875,-0.005096435546875,-0.015899658203125,-0.00244903564453125,-0.01433563232421875,-0.02984619140625,-0.02496337890625,0.0294189453125,0.0098724365234375,-0.007686614990234375,-0.00412750244140625,-0.001132965087890625,-0.01294708251953125,0.005588531494140625,0.04119873046875,0.04290771484375,-0.0187835693359375,-0.02490234375,-0.0271453857421875,0.0546875,-0.010498046875,0.086181640625,0.005611419677734375,0.0110015869140625,0.054718017578125,-0.005962371826171875,0.055419921875,0.035186767578125,0.066162109375,-0.034637451171875,-0.016845703125,0.00922393798828125,0.0433349609375,-0.07611083984375,0.079833984375,0.030609130859375,0.01506805419921875,-0.0628662109375,-0.0035762786865234375,0.0567626953125,-0.07421875,-0.00385284423828125,-0.050018310546875,-0.029754638671875,-0.000919342041015625,0.0190582275390625,0.0762939453125,-0.0195159912109375,0.023406982421875,-0.0294189453125,-0.046905517578125,-0.045867919921875,-0.0247650146484375,0.0223846435546875,-0.020172119140625,0.062286376953125,0.042388916015625,-0.028717041015625,0.050933837890625,0.06884765625,-0.01129150390625,-0.00528717041015625,-0.037445068359375,0.03302001953125,0.01503753662109375,0.045928955078125,-0.02337646484375,0.06976318359375,0.031982421875,-0.0277557373046875,0.011444091796875,-0.04376220703125,-0.0250091552734375,-0.0232696533203125,-0.0032196044921875,-0.003093719482421875,0.0008325576782226562,-0.035552978515625,-0.034149169921875,0.01332855224609375,-0.0299224853515625,0.033233642578125,-0.02301025390625,0.0103759765625,-0.026336669921875,-0.0138702392578125,0.016845703125,0.0052490234375,0.0191192626953125,-0.0187225341796875,0.0123291015625,0.054656982421875,0.0243682861328125,0.0133514404296875,-0.0105133056640625,0.0033512115478515625,0.06365966796875,0.03656005859375,-0.02783203125,0.01322174072265625,0.044891357421875,0.0079193115234375,0.01454925537109375,0.025115966796875,-0.047698974609375,-0.052947998046875,-0.004764556884765625,-0.04339599609375,-0.00679779052734375,-0.004058837890625,0.0127410888671875,0.049346923828125,0.03564453125,0.002239227294921875,-0.005237579345703125,-0.047882080078125,0.0335693359375,0.057098388671875,-0.039703369140625,-0.0628662109375,-0.06219482421875,-0.0169525146484375,0.030609130859375,0.047149658203125,0.036773681640625,-0.04736328125,-0.0111541748046875,0.039031982421875,-0.06793212890625,-0.036102294921875,-0.0253448486328125,-0.01275634765625,-0.05926513671875,0.0640869140625,-0.017791748046875,-0.08880615234375,-0.01207733154296875,-0.0244903564453125,-0.0257568359375,0.044952392578125,-0.004703521728515625,-0.01392364501953125,-0.09173583984375,0.045135498046875,0.0140380859375,-0.0007734298706054688,-0.035308837890625,0.011566162109375,0.0509033203125,-0.0021419525146484375,-0.03704833984375,-0.04718017578125,-0.03369140625,-0.01934814453125,0.058074951171875,0.051788330078125,0.01049041748046875,-0.0467529296875,0.0281982421875,0.04632568359375,0.036529541015625,-0.00970458984375,0.005107879638671875,0.01953125,-0.06512451171875,0.039947509765625,0.0217742919921875,0.07440185546875,-0.0019321441650390625,-0.00640869140625,-0.0031604766845703125,-0.0018339157104492188,-0.00986480712890625,0.04638671875,0.08221435546875,-0.020599365234375,-0.0173797607421875,0.037261962890625,0.050872802734375,0.08428955078125,-0.028961181640625,0.046844482421875,0.051116943359375,0.007488250732421875,-0.097900390625,-0.005481719970703125,0.0140228271484375,0.0389404296875,0.077880859375,0.034149169921875,-0.037567138671875,0.0062255859375,0.0401611328125,-0.022613525390625,-0.0017871856689453125,0.03924560546875,-0.0034637451171875,0.00843048095703125,-0.0338134765625,-0.0009822845458984375,0.0247802734375,0.0031223297119140625,-0.025299072265625,-0.003875732421875,-0.037384033203125,0.0231475830078125,0.03790283203125,0.03656005859375,0.01010894775390625,-0.03436279296875,-0.040069580078125,-0.053131103515625,0.00865936279296875,0.042816162109375,0.054443359375,-0.005611419677734375,0.037445068359375,-0.034698486328125,0.030426025390625,0.07440185546875,0.0202178955078125,-0.0230865478515625,0.00843048095703125,-0.027191162109375,0.017913818359375,-0.00637054443359375,-0.052276611328125,0.0178070068359375,0.0308380126953125,0.06109619140625,-0.047454833984375,0.0211334228515625,0.06866455078125,0.00823211669921875,0.0155487060546875,-0.078369140625,-0.01055145263671875,0.06658935546875,-0.04376220703125,0.005706787109375,0.047119140625,-0.04547119140625,0.0305328369140625,-0.01202392578125,0.027679443359375,-0.011932373046875,-0.028411865234375,0.0020923614501953125,0.0024929046630859375,-0.027801513671875,-0.06353759765625,-0.004901885986328125,-0.01189422607421875,0.00565338134765625,-0.022918701171875,-0.02301025390625,0.0183563232421875,-0.02801513671875,0.0076904296875,-0.01470947265625,-0.0287628173828125,-0.0065460205078125,-0.0020236968994140625,0.0165557861328125,-0.032928466796875,0.0465087890625,-0.0389404296875,-0.00531005859375,0.00397491455078125,0.0264129638671875,-0.01044464111328125,-0.036224365234375,-0.0004489421844482422,-0.006755828857421875,-0.0025501251220703125,0.031829833984375,-0.04046630859375,-0.035552978515625,0.04296875,-0.045623779296875,-0.0833740234375,-0.03271484375,0.038330078125,-0.040740966796875,-0.00009888410568237305,0.0240478515625,-0.0111846923828125,-0.0226593017578125,0.0201568603515625,0.0263519287109375,0.01218414306640625,0.0008449554443359375,0.00007992982864379883,-0.023590087890625,0.006504058837890625,0.055419921875,0.007259368896484375,-0.0132293701171875,0.01009368896484375,-0.006252288818359375,-0.013641357421875,-0.0088653564453125,0.005584716796875,-0.01861572265625,0.02838134765625,0.036956787109375,-0.058624267578125,-0.0179443359375,0.01499176025390625,-0.01384735107421875,-0.06829833984375,0.0755615234375,-0.02642822265625,0.005779266357421875,-0.025726318359375,0.0003712177276611328,0.06317138671875,-0.0787353515625,0.0008130073547363281,0.022857666015625,-0.024627685546875,-0.041595458984375,0.00330352783203125,-0.0264434814453125,-0.07574462890625,-0.029327392578125,-0.015838623046875,-0.038482666015625,-0.00954437255859375,-0.04083251953125,0.08953857421875,-0.05853271484375,-0.00942230224609375,0.0247039794921875,-0.0204315185546875,-0.0019121170043945312,-0.004241943359375,-0.01407623291015625,0.005962371826171875,0.025299072265625,0.040557861328125,-0.013153076171875,-0.00026297569274902344,0.019683837890625,0.045623779296875,-0.0172576904296875,-0.002071380615234375,-0.03192138671875,-0.033782958984375,-0.06689453125,0.0175933837890625,-0.0731201171875,0.07830810546875,0.004669189453125,-0.0262298583984375,-0.06829833984375,-0.0025272369384765625,-0.01404571533203125,-0.00031065940856933594,0.0131378173828125,-0.042022705078125,-0.047515869140625,-0.0011816024780273438,-0.0197601318359375,-0.048492431640625,0.02618408203125,-0.0074615478515625,0.06646728515625,0.07049560546875,-0.0179443359375,-0.04144287109375,0.005245208740234375,0.0268402099609375,0.01506805419921875,0.0050811767578125,0.0003368854522705078,0.062255859375,-0.045196533203125,0.03387451171875,0.07757568359375,0.036041259765625,-0.0068511962890625,0.02496337890625,-0.0267181396484375,0.062286376953125,-0.0533447265625,-0.0289764404296875,-0.006832122802734375,0.0042877197265625,-0.003265380859375,-0.026336669921875,0.01177978515625,0.03643798828125,-0.033782958984375,0.034271240234375,-0.0181427001953125,-0.05609130859375,0.00516510009765625,0.01153564453125,-0.023681640625,0.02105712890625,-0.00013649463653564453,0.019775390625,0.054656982421875,-0.0280303955078125,0.060760498046875,0.022430419921875,-0.01409912109375,-0.0112457275390625,-0.054656982421875,0.0430908203125,-0.019073486328125,-0.08538818359375,0.0117950439453125,0.00969696044921875,-0.02288818359375,0.02569580078125,-0.037139892578125,-0.003932952880859375,0.02532958984375,0.053863525390625,-0.020904541015625,-0.000051975250244140625,-0.01036834716796875,-0.03924560546875,-0.0013561248779296875,-0.02752685546875,0.03643798828125,0.0099029541015625,0.044036865234375,0.0307159423828125,0.01250457763671875,-0.006465911865234375,-0.052978515625,0.0218963623046875,0.02410888671875,-0.0137786865234375,-0.0267791748046875,0.02105712890625,-0.0001373291015625,-0.01387786865234375,0.034027099609375,0.003978729248046875,-0.0164794921875,0.019744873046875,0.01332855224609375,-0.0274200439453125,0.01430511474609375,0.08270263671875,0.00015091896057128906,-0.040435791015625,-0.003368377685546875,-0.04571533203125,0.03643798828125,0.03192138671875,-0.0548095703125,0.0230865478515625,-0.0308837890625,-0.0032501220703125,-0.039031982421875,-0.04461669921875,0.0215606689453125,0.0063629150390625,-0.00876617431640625,-0.06622314453125,0.025482177734375,-0.050872802734375,0.052886962890625,-0.0086517333984375,-0.036041259765625,0.0509033203125,0.088134765625,-0.00958251953125,-0.002777099609375,0.0151519775390625,0.06646728515625,0.034393310546875,0.01261138916015625,-0.00855255126953125,0.035491943359375,-0.0283203125,0.0043792724609375,-0.0104827880859375,0.021026611328125,-0.002040863037109375,0.0369873046875,0.00783538818359375,0.0015153884887695312,0.029388427734375,-0.01363372802734375,-0.001438140869140625,-0.015625,-0.0236053466796875,-0.055267333984375,-0.049072265625,0.004535675048828125]}],"model":"hf:nomic-ai/nomic-embed-text-v1.5","usage":{"prompt_tokens":4,"total_tokens":4}}' + headers: + Content-Type: + - application/json + status: 200 OK + code: 200 + duration: 903.201044ms diff --git a/providertests/testdata/TestOpenAIEmbeddingsWithDimensions/with_dimensions.yaml b/providertests/testdata/TestOpenAIEmbeddingsWithDimensions/with_dimensions.yaml new file mode 100644 index 000000000..556287537 --- /dev/null +++ b/providertests/testdata/TestOpenAIEmbeddingsWithDimensions/with_dimensions.yaml @@ -0,0 +1,32 @@ +--- +version: 2 +interactions: +- id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 94 + host: "" + body: '{"input":["The quick brown fox"],"model":"hf:nomic-ai/nomic-embed-text-v1.5","dimensions":256}' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAI/Go 2.7.1 + url: https://api.synthetic.new/openai/v1/embeddings + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + content_length: -1 + body: '{"object":"list","data":[{"object":"embedding","index":0,"embedding":[-0.07440185546875,0.0170135498046875,-0.219970703125,-0.006534576416015625,-0.0017309188842773438,0.004573822021484375,-0.045745849609375,-0.04150390625,0.09552001953125,-0.0771484375,-0.0082244873046875,0.1031494140625,0.06854248046875,-0.0200347900390625,0.0198211669921875,-0.054107666015625,0.1197509765625,-0.09332275390625,0.138427734375,-0.007404327392578125,0.00969696044921875,0.08197021484375,0.058380126953125,-0.02716064453125,0.1839599609375,0.0445556640625,-0.06060791015625,0.05279541015625,-0.03179931640625,0.117431640625,0.068115234375,-0.0182342529296875,-0.08056640625,-0.0771484375,-0.01384735107421875,-0.146484375,0.06915283203125,-0.0321044921875,0.052001953125,0.05279541015625,-0.0027599334716796875,0.060272216796875,0.02581787109375,-0.12060546875,0.126953125,-0.055450439453125,0.054840087890625,0.044952392578125,-0.0214385986328125,-0.025787353515625,-0.044158935546875,0.08050537109375,-0.0390625,-0.10699462890625,0.055419921875,0.1259765625,-0.04595947265625,-0.033355712890625,-0.047332763671875,0.04217529296875,0.037109375,0.029510498046875,-0.09844970703125,0.03607177734375,-0.0022182464599609375,-0.069580078125,0.086181640625,0.032073974609375,-0.0404052734375,-0.0516357421875,0.0207366943359375,-0.061553955078125,0.01091766357421875,0.041412353515625,-0.074462890625,-0.04290771484375,-0.032745361328125,0.023162841796875,-0.031829833984375,0.05108642578125,0.0821533203125,-0.03955078125,0.0217437744140625,0.01294708251953125,0.0210723876953125,0.00421142578125,-0.023529052734375,0.08416748046875,0.026763916015625,0.039215087890625,0.06292724609375,-0.004817962646484375,-0.043182373046875,0.05389404296875,-0.08807373046875,0.044952392578125,-0.01351165771484375,0.11083984375,-0.0885009765625,-0.10382080078125,-0.07421875,-0.004299163818359375,0.007328033447265625,-0.04962158203125,-0.00931549072265625,0.08001708984375,-0.036407470703125,0.056488037109375,-0.00862884521484375,0.0335693359375,-0.07745361328125,-0.0244140625,-0.011199951171875,-0.054595947265625,0.0369873046875,-0.05047607421875,0.0557861328125,-0.119873046875,0.0216522216796875,0.09112548828125,-0.043731689453125,0.01450347900390625,0.046295166015625,-0.005611419677734375,0.017578125,0.061492919921875,-0.03924560546875,0.07208251953125,-0.0028362274169921875,-0.007167816162109375,0.034210205078125,-0.038421630859375,-0.041229248046875,-0.05413818359375,0.05804443359375,0.01091766357421875,-0.027191162109375,0.01406097412109375,0.035736083984375,0.04351806640625,0.046630859375,0.1021728515625,0.05035400390625,-0.0301971435546875,-0.09844970703125,-0.0909423828125,0.048126220703125,-0.07720947265625,0.01236724853515625,0.037078857421875,0.0006489753723144531,0.006656646728515625,-0.05999755859375,-0.0006966590881347656,0.00637054443359375,-0.014556884765625,0.055023193359375,0.0284881591796875,0.00733184814453125,-0.015869140625,0.054534912109375,-0.08251953125,-0.0185394287109375,0.056427001953125,-0.09600830078125,-0.01293182373046875,0.075927734375,-0.030029296875,0.058319091796875,0.09954833984375,-0.037811279296875,-0.03594970703125,0.0026340484619140625,-0.0030689239501953125,-0.0689697265625,-0.051971435546875,0.108154296875,-0.11785888671875,-0.059906005859375,-0.0305328369140625,0.038909912109375,0.016571044921875,0.02471923828125,0.070068359375,0.007175445556640625,-0.061798095703125,-0.017120361328125,-0.002513885498046875,-0.05755615234375,-0.0596923828125,-0.01739501953125,0.046539306640625,-0.0791015625,-0.12261962890625,-0.0675048828125,-0.03717041015625,0.046112060546875,0.07440185546875,0.07623291015625,-0.0181884765625,0.002735137939453125,-0.060211181640625,-0.0927734375,0.0223388671875,-0.0215301513671875,0.00514984130859375,-0.0772705078125,0.06707763671875,-0.004123687744140625,0.0201873779296875,0.1572265625,-0.019927978515625,-0.13671875,0.0703125,0.01505279541015625,0.023895263671875,-0.106689453125,0.0767822265625,-0.11187744140625,0.021575927734375,0.125732421875,0.06866455078125,-0.07806396484375,-0.103515625,0.007904052734375,0.0227508544921875,-0.051116943359375,-0.070556640625,-0.06744384765625,0.057769775390625,-0.03106689453125,-0.06317138671875,0.048858642578125,0.029815673828125,0.0256805419921875,0.0797119140625,0.09881591796875,0.086669921875,0.033294677734375,0.00270843505859375,-0.052947998046875,0.041900634765625,-0.04669189453125,0.067138671875,-0.10321044921875,0.028778076171875,0.01512908935546875,-0.08343505859375,0.046112060546875,0.02740478515625,-0.059051513671875,-0.0516357421875,0.0870361328125,-0.02532958984375,0.06829833984375,-0.08062744140625]}],"model":"hf:nomic-ai/nomic-embed-text-v1.5","usage":{"prompt_tokens":4,"total_tokens":4}}' + headers: + Content-Type: + - application/json + status: 200 OK + code: 200 + duration: 948.10611ms