41 lines
1.1 KiB
Go
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
|
|
}
|