Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions relay/channel/openai/adaptor.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,19 +194,26 @@ func (a *Adaptor) SetupRequestHeader(c *gin.Context, header *http.Header, info *
}
}
if info.RelayMode == relayconstant.RelayModeRealtime {
// OpenAI 已下线 Realtime Beta API,GA 模型收到 beta 标识会以 beta_api_shape_disabled 拒绝;
// 仅对遗留 preview 模型保留 beta 标识
legacyRealtimeBeta := strings.Contains(info.UpstreamModelName, "-realtime-preview")
swp := c.Request.Header.Get("Sec-WebSocket-Protocol")
if swp != "" {
items := []string{
"realtime",
"openai-insecure-api-key." + info.ApiKey,
"openai-beta.realtime-v1",
}
if legacyRealtimeBeta {
items = append(items, "openai-beta.realtime-v1")
}
header.Set("Sec-WebSocket-Protocol", strings.Join(items, ","))
//req.Header.Set("Sec-WebSocket-Key", c.Request.Header.Get("Sec-WebSocket-Key"))
//req.Header.Set("Sec-Websocket-Extensions", c.Request.Header.Get("Sec-Websocket-Extensions"))
//req.Header.Set("Sec-Websocket-Version", c.Request.Header.Get("Sec-Websocket-Version"))
} else {
header.Set("openai-beta", "realtime=v1")
if legacyRealtimeBeta {
header.Set("openai-beta", "realtime=v1")
}
if !hasAuthOverride {
header.Set("Authorization", "Bearer "+info.ApiKey)
}
Expand Down
2 changes: 2 additions & 0 deletions relay/channel/openai/constant.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ var ModelList = []string{
"gpt-realtime", "gpt-realtime-2025-08-28",
"gpt-realtime-mini", "gpt-realtime-mini-2025-10-06", "gpt-realtime-mini-2025-12-15",
"gpt-realtime-1.5",
"gpt-realtime-2", "gpt-realtime-2.1", "gpt-realtime-2.1-mini",
"gpt-realtime-whisper", "gpt-realtime-translate",
"text-embedding-ada-002", "text-embedding-3-small", "text-embedding-3-large",
"text-curie-001", "text-babbage-001", "text-ada-001",
"text-moderation-latest", "text-moderation-stable",
Expand Down