* 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 an error message in getting image bytes from a URL in Gemini.
- Remove safety settings from the Gemini OpenAI request and set all harm categories to block only high.
- Add a log statement about how many images are sent to Gemini vision.
- Add support for getting base64-encoded images via openAI's image_url.
- Add `context` as a parameter for the function `LogError`.
- Handle the error from `image.GetImageFromUrl` by logging it.
- Convert the role to `user` if it is `system` and add a dummy model message to make Gemini happy.
* 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>
* 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>