dto.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. package aws
  2. import (
  3. "one-api/relay/channel/claude"
  4. )
  5. type AwsClaudeRequest struct {
  6. // AnthropicVersion should be "bedrock-2023-05-31"
  7. AnthropicVersion string `json:"anthropic_version"`
  8. System string `json:"system,omitempty"`
  9. Messages []claude.ClaudeMessage `json:"messages"`
  10. MaxTokens uint `json:"max_tokens,omitempty"`
  11. Temperature float64 `json:"temperature,omitempty"`
  12. TopP float64 `json:"top_p,omitempty"`
  13. TopK int `json:"top_k,omitempty"`
  14. StopSequences []string `json:"stop_sequences,omitempty"`
  15. Tools []claude.Tool `json:"tools,omitempty"`
  16. ToolChoice any `json:"tool_choice,omitempty"`
  17. }
  18. func copyRequest(req *claude.ClaudeRequest) *AwsClaudeRequest {
  19. return &AwsClaudeRequest{
  20. AnthropicVersion: "bedrock-2023-05-31",
  21. System: req.System,
  22. Messages: req.Messages,
  23. MaxTokens: req.MaxTokens,
  24. Temperature: req.Temperature,
  25. TopP: req.TopP,
  26. TopK: req.TopK,
  27. StopSequences: req.StopSequences,
  28. Tools: req.Tools,
  29. ToolChoice: req.ToolChoice,
  30. }
  31. }