dto.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package vertex
  2. import (
  3. "one-api/dto"
  4. )
  5. type VertexAIClaudeRequest struct {
  6. AnthropicVersion string `json:"anthropic_version"`
  7. Messages []dto.ClaudeMessage `json:"messages"`
  8. System any `json:"system,omitempty"`
  9. MaxTokens uint `json:"max_tokens,omitempty"`
  10. StopSequences []string `json:"stop_sequences,omitempty"`
  11. Stream bool `json:"stream,omitempty"`
  12. Temperature *float64 `json:"temperature,omitempty"`
  13. TopP float64 `json:"top_p,omitempty"`
  14. TopK int `json:"top_k,omitempty"`
  15. Tools any `json:"tools,omitempty"`
  16. ToolChoice any `json:"tool_choice,omitempty"`
  17. Thinking *dto.Thinking `json:"thinking,omitempty"`
  18. }
  19. func copyRequest(req *dto.ClaudeRequest, version string) *VertexAIClaudeRequest {
  20. return &VertexAIClaudeRequest{
  21. AnthropicVersion: version,
  22. System: req.System,
  23. Messages: req.Messages,
  24. MaxTokens: req.MaxTokens,
  25. Stream: req.Stream,
  26. Temperature: req.Temperature,
  27. TopP: req.TopP,
  28. TopK: req.TopK,
  29. StopSequences: req.StopSequences,
  30. Tools: req.Tools,
  31. ToolChoice: req.ToolChoice,
  32. Thinking: req.Thinking,
  33. }
  34. }