refactor: 重构 Gemini 适配器以支持图片编辑和生成 feat(relay): 添加图片编辑模式支持 feat(controller): 实现 UsageAPIURL 用于获取真实 token 用量 feat(web): 在渠道测试中添加模型选择功能 perf(token): 优化多模态 token 计算逻辑 fix(web): 修复日志分页组件显示问题 docs: 更新渠道配置中的 UsageAPIURL 说明 style: 清理调试日志和注释 feat(gemini): 支持 Imagen 3+ 图片生成模型 feat(openai): 添加生成 ID 捕获和元数据获取功能
34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package relaymode
|
|
|
|
import "strings"
|
|
|
|
func GetByPath(path string) int {
|
|
relayMode := Unknown
|
|
if strings.HasPrefix(path, "/v1/chat/completions") {
|
|
relayMode = ChatCompletions
|
|
} else if strings.HasPrefix(path, "/v1/completions") {
|
|
relayMode = Completions
|
|
} else if strings.HasPrefix(path, "/v1/embeddings") {
|
|
relayMode = Embeddings
|
|
} else if strings.HasSuffix(path, "embeddings") {
|
|
relayMode = Embeddings
|
|
} else if strings.HasPrefix(path, "/v1/moderations") {
|
|
relayMode = Moderations
|
|
} else if strings.HasPrefix(path, "/v1/images/generations") {
|
|
relayMode = ImagesGenerations
|
|
} else if strings.HasPrefix(path, "/v1/images/edits") {
|
|
relayMode = ImagesEdits
|
|
} else if strings.HasPrefix(path, "/v1/edits") {
|
|
relayMode = Edits
|
|
} else if strings.HasPrefix(path, "/v1/audio/speech") {
|
|
relayMode = AudioSpeech
|
|
} else if strings.HasPrefix(path, "/v1/audio/transcriptions") {
|
|
relayMode = AudioTranscription
|
|
} else if strings.HasPrefix(path, "/v1/audio/translations") {
|
|
relayMode = AudioTranslation
|
|
} else if strings.HasPrefix(path, "/v1/oneapi/proxy") {
|
|
relayMode = Proxy
|
|
}
|
|
return relayMode
|
|
}
|