mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-17 01:06:37 +08:00
* feat: support gemini-2.0-flash - Enhance model support by adding new entries and refining checks for system instruction compatibility. - Update logging display behavior and adjust default quotas for better user experience. - Revamp pricing structures in the billing system to reflect current model values and deprecate outdated entries. - Streamline code by replacing hardcoded values with configurations for maintainability. * feat: add new Gemini 2.0 flash models to adapter and billing ratio * fix: update GetRequestURL to support gemini-1.5 model in versioning
42 lines
1.3 KiB
Go
42 lines
1.3 KiB
Go
package gemini
|
|
|
|
// https://ai.google.dev/models/gemini
|
|
|
|
var ModelList = []string{
|
|
"gemini-pro", "gemini-1.0-pro",
|
|
// "gemma-2-2b-it", "gemma-2-9b-it", "gemma-2-27b-it",
|
|
"gemini-1.5-flash", "gemini-1.5-flash-8b",
|
|
"gemini-1.5-pro", "gemini-1.5-pro-experimental",
|
|
"text-embedding-004", "aqa",
|
|
"gemini-2.0-flash", "gemini-2.0-flash-exp",
|
|
"gemini-2.0-flash-lite-preview-02-05",
|
|
"gemini-2.0-flash-thinking-exp-01-21",
|
|
"gemini-2.0-pro-exp-02-05",
|
|
}
|
|
|
|
// ModelsSupportSystemInstruction is the list of models that support system instruction.
|
|
//
|
|
// https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions
|
|
var ModelsSupportSystemInstruction = []string{
|
|
// "gemini-1.0-pro-002",
|
|
// "gemini-1.5-flash", "gemini-1.5-flash-001", "gemini-1.5-flash-002",
|
|
// "gemini-1.5-flash-8b",
|
|
// "gemini-1.5-pro", "gemini-1.5-pro-001", "gemini-1.5-pro-002",
|
|
// "gemini-1.5-pro-experimental",
|
|
"gemini-2.0-flash", "gemini-2.0-flash-exp",
|
|
"gemini-2.0-flash-thinking-exp-01-21",
|
|
}
|
|
|
|
// IsModelSupportSystemInstruction check if the model support system instruction.
|
|
//
|
|
// Because the main version of Go is 1.20, slice.Contains cannot be used
|
|
func IsModelSupportSystemInstruction(model string) bool {
|
|
for _, m := range ModelsSupportSystemInstruction {
|
|
if m == model {
|
|
return true
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|