Compare commits

..

No commits in common. "5f1c5945f86c71892862ee97d6e01cefc8834a4f" and "7c0b93c38cea73b356be662fcdea4f7270f7eee1" have entirely different histories.

5 changed files with 12 additions and 14 deletions

View File

@ -25,12 +25,12 @@ services:
- db - db
redis: redis:
image: redis:7.4 image: redis:latest
container_name: redis container_name: redis
restart: always restart: always
db: db:
image: mysql:8.2 image: mysql:8.2.0
container_name: mysql container_name: mysql
restart: always restart: always
volumes: volumes:

View File

@ -48,7 +48,7 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re
var claudeReq *claude.ClaudeRequest var claudeReq *claude.ClaudeRequest
var err error var err error
claudeReq, err = claude.RequestOpenAI2ClaudeMessage(c, *request) claudeReq, err = claude.RequestOpenAI2ClaudeMessage(*request)
c.Set("request_model", request.Model) c.Set("request_model", request.Model)
c.Set("converted_request", claudeReq) c.Set("converted_request", claudeReq)

View File

@ -70,9 +70,9 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re
return nil, errors.New("request is nil") return nil, errors.New("request is nil")
} }
if a.RequestMode == RequestModeCompletion { if a.RequestMode == RequestModeCompletion {
return RequestOpenAI2ClaudeComplete(c, *request), nil return RequestOpenAI2ClaudeComplete(*request), nil
} else { } else {
return RequestOpenAI2ClaudeMessage(c, *request) return RequestOpenAI2ClaudeMessage(*request)
} }
} }

View File

@ -28,7 +28,7 @@ func stopReasonClaude2OpenAI(reason string) string {
} }
} }
func RequestOpenAI2ClaudeComplete(c *gin.Context, textRequest dto.GeneralOpenAIRequest) *ClaudeRequest { func RequestOpenAI2ClaudeComplete(textRequest dto.GeneralOpenAIRequest) *ClaudeRequest {
claudeRequest := ClaudeRequest{ claudeRequest := ClaudeRequest{
Model: textRequest.Model, Model: textRequest.Model,
@ -59,18 +59,16 @@ func RequestOpenAI2ClaudeComplete(c *gin.Context, textRequest dto.GeneralOpenAIR
return &claudeRequest return &claudeRequest
} }
func RequestOpenAI2ClaudeMessage(c *gin.Context, textRequest dto.GeneralOpenAIRequest) (*ClaudeRequest, error) { func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeRequest, error) {
claudeTools := make([]Tool, 0, len(textRequest.Tools)) claudeTools := make([]Tool, 0, len(textRequest.Tools))
if strings.HasSuffix(textRequest.Model, "-thinking") { if strings.HasSuffix(textRequest.Model, "-thinking") {
textRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking") textRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking")
if textRequest.MaxTokens == 0 { if textRequest.MaxTokens == 0 {
textRequest.MaxTokens = 8192 textRequest.MaxTokens = 4096
} else if textRequest.MaxTokens < 2048 { } else if textRequest.MaxTokens < 1280 {
textRequest.MaxTokens = 2048 textRequest.MaxTokens = 1280
} else if textRequest.MaxTokens > 64000 {
c.Request.Header.Set("anthropic-beta", "output-128k-2025-02-19")
} }
textRequest.TopP = 0 textRequest.TopP = 0
@ -78,7 +76,7 @@ func RequestOpenAI2ClaudeMessage(c *gin.Context, textRequest dto.GeneralOpenAIRe
textRequest.Temperature = 0 textRequest.Temperature = 0
textRequest.Thinking = &dto.Thinking{ textRequest.Thinking = &dto.Thinking{
Type: "enabled", Type: "enabled",
BudgetTokens: int(float64(textRequest.MaxTokens) * 0.5), BudgetTokens: int(float64(textRequest.MaxTokens) * 0.8),
} }
} }

View File

@ -122,7 +122,7 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re
return nil, errors.New("request is nil") return nil, errors.New("request is nil")
} }
if a.RequestMode == RequestModeClaude { if a.RequestMode == RequestModeClaude {
claudeReq, err := claude.RequestOpenAI2ClaudeMessage(c, *request) claudeReq, err := claude.RequestOpenAI2ClaudeMessage(*request)
if err != nil { if err != nil {
return nil, err return nil, err
} }