mirror of
https://github.com/linux-do/new-api.git
synced 2025-09-21 09:46:37 +08:00
# feat: add support for gemini-exp-1114 model / 添加 gemini-exp-1114 模型支持 ## Changes / 更改内容 - Add gemini-exp-1114 to ModelList in constant.go - Add gemini-exp-1114 to GeminiModelMap with v1beta API version - 在 constant.go 的 ModelList 中添加 gemini-exp-1114 模型 - 在 GeminiModelMap 中添加 gemini-exp-1114 的 v1beta API 版本映射 ## Testing / 测试情况 - [x] Tested gemini-exp-1114 model API calls / 已测试 gemini-exp-1114 模型的 API 调用 - [x] Verified existing models still work / 验证现有模型仍然正常工作 - [x] Confirmed v1beta API version works correctly / 确认 v1beta API 版本正常工作 ## Related Issues / 相关问题 - Fix 404 error when calling gemini-exp-1114 model / 修复调用 gemini-exp-1114 模型时的 404 错误 ## Implementation Details / 实现细节 - Use configuration-based approach instead of code modification / 使用基于配置的方式而不是修改代码 - Maintain clean separation of concerns / 保持关注点分离 - Keep backward compatibility / 保持向后兼容性 ## Notes / 注意事项 - This PR follows the principle of minimal invasion / 本 PR 遵循最小侵入原则 - Configuration changes only / 仅包含配置更改
53 lines
1.5 KiB
Go
53 lines
1.5 KiB
Go
package constant
|
||
|
||
import (
|
||
"fmt"
|
||
"one-api/common"
|
||
"os"
|
||
"strings"
|
||
)
|
||
|
||
var StreamingTimeout = common.GetEnvOrDefault("STREAMING_TIMEOUT", 30)
|
||
var DifyDebug = common.GetEnvOrDefaultBool("DIFY_DEBUG", true)
|
||
|
||
// ForceStreamOption 覆盖请求参数,强制返回usage信息
|
||
var ForceStreamOption = common.GetEnvOrDefaultBool("FORCE_STREAM_OPTION", true)
|
||
|
||
var GetMediaToken = common.GetEnvOrDefaultBool("GET_MEDIA_TOKEN", true)
|
||
|
||
var GetMediaTokenNotStream = common.GetEnvOrDefaultBool("GET_MEDIA_TOKEN_NOT_STREAM", true)
|
||
|
||
var UpdateTask = common.GetEnvOrDefaultBool("UPDATE_TASK", true)
|
||
|
||
var GeminiModelMap = map[string]string{
|
||
"gemini-1.5-pro-latest": "v1beta",
|
||
"gemini-1.5-pro-001": "v1beta",
|
||
"gemini-1.5-pro": "v1beta",
|
||
"gemini-1.5-pro-exp-0801": "v1beta",
|
||
"gemini-1.5-pro-exp-0827": "v1beta",
|
||
"gemini-1.5-flash-latest": "v1beta",
|
||
"gemini-1.5-flash-exp-0827": "v1beta",
|
||
"gemini-1.5-flash-001": "v1beta",
|
||
"gemini-1.5-flash": "v1beta",
|
||
"gemini-ultra": "v1beta",
|
||
"gemini-exp-1114": "v1beta",
|
||
}
|
||
|
||
func InitEnv() {
|
||
modelVersionMapStr := strings.TrimSpace(os.Getenv("GEMINI_MODEL_MAP"))
|
||
if modelVersionMapStr == "" {
|
||
return
|
||
}
|
||
for _, pair := range strings.Split(modelVersionMapStr, ",") {
|
||
parts := strings.Split(pair, ":")
|
||
if len(parts) == 2 {
|
||
GeminiModelMap[parts[0]] = parts[1]
|
||
} else {
|
||
common.SysError(fmt.Sprintf("invalid model version map: %s", pair))
|
||
}
|
||
}
|
||
}
|
||
|
||
// 是否生成初始令牌,默认关闭。
|
||
var GenerateDefaultToken = common.GetEnvOrDefaultBool("GENERATE_DEFAULT_TOKEN", false)
|