constants.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package aws
  2. import "strings"
  3. var awsModelIDMap = map[string]string{
  4. "claude-instant-1.2": "anthropic.claude-instant-v1",
  5. "claude-2.0": "anthropic.claude-v2",
  6. "claude-2.1": "anthropic.claude-v2:1",
  7. "claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229-v1:0",
  8. "claude-3-opus-20240229": "anthropic.claude-3-opus-20240229-v1:0",
  9. "claude-3-haiku-20240307": "anthropic.claude-3-haiku-20240307-v1:0",
  10. "claude-3-5-sonnet-20240620": "anthropic.claude-3-5-sonnet-20240620-v1:0",
  11. "claude-3-5-sonnet-20241022": "anthropic.claude-3-5-sonnet-20241022-v2:0",
  12. "claude-3-5-haiku-20241022": "anthropic.claude-3-5-haiku-20241022-v1:0",
  13. "claude-3-7-sonnet-20250219": "anthropic.claude-3-7-sonnet-20250219-v1:0",
  14. "claude-sonnet-4-20250514": "anthropic.claude-sonnet-4-20250514-v1:0",
  15. "claude-opus-4-20250514": "anthropic.claude-opus-4-20250514-v1:0",
  16. "claude-opus-4-1-20250805": "anthropic.claude-opus-4-1-20250805-v1:0",
  17. // Nova models
  18. "nova-micro-v1:0": "amazon.nova-micro-v1:0",
  19. "nova-lite-v1:0": "amazon.nova-lite-v1:0",
  20. "nova-pro-v1:0": "amazon.nova-pro-v1:0",
  21. "nova-premier-v1:0": "amazon.nova-premier-v1:0",
  22. }
  23. var awsModelCanCrossRegionMap = map[string]map[string]bool{
  24. "anthropic.claude-3-sonnet-20240229-v1:0": {
  25. "us": true,
  26. "eu": true,
  27. "ap": true,
  28. },
  29. "anthropic.claude-3-opus-20240229-v1:0": {
  30. "us": true,
  31. },
  32. "anthropic.claude-3-haiku-20240307-v1:0": {
  33. "us": true,
  34. "eu": true,
  35. "ap": true,
  36. },
  37. "anthropic.claude-3-5-sonnet-20240620-v1:0": {
  38. "us": true,
  39. "eu": true,
  40. "ap": true,
  41. },
  42. "anthropic.claude-3-5-sonnet-20241022-v2:0": {
  43. "us": true,
  44. "ap": true,
  45. },
  46. "anthropic.claude-3-5-haiku-20241022-v1:0": {
  47. "us": true,
  48. },
  49. "anthropic.claude-3-7-sonnet-20250219-v1:0": {
  50. "us": true,
  51. "ap": true,
  52. "eu": true,
  53. },
  54. "anthropic.claude-sonnet-4-20250514-v1:0": {
  55. "us": true,
  56. "ap": true,
  57. "eu": true,
  58. },
  59. "anthropic.claude-opus-4-20250514-v1:0": {
  60. "us": true,
  61. },
  62. "anthropic.claude-opus-4-1-20250805-v1:0": {
  63. "us": true,
  64. },
  65. // Nova models - all support three major regions
  66. "amazon.nova-micro-v1:0": {
  67. "us": true,
  68. "eu": true,
  69. "apac": true,
  70. },
  71. "amazon.nova-lite-v1:0": {
  72. "us": true,
  73. "eu": true,
  74. "apac": true,
  75. },
  76. "amazon.nova-pro-v1:0": {
  77. "us": true,
  78. "eu": true,
  79. "apac": true,
  80. },
  81. "amazon.nova-premier-v1:0": {
  82. "us": true,
  83. "eu": true,
  84. "apac": true,
  85. }}
  86. var awsRegionCrossModelPrefixMap = map[string]string{
  87. "us": "us",
  88. "eu": "eu",
  89. "ap": "apac",
  90. }
  91. var ChannelName = "aws"
  92. // 判断是否为Nova模型
  93. func isNovaModel(modelId string) bool {
  94. return strings.HasPrefix(modelId, "nova-")
  95. }