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
9cf884c5
authored
Feb 02, 2026
by
Calcium-Ion
Committed by
GitHub
Feb 02, 2026
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2803 from seefs001/feature/qwen-responses
feat: /v1/responses qwen3 max && perplexity
parents
0ef4080e
b5877969
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
4 deletions
+12
-4
dto/openai_request.go
+4
-0
relay/channel/ali/adaptor.go
+3
-2
relay/channel/perplexity/adaptor.go
+5
-2
No files found.
dto/openai_request.go
View file @
9cf884c5
...
@@ -817,6 +817,10 @@ type OpenAIResponsesRequest struct {
...
@@ -817,6 +817,10 @@ type OpenAIResponsesRequest struct {
User
string
`json:"user,omitempty"`
User
string
`json:"user,omitempty"`
MaxToolCalls
uint
`json:"max_tool_calls,omitempty"`
MaxToolCalls
uint
`json:"max_tool_calls,omitempty"`
Prompt
json
.
RawMessage
`json:"prompt,omitempty"`
Prompt
json
.
RawMessage
`json:"prompt,omitempty"`
// qwen
EnableThinking
json
.
RawMessage
`json:"enable_thinking,omitempty"`
// perplexity
Preset
json
.
RawMessage
`json:"preset,omitempty"`
}
}
func
(
r
*
OpenAIResponsesRequest
)
GetTokenCountMeta
()
*
types
.
TokenCountMeta
{
func
(
r
*
OpenAIResponsesRequest
)
GetTokenCountMeta
()
*
types
.
TokenCountMeta
{
...
...
relay/channel/ali/adaptor.go
View file @
9cf884c5
...
@@ -84,6 +84,8 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
...
@@ -84,6 +84,8 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
fullRequestURL
=
fmt
.
Sprintf
(
"%s/compatible-mode/v1/embeddings"
,
info
.
ChannelBaseUrl
)
fullRequestURL
=
fmt
.
Sprintf
(
"%s/compatible-mode/v1/embeddings"
,
info
.
ChannelBaseUrl
)
case
constant
.
RelayModeRerank
:
case
constant
.
RelayModeRerank
:
fullRequestURL
=
fmt
.
Sprintf
(
"%s/api/v1/services/rerank/text-rerank/text-rerank"
,
info
.
ChannelBaseUrl
)
fullRequestURL
=
fmt
.
Sprintf
(
"%s/api/v1/services/rerank/text-rerank/text-rerank"
,
info
.
ChannelBaseUrl
)
case
constant
.
RelayModeResponses
:
fullRequestURL
=
fmt
.
Sprintf
(
"%s/api/v2/apps/protocols/compatible-mode/v1/responses"
,
info
.
ChannelBaseUrl
)
case
constant
.
RelayModeImagesGenerations
:
case
constant
.
RelayModeImagesGenerations
:
if
isSyncImageModel
(
info
.
OriginModelName
)
{
if
isSyncImageModel
(
info
.
OriginModelName
)
{
fullRequestURL
=
fmt
.
Sprintf
(
"%s/api/v1/services/aigc/multimodal-generation/generation"
,
info
.
ChannelBaseUrl
)
fullRequestURL
=
fmt
.
Sprintf
(
"%s/api/v1/services/aigc/multimodal-generation/generation"
,
info
.
ChannelBaseUrl
)
...
@@ -210,8 +212,7 @@ func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInf
...
@@ -210,8 +212,7 @@ func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInf
}
}
func
(
a
*
Adaptor
)
ConvertOpenAIResponsesRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
request
dto
.
OpenAIResponsesRequest
)
(
any
,
error
)
{
func
(
a
*
Adaptor
)
ConvertOpenAIResponsesRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
request
dto
.
OpenAIResponsesRequest
)
(
any
,
error
)
{
//TODO implement me
return
request
,
nil
return
nil
,
errors
.
New
(
"not implemented"
)
}
}
func
(
a
*
Adaptor
)
DoRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
requestBody
io
.
Reader
)
(
any
,
error
)
{
func
(
a
*
Adaptor
)
DoRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
requestBody
io
.
Reader
)
(
any
,
error
)
{
...
...
relay/channel/perplexity/adaptor.go
View file @
9cf884c5
...
@@ -10,6 +10,7 @@ import (
...
@@ -10,6 +10,7 @@ import (
"github.com/QuantumNous/new-api/relay/channel"
"github.com/QuantumNous/new-api/relay/channel"
"github.com/QuantumNous/new-api/relay/channel/openai"
"github.com/QuantumNous/new-api/relay/channel/openai"
relaycommon
"github.com/QuantumNous/new-api/relay/common"
relaycommon
"github.com/QuantumNous/new-api/relay/common"
relayconstant
"github.com/QuantumNous/new-api/relay/constant"
"github.com/QuantumNous/new-api/types"
"github.com/QuantumNous/new-api/types"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin"
...
@@ -42,6 +43,9 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo) {
...
@@ -42,6 +43,9 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo) {
}
}
func
(
a
*
Adaptor
)
GetRequestURL
(
info
*
relaycommon
.
RelayInfo
)
(
string
,
error
)
{
func
(
a
*
Adaptor
)
GetRequestURL
(
info
*
relaycommon
.
RelayInfo
)
(
string
,
error
)
{
if
info
.
RelayMode
==
relayconstant
.
RelayModeResponses
{
return
fmt
.
Sprintf
(
"%s/v1/responses"
,
info
.
ChannelBaseUrl
),
nil
}
return
fmt
.
Sprintf
(
"%s/chat/completions"
,
info
.
ChannelBaseUrl
),
nil
return
fmt
.
Sprintf
(
"%s/chat/completions"
,
info
.
ChannelBaseUrl
),
nil
}
}
...
@@ -71,8 +75,7 @@ func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.Rela
...
@@ -71,8 +75,7 @@ func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.Rela
}
}
func
(
a
*
Adaptor
)
ConvertOpenAIResponsesRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
request
dto
.
OpenAIResponsesRequest
)
(
any
,
error
)
{
func
(
a
*
Adaptor
)
ConvertOpenAIResponsesRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
request
dto
.
OpenAIResponsesRequest
)
(
any
,
error
)
{
// TODO implement me
return
request
,
nil
return
nil
,
errors
.
New
(
"not implemented"
)
}
}
func
(
a
*
Adaptor
)
DoRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
requestBody
io
.
Reader
)
(
any
,
error
)
{
func
(
a
*
Adaptor
)
DoRequest
(
c
*
gin
.
Context
,
info
*
relaycommon
.
RelayInfo
,
requestBody
io
.
Reader
)
(
any
,
error
)
{
...
...
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