38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package vertex
|
|
|
|
import (
|
|
"one-api/dto"
|
|
)
|
|
|
|
type VertexAIClaudeRequest struct {
|
|
AnthropicVersion string `json:"anthropic_version"`
|
|
Messages []dto.ClaudeMessage `json:"messages"`
|
|
System any `json:"system,omitempty"`
|
|
MaxTokens uint `json:"max_tokens,omitempty"`
|
|
StopSequences []string `json:"stop_sequences,omitempty"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
Temperature *float64 `json:"temperature,omitempty"`
|
|
TopP float64 `json:"top_p,omitempty"`
|
|
TopK int `json:"top_k,omitempty"`
|
|
Tools any `json:"tools,omitempty"`
|
|
ToolChoice any `json:"tool_choice,omitempty"`
|
|
Thinking *dto.Thinking `json:"thinking,omitempty"`
|
|
}
|
|
|
|
func copyRequest(req *dto.ClaudeRequest, version string) *VertexAIClaudeRequest {
|
|
return &VertexAIClaudeRequest{
|
|
AnthropicVersion: version,
|
|
System: req.System,
|
|
Messages: req.Messages,
|
|
MaxTokens: req.MaxTokens,
|
|
Stream: req.Stream,
|
|
Temperature: req.Temperature,
|
|
TopP: req.TopP,
|
|
TopK: req.TopK,
|
|
StopSequences: req.StopSequences,
|
|
Tools: req.Tools,
|
|
ToolChoice: req.ToolChoice,
|
|
Thinking: req.Thinking,
|
|
}
|
|
}
|