主要更新: - 更新 go.mod/go.sum 依赖 - 重新生成 Ent ORM 代码 - 更新 Wire 依赖注入配置 - 添加 docker-compose.override.yml 到 .gitignore - 更新 README 文档(Simple Mode 说明和已知问题) - 清理调试日志 - 其他代码优化和格式修复
45 lines
1.7 KiB
Go
45 lines
1.7 KiB
Go
package gemini
|
|
|
|
// This package provides minimal fallback model metadata for Gemini native endpoints.
|
|
// It is used when upstream model listing is unavailable (e.g. OAuth token missing AI Studio scopes).
|
|
|
|
type Model struct {
|
|
Name string `json:"name"`
|
|
DisplayName string `json:"displayName,omitempty"`
|
|
Description string `json:"description,omitempty"`
|
|
SupportedGenerationMethods []string `json:"supportedGenerationMethods,omitempty"`
|
|
}
|
|
|
|
type ModelsListResponse struct {
|
|
Models []Model `json:"models"`
|
|
}
|
|
|
|
func DefaultModels() []Model {
|
|
methods := []string{"generateContent", "streamGenerateContent"}
|
|
return []Model{
|
|
{Name: "models/gemini-3-pro-preview", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-3-flash-preview", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-2.5-pro", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-2.5-flash", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-2.0-flash", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-1.5-pro", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-1.5-flash", SupportedGenerationMethods: methods},
|
|
{Name: "models/gemini-1.5-flash-8b", SupportedGenerationMethods: methods},
|
|
}
|
|
}
|
|
|
|
func FallbackModelsList() ModelsListResponse {
|
|
return ModelsListResponse{Models: DefaultModels()}
|
|
}
|
|
|
|
func FallbackModel(model string) Model {
|
|
methods := []string{"generateContent", "streamGenerateContent"}
|
|
if model == "" {
|
|
return Model{Name: "models/unknown", SupportedGenerationMethods: methods}
|
|
}
|
|
if len(model) >= 7 && model[:7] == "models/" {
|
|
return Model{Name: model, SupportedGenerationMethods: methods}
|
|
}
|
|
return Model{Name: "models/" + model, SupportedGenerationMethods: methods}
|
|
}
|