From 44233d5c04e04625b660f0c43a51dd50d4b5192c Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 9 Feb 2025 18:14:01 +0800 Subject: [PATCH] feat: add completion tokens details and reasoning effort fields to model (close #2050) --- relay/model/general.go | 1 + relay/model/misc.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/relay/model/general.go b/relay/model/general.go index 288c07ff..5f5968c8 100644 --- a/relay/model/general.go +++ b/relay/model/general.go @@ -26,6 +26,7 @@ type GeneralOpenAIRequest struct { Messages []Message `json:"messages,omitempty"` Model string `json:"model,omitempty"` Store *bool `json:"store,omitempty"` + ReasoningEffort *string `json:"reasoning_effort,omitempty"` Metadata any `json:"metadata,omitempty"` FrequencyPenalty *float64 `json:"frequency_penalty,omitempty"` LogitBias any `json:"logit_bias,omitempty"` diff --git a/relay/model/misc.go b/relay/model/misc.go index 163bc398..fdba01ea 100644 --- a/relay/model/misc.go +++ b/relay/model/misc.go @@ -4,6 +4,14 @@ type Usage struct { PromptTokens int `json:"prompt_tokens"` CompletionTokens int `json:"completion_tokens"` TotalTokens int `json:"total_tokens"` + + CompletionTokensDetails *CompletionTokensDetails `json:"completion_tokens_details,omitempty"` +} + +type CompletionTokensDetails struct { + ReasoningTokens int `json:"reasoning_tokens"` + AcceptedPredictionTokens int `json:"accepted_prediction_tokens"` + RejectedPredictionTokens int `json:"rejected_prediction_tokens"` } type Error struct {