first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:52:23 +03:00
commit 880f412e2c
2662 changed files with 866266 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
package huggingface
import (
"fmt"
"github.com/maximhq/bifrost/core/schemas"
)
// ToHuggingFaceResponsesRequest converts a Bifrost Responses request into the Hugging Face
// chat-completions payload that the provider already understands.
func ToHuggingFaceResponsesRequest(bifrostReq *schemas.BifrostResponsesRequest) (*HuggingFaceChatRequest, error) {
if bifrostReq == nil {
return nil, nil
}
chatReq := bifrostReq.ToChatRequest()
if chatReq == nil {
return nil, fmt.Errorf("failed to convert responses request to chat request")
}
hfReq, err := ToHuggingFaceChatCompletionRequest(chatReq)
if err != nil {
return nil, err
}
if hfReq == nil {
return nil, fmt.Errorf("failed to convert chat request to Hugging Face request")
}
return hfReq, nil
}
// ToBifrostResponsesResponseFromHuggingFace converts a Bifrost chat response into the
// Bifrost Responses response shape, preserving provider metadata.
func ToBifrostResponsesResponseFromHuggingFace(resp *schemas.BifrostChatResponse, requestedModel string) (*schemas.BifrostResponsesResponse, error) {
if resp == nil {
return nil, nil
}
// Ensure model is set
if resp.Model == "" {
resp.Model = requestedModel
}
responsesResp := resp.ToBifrostResponsesResponse()
if responsesResp != nil {
}
return responsesResp, nil
}