Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
new-api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a4b02107
authored
Aug 07, 2025
by
CaIon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: update MaxTokens handling
parent
97b8d7de
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
18 additions
and
39 deletions
+18
-39
controller/channel-test.go
+1
-1
dto/openai_request.go
+5
-2
relay/channel/baidu/relay-baidu.go
+3
-3
relay/channel/claude/relay-claude.go
+1
-1
relay/channel/cloudflare/dto.go
+1
-1
relay/channel/cohere/dto.go
+1
-1
relay/channel/gemini/relay-gemini.go
+1
-1
relay/channel/mistral/text.go
+1
-1
relay/channel/ollama/relay-ollama.go
+1
-1
relay/channel/palm/relay-palm.go
+0
-24
relay/channel/perplexity/relay-perplexity.go
+1
-1
relay/channel/xunfei/relay-xunfei.go
+1
-1
relay/channel/zhipu_4v/relay-zhipu_v4.go
+1
-1
No files found.
controller/channel-test.go
View file @
a4b02107
...
@@ -161,7 +161,7 @@ func testChannel(channel *model.Channel, testModel string) testResult {
...
@@ -161,7 +161,7 @@ func testChannel(channel *model.Channel, testModel string) testResult {
logInfo
.
ApiKey
=
""
logInfo
.
ApiKey
=
""
common
.
SysLog
(
fmt
.
Sprintf
(
"testing channel %d with model %s , info %+v "
,
channel
.
Id
,
testModel
,
logInfo
))
common
.
SysLog
(
fmt
.
Sprintf
(
"testing channel %d with model %s , info %+v "
,
channel
.
Id
,
testModel
,
logInfo
))
priceData
,
err
:=
helper
.
ModelPriceHelper
(
c
,
info
,
0
,
int
(
request
.
MaxTokens
))
priceData
,
err
:=
helper
.
ModelPriceHelper
(
c
,
info
,
0
,
int
(
request
.
GetMaxTokens
()
))
if
err
!=
nil
{
if
err
!=
nil
{
return
testResult
{
return
testResult
{
context
:
c
,
context
:
c
,
...
...
dto/openai_request.go
View file @
a4b02107
...
@@ -99,8 +99,11 @@ type StreamOptions struct {
...
@@ -99,8 +99,11 @@ type StreamOptions struct {
IncludeUsage
bool
`json:"include_usage,omitempty"`
IncludeUsage
bool
`json:"include_usage,omitempty"`
}
}
func
(
r
*
GeneralOpenAIRequest
)
GetMaxTokens
()
int
{
func
(
r
*
GeneralOpenAIRequest
)
GetMaxTokens
()
uint
{
return
int
(
r
.
MaxTokens
)
if
r
.
MaxCompletionTokens
!=
0
{
return
r
.
MaxCompletionTokens
}
return
r
.
MaxTokens
}
}
func
(
r
*
GeneralOpenAIRequest
)
ParseInput
()
[]
string
{
func
(
r
*
GeneralOpenAIRequest
)
ParseInput
()
[]
string
{
...
...
relay/channel/baidu/relay-baidu.go
View file @
a4b02107
...
@@ -34,9 +34,9 @@ func requestOpenAI2Baidu(request dto.GeneralOpenAIRequest) *BaiduChatRequest {
...
@@ -34,9 +34,9 @@ func requestOpenAI2Baidu(request dto.GeneralOpenAIRequest) *BaiduChatRequest {
EnableCitation
:
false
,
EnableCitation
:
false
,
UserId
:
request
.
User
,
UserId
:
request
.
User
,
}
}
if
request
.
MaxTokens
!=
0
{
if
request
.
GetMaxTokens
()
!=
0
{
maxTokens
:=
int
(
request
.
MaxTokens
)
maxTokens
:=
int
(
request
.
GetMaxTokens
()
)
if
request
.
MaxTokens
==
1
{
if
request
.
GetMaxTokens
()
==
1
{
maxTokens
=
2
maxTokens
=
2
}
}
baiduRequest
.
MaxOutputTokens
=
&
maxTokens
baiduRequest
.
MaxOutputTokens
=
&
maxTokens
...
...
relay/channel/claude/relay-claude.go
View file @
a4b02107
...
@@ -149,7 +149,7 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*dto.Cla
...
@@ -149,7 +149,7 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*dto.Cla
claudeRequest
:=
dto
.
ClaudeRequest
{
claudeRequest
:=
dto
.
ClaudeRequest
{
Model
:
textRequest
.
Model
,
Model
:
textRequest
.
Model
,
MaxTokens
:
textRequest
.
MaxTokens
,
MaxTokens
:
textRequest
.
GetMaxTokens
()
,
StopSequences
:
nil
,
StopSequences
:
nil
,
Temperature
:
textRequest
.
Temperature
,
Temperature
:
textRequest
.
Temperature
,
TopP
:
textRequest
.
TopP
,
TopP
:
textRequest
.
TopP
,
...
...
relay/channel/cloudflare/dto.go
View file @
a4b02107
...
@@ -5,7 +5,7 @@ import "one-api/dto"
...
@@ -5,7 +5,7 @@ import "one-api/dto"
type
CfRequest
struct
{
type
CfRequest
struct
{
Messages
[]
dto
.
Message
`json:"messages,omitempty"`
Messages
[]
dto
.
Message
`json:"messages,omitempty"`
Lora
string
`json:"lora,omitempty"`
Lora
string
`json:"lora,omitempty"`
MaxTokens
int
`json:"max_tokens,omitempty"`
MaxTokens
uint
`json:"max_tokens,omitempty"`
Prompt
string
`json:"prompt,omitempty"`
Prompt
string
`json:"prompt,omitempty"`
Raw
bool
`json:"raw,omitempty"`
Raw
bool
`json:"raw,omitempty"`
Stream
bool
`json:"stream,omitempty"`
Stream
bool
`json:"stream,omitempty"`
...
...
relay/channel/cohere/dto.go
View file @
a4b02107
...
@@ -7,7 +7,7 @@ type CohereRequest struct {
...
@@ -7,7 +7,7 @@ type CohereRequest struct {
ChatHistory
[]
ChatHistory
`json:"chat_history"`
ChatHistory
[]
ChatHistory
`json:"chat_history"`
Message
string
`json:"message"`
Message
string
`json:"message"`
Stream
bool
`json:"stream"`
Stream
bool
`json:"stream"`
MaxTokens
int
`json:"max_tokens"`
MaxTokens
uint
`json:"max_tokens"`
SafetyMode
string
`json:"safety_mode,omitempty"`
SafetyMode
string
`json:"safety_mode,omitempty"`
}
}
...
...
relay/channel/gemini/relay-gemini.go
View file @
a4b02107
...
@@ -184,7 +184,7 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest, info *relaycommon
...
@@ -184,7 +184,7 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest, info *relaycommon
GenerationConfig
:
dto
.
GeminiChatGenerationConfig
{
GenerationConfig
:
dto
.
GeminiChatGenerationConfig
{
Temperature
:
textRequest
.
Temperature
,
Temperature
:
textRequest
.
Temperature
,
TopP
:
textRequest
.
TopP
,
TopP
:
textRequest
.
TopP
,
MaxOutputTokens
:
textRequest
.
MaxTokens
,
MaxOutputTokens
:
textRequest
.
GetMaxTokens
()
,
Seed
:
int64
(
textRequest
.
Seed
),
Seed
:
int64
(
textRequest
.
Seed
),
},
},
}
}
...
...
relay/channel/mistral/text.go
View file @
a4b02107
...
@@ -71,7 +71,7 @@ func requestOpenAI2Mistral(request *dto.GeneralOpenAIRequest) *dto.GeneralOpenAI
...
@@ -71,7 +71,7 @@ func requestOpenAI2Mistral(request *dto.GeneralOpenAIRequest) *dto.GeneralOpenAI
Messages
:
messages
,
Messages
:
messages
,
Temperature
:
request
.
Temperature
,
Temperature
:
request
.
Temperature
,
TopP
:
request
.
TopP
,
TopP
:
request
.
TopP
,
MaxTokens
:
request
.
MaxTokens
,
MaxTokens
:
request
.
GetMaxTokens
()
,
Tools
:
request
.
Tools
,
Tools
:
request
.
Tools
,
ToolChoice
:
request
.
ToolChoice
,
ToolChoice
:
request
.
ToolChoice
,
}
}
...
...
relay/channel/ollama/relay-ollama.go
View file @
a4b02107
...
@@ -60,7 +60,7 @@ func requestOpenAI2Ollama(request *dto.GeneralOpenAIRequest) (*OllamaRequest, er
...
@@ -60,7 +60,7 @@ func requestOpenAI2Ollama(request *dto.GeneralOpenAIRequest) (*OllamaRequest, er
TopK
:
request
.
TopK
,
TopK
:
request
.
TopK
,
Stop
:
Stop
,
Stop
:
Stop
,
Tools
:
request
.
Tools
,
Tools
:
request
.
Tools
,
MaxTokens
:
request
.
MaxTokens
,
MaxTokens
:
request
.
GetMaxTokens
()
,
ResponseFormat
:
request
.
ResponseFormat
,
ResponseFormat
:
request
.
ResponseFormat
,
FrequencyPenalty
:
request
.
FrequencyPenalty
,
FrequencyPenalty
:
request
.
FrequencyPenalty
,
PresencePenalty
:
request
.
PresencePenalty
,
PresencePenalty
:
request
.
PresencePenalty
,
...
...
relay/channel/palm/relay-palm.go
View file @
a4b02107
...
@@ -18,30 +18,6 @@ import (
...
@@ -18,30 +18,6 @@ import (
// https://developers.generativeai.google/api/rest/generativelanguage/models/generateMessage#request-body
// https://developers.generativeai.google/api/rest/generativelanguage/models/generateMessage#request-body
// https://developers.generativeai.google/api/rest/generativelanguage/models/generateMessage#response-body
// https://developers.generativeai.google/api/rest/generativelanguage/models/generateMessage#response-body
func
requestOpenAI2PaLM
(
textRequest
dto
.
GeneralOpenAIRequest
)
*
PaLMChatRequest
{
palmRequest
:=
PaLMChatRequest
{
Prompt
:
PaLMPrompt
{
Messages
:
make
([]
PaLMChatMessage
,
0
,
len
(
textRequest
.
Messages
)),
},
Temperature
:
textRequest
.
Temperature
,
CandidateCount
:
textRequest
.
N
,
TopP
:
textRequest
.
TopP
,
TopK
:
textRequest
.
MaxTokens
,
}
for
_
,
message
:=
range
textRequest
.
Messages
{
palmMessage
:=
PaLMChatMessage
{
Content
:
message
.
StringContent
(),
}
if
message
.
Role
==
"user"
{
palmMessage
.
Author
=
"0"
}
else
{
palmMessage
.
Author
=
"1"
}
palmRequest
.
Prompt
.
Messages
=
append
(
palmRequest
.
Prompt
.
Messages
,
palmMessage
)
}
return
&
palmRequest
}
func
responsePaLM2OpenAI
(
response
*
PaLMChatResponse
)
*
dto
.
OpenAITextResponse
{
func
responsePaLM2OpenAI
(
response
*
PaLMChatResponse
)
*
dto
.
OpenAITextResponse
{
fullTextResponse
:=
dto
.
OpenAITextResponse
{
fullTextResponse
:=
dto
.
OpenAITextResponse
{
Choices
:
make
([]
dto
.
OpenAITextResponseChoice
,
0
,
len
(
response
.
Candidates
)),
Choices
:
make
([]
dto
.
OpenAITextResponseChoice
,
0
,
len
(
response
.
Candidates
)),
...
...
relay/channel/perplexity/relay-perplexity.go
View file @
a4b02107
...
@@ -16,6 +16,6 @@ func requestOpenAI2Perplexity(request dto.GeneralOpenAIRequest) *dto.GeneralOpen
...
@@ -16,6 +16,6 @@ func requestOpenAI2Perplexity(request dto.GeneralOpenAIRequest) *dto.GeneralOpen
Messages
:
messages
,
Messages
:
messages
,
Temperature
:
request
.
Temperature
,
Temperature
:
request
.
Temperature
,
TopP
:
request
.
TopP
,
TopP
:
request
.
TopP
,
MaxTokens
:
request
.
MaxTokens
,
MaxTokens
:
request
.
GetMaxTokens
()
,
}
}
}
}
relay/channel/xunfei/relay-xunfei.go
View file @
a4b02107
...
@@ -48,7 +48,7 @@ func requestOpenAI2Xunfei(request dto.GeneralOpenAIRequest, xunfeiAppId string,
...
@@ -48,7 +48,7 @@ func requestOpenAI2Xunfei(request dto.GeneralOpenAIRequest, xunfeiAppId string,
xunfeiRequest
.
Parameter
.
Chat
.
Domain
=
domain
xunfeiRequest
.
Parameter
.
Chat
.
Domain
=
domain
xunfeiRequest
.
Parameter
.
Chat
.
Temperature
=
request
.
Temperature
xunfeiRequest
.
Parameter
.
Chat
.
Temperature
=
request
.
Temperature
xunfeiRequest
.
Parameter
.
Chat
.
TopK
=
request
.
N
xunfeiRequest
.
Parameter
.
Chat
.
TopK
=
request
.
N
xunfeiRequest
.
Parameter
.
Chat
.
MaxTokens
=
request
.
MaxTokens
xunfeiRequest
.
Parameter
.
Chat
.
MaxTokens
=
request
.
GetMaxTokens
()
xunfeiRequest
.
Payload
.
Message
.
Text
=
messages
xunfeiRequest
.
Payload
.
Message
.
Text
=
messages
return
&
xunfeiRequest
return
&
xunfeiRequest
}
}
...
...
relay/channel/zhipu_4v/relay-zhipu_v4.go
View file @
a4b02107
...
@@ -105,7 +105,7 @@ func requestOpenAI2Zhipu(request dto.GeneralOpenAIRequest) *dto.GeneralOpenAIReq
...
@@ -105,7 +105,7 @@ func requestOpenAI2Zhipu(request dto.GeneralOpenAIRequest) *dto.GeneralOpenAIReq
Messages
:
messages
,
Messages
:
messages
,
Temperature
:
request
.
Temperature
,
Temperature
:
request
.
Temperature
,
TopP
:
request
.
TopP
,
TopP
:
request
.
TopP
,
MaxTokens
:
request
.
MaxTokens
,
MaxTokens
:
request
.
GetMaxTokens
()
,
Stop
:
Stop
,
Stop
:
Stop
,
Tools
:
request
.
Tools
,
Tools
:
request
.
Tools
,
ToolChoice
:
request
.
ToolChoice
,
ToolChoice
:
request
.
ToolChoice
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment