Files
bifrost/core/providers/openai/embedding.go
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

41 lines
1.1 KiB
Go

package openai
import (
"github.com/maximhq/bifrost/core/providers/utils"
"github.com/maximhq/bifrost/core/schemas"
)
// ToBifrostEmbeddingRequest converts an OpenAI embedding request to Bifrost format
func (request *OpenAIEmbeddingRequest) ToBifrostEmbeddingRequest(ctx *schemas.BifrostContext) *schemas.BifrostEmbeddingRequest {
provider, model := schemas.ParseModelString(request.Model, utils.CheckAndSetDefaultProvider(ctx, schemas.OpenAI))
return &schemas.BifrostEmbeddingRequest{
Provider: provider,
Model: model,
Input: request.Input,
Params: &request.EmbeddingParameters,
Fallbacks: schemas.ParseFallbacks(request.Fallbacks),
}
}
// ToOpenAIEmbeddingRequest converts a Bifrost embedding request to OpenAI format
func ToOpenAIEmbeddingRequest(bifrostReq *schemas.BifrostEmbeddingRequest) *OpenAIEmbeddingRequest {
if bifrostReq == nil {
return nil
}
params := bifrostReq.Params
openaiReq := &OpenAIEmbeddingRequest{
Model: bifrostReq.Model,
Input: bifrostReq.Input,
}
// Map parameters
if params != nil {
openaiReq.EmbeddingParameters = *params
openaiReq.ExtraParams = params.ExtraParams
}
return openaiReq
}