feat: publish v1.0.0-rc.36-custom.1
Publish Docker image (Multi-arch) / Build & push (amd64) (push) Failing after 9m20s
Release (Linux, macOS, Windows) / Linux Release (push) Failing after 55m7s
Publish Docker image (Multi-arch) / Build & push (arm64) (push) Canceled after 0s
Release (Linux, macOS, Windows) / macOS Release (push) Canceled after 0s
Release (Linux, macOS, Windows) / Windows Release (push) Canceled after 0s
Publish Docker image (Multi-arch) / Create multi-arch manifests (push) Canceled after 0s
Publish Docker image (Multi-arch) / Build & push (amd64) (push) Failing after 9m20s
Release (Linux, macOS, Windows) / Linux Release (push) Failing after 55m7s
Publish Docker image (Multi-arch) / Build & push (arm64) (push) Canceled after 0s
Release (Linux, macOS, Windows) / macOS Release (push) Canceled after 0s
Release (Linux, macOS, Windows) / Windows Release (push) Canceled after 0s
Publish Docker image (Multi-arch) / Create multi-arch manifests (push) Canceled after 0s
This commit is contained in:
commit
bb7968b612
2381 files changed
+551494
No files matched your search
@@ -0,0 +1,36 @@
|
||||
package ali
|
||||
|
||||
import (
|
||||
"github.com/QuantumNous/new-api/relaykit/dto"
|
||||
"github.com/samber/lo"
|
||||
)
|
||||
|
||||
// https://help.aliyun.com/document_detail/613695.html?spm=a2c4g.2399480.0.0.1adb778fAdzP9w#341800c0f8w0r
|
||||
|
||||
const EnableSearchModelSuffix = "-internet"
|
||||
|
||||
func requestOpenAI2Ali(request dto.GeneralOpenAIRequest, upstreamModelName string) *dto.GeneralOpenAIRequest {
|
||||
modelName := upstreamModelName
|
||||
if modelName == "" {
|
||||
modelName = request.Model
|
||||
}
|
||||
if !dto.IsQwenThinkingBudgetModel(modelName) {
|
||||
request.ThinkingBudget = nil
|
||||
}
|
||||
|
||||
// DashScope rejects top_p at the 0 and 1 boundaries, so an explicit value is
|
||||
// clamped into the open interval. The clamp stays at two decimals because
|
||||
// some models on the platform reject a third decimal with
|
||||
// "top_p参数非法:限制小数点[2]位".
|
||||
//
|
||||
// A request that omits top_p is left untouched: injecting a value would
|
||||
// silently replace the model's own default with near-greedy decoding.
|
||||
if request.TopP != nil {
|
||||
if *request.TopP >= 1 {
|
||||
request.TopP = lo.ToPtr(0.99)
|
||||
} else if *request.TopP <= 0 {
|
||||
request.TopP = lo.ToPtr(0.01)
|
||||
}
|
||||
}
|
||||
return &request
|
||||
}
|
||||
Reference in new issue
Block a user