* perf: adjust gemini safety settings, set BLOCK_NONE by default
* feat: able to adjust by env variable
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* fix: openai response should contains `model`
- Update model attributes in `claudeHandler` for `relay-claude.go`
- Implement model type for fullTextResponse in `relay-gemini.go`
- Add new `Model` field to `OpenAITextResponse` struct in `relay.go`
* chore: set model name response for models
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* Update relay-ali.go: 改进stream模式,添加联网搜索能力
通义千问支持stream的增量模式,不需要每次去掉上次的前缀;实测qwen-max联网模式效果不错,添加了联网模式。如果别的模型有问题可以改为单独给qwen-max开放
* 删除"stream参数"
刚发现原来阿里api没有这个参数,上次误加了。
* refactor: only enable search when specified
* fix: remove custom suffix when get model ratio
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* fest: Add Google Gemini Pro, fix#810
* fest: Add tooling to Gemini; Add OpenAI-like system prompt to Gemini
* refactor: removing unused if statement
* fest: Add dummy model message for system message in gemini model
* chore: update implementation
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* feat: Refactor response parsing logic to support multiple formats
The parsing logic for responses in relay.go and relay-audio.go was refactored to support multiple response formats - 'json', 'text', 'srt', 'verbose_json', and 'vtt'. The existing `WhisperResponse` struct was renamed to `WhisperJsonResponse` and a new struct `WhisperVerboseJsonResponse` was added to support the 'verbose_json' format. Additional parsing functions were added to extract text from these new response types. This change was necessary to make the parsing logic more flexible and extendable for different types of responses.
* chore: update name
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* fix: based on #754 add 'omitempty' in ImageRequest to fit official api reference for relay
* Revert "fix: based on #754 add 'omitempty' in ImageRequest to fit official api reference for relay"
This reverts commit b526006ce0.
* fix: add missing omitempty
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* fix: cloudflare test & expose detailed info about test failures
* fix: cloudflare test & expose detailed info about test failures
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* Updated ImageRequest struct and OpenAIModels,
added new Dall-E models and size ratios
* Fixed suspect `or`
* Refactored size ratio calculation in
relayImageHelper function
* Updated the format of resolution keys in
DalleSizeRatios map
* Added error handling for unsupported image size in
relayImageHelper function
* Added validation for number of generated images
and defined image generation ratios
* Refactored variable name from
DalleGenerationImageAmountRatios to
DalleGenerationImageAmounts
* Added validation for prompt length in
relayImageHelper function
* Updated model validation and removed size not
supported error in relayImageHelper function
* Refactored image size and model validation in
relayImageHelper function
* chore: discard binary file
* chore: update impl
---------
Co-authored-by: cktsun1031 <65409152+cktsun1031@users.noreply.github.com>
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* fix: change quota calc code (close#599)
Use float64 during calc and do math.Ceil after calc. This will result in the quota being used slightly more than the official standard, but it will be guaranteed that it will not be less.
* chore: remove blank line
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>