Commit Graph

43 Commits

Author SHA1 Message Date
Yan
1cdb03d821 fix: Gemini 其他文件类型的支持(Base64URL) 2024-12-29 10:11:39 +08:00
Yan
9fc2f6a3b5 fix: Gemini 函数调用的文本转义 2024-12-29 06:11:44 +08:00
CalciumIon
e326679b72 feat: add multi-file type support for Gemini and Claude
- Add file data DTO for structured file handling
- Implement file decoder service
- Update Claude and Gemini relay channels to handle various file types
- Reorganize worker service to cf_worker for clarity
- Update token counter and image service for new file types
2024-12-29 00:00:24 +08:00
Yan
b7b2347263 fix: 转义 Gemini 工具调用中的反斜杠 2024-12-28 18:29:48 +08:00
Yan
49a0db1da8 fix: add index in the tool calls when chat by stream (gemini) 2024-12-28 17:56:31 +08:00
tenacious
18e308bdf7 fix delete title schema 2024-12-26 00:24:45 +08:00
Yan
411d3a6251 fix: gemini func call 2024-12-24 20:46:02 +08:00
Yan
dbd412f852 fix: mutil func call in gemini 2024-12-23 01:26:14 +08:00
Calcium-Ion
344ebade79 Merge pull request #651 from tenacioustommy/fix-gemini-json
fix-gemini-json-schema
2024-12-23 00:04:08 +08:00
CalciumIon
424af80c77 feat: Enhance GeminiChatHandler to include RelayInfo
- Updated the GeminiChatHandler function to accept an additional parameter, RelayInfo, allowing for better context handling during chat operations.
- Modified the DoResponse method in the Adaptor to pass RelayInfo to GeminiChatHandler, ensuring consistent usage of upstream model information.
- Enhanced the GeminiChatStreamHandler to utilize the upstream model name from RelayInfo, improving response accuracy and data representation in Gemini requests.
2024-12-23 00:02:15 +08:00
CalciumIon
f2f7f64151 refactor: Remove unused context and logging in CovertGemini2OpenAI function
- Eliminated the unused `context` import and the logging of `geminiRequest` in the `CovertGemini2OpenAI` function, improving code cleanliness and reducing unnecessary overhead.
- This change enhances the maintainability of the code by removing redundant elements that do not contribute to functionality.
2024-12-22 23:54:11 +08:00
CalciumIon
26e2170bd4 feat: Add FunctionResponse type and enhance GeminiPart structure
- Introduced a new `FunctionResponse` type to encapsulate function call responses, improving the clarity of data handling.
- Updated the `GeminiPart` struct to include the new `FunctionResponse` field, allowing for better representation of function call results in Gemini requests.
- Modified the `CovertGemini2OpenAI` function to handle tool calls more effectively by setting the message role and appending function responses to the Gemini parts, enhancing the integration with OpenAI and Gemini systems.
2024-12-22 23:53:25 +08:00
tenacious
8a5d0d0f50 fix-gemini-json 2024-12-22 23:48:09 +08:00
CalciumIon
464220cdf1 refactor: Update OpenAI request and message handling
- Changed the type of ToolCalls in the Message struct from `any` to `json.RawMessage` for better type safety and clarity.
- Introduced ParseToolCalls and SetToolCalls methods to handle ToolCalls more effectively, improving code readability and maintainability.
- Updated the ParseContent method to work with the new MediaContent type instead of MediaMessage, enhancing the structure of content parsing.
- Refactored Gemini relay functions to utilize the new ToolCalls handling methods, streamlining the integration with OpenAI and Gemini systems.
2024-12-22 16:20:30 +08:00
CalciumIon
7d0f26c9cd refactor: Simplify Gemini function parameter handling
- Removed redundant checks for non-empty properties in function parameters.
- Set function parameters to nil when no properties are needed, streamlining the logic for handling Gemini requests.
- Improved code clarity and maintainability by eliminating unnecessary complexity.
2024-12-22 14:35:21 +08:00
CalciumIon
d13103b667 feat: Enhance Gemini function parameter handling
- Added logic to ensure that function parameters have non-empty properties.
- Implemented checks to add a default empty property if no parameters are needed.
- Updated the required field to match existing properties, improving the robustness of the Gemini function integration.
2024-12-22 14:29:14 +08:00
MartialBE
a8fa11f9d0 feat: support for Gemini structured output. 2024-12-21 16:01:17 +08:00
CalciumIon
1888a10394 refactor: Enhance error handling in Gemini request conversion
- Updated `CovertGemini2OpenAI` function to return an error alongside the GeminiChatRequest, improving error reporting for image processing.
- Modified `ConvertRequest` methods in both `adaptor.go` files to handle potential errors from the Gemini conversion, ensuring robust request handling.
- Improved clarity and maintainability of the code by explicitly managing error cases during request conversion.
2024-12-20 21:50:58 +08:00
CalciumIon
0725c8aac9 feat: Add GEMINI_VISION_MAX_IMAGE_NUM configuration
- Introduced `GEMINI_VISION_MAX_IMAGE_NUM` to README files for better user guidance.
- Updated `env.go` to retrieve the maximum image number from environment variables, defaulting to 16.
- Modified image handling logic in `relay-gemini.go` to respect the new configuration, allowing disabling of the limit by setting it to -1.
- Removed hardcoded constant for maximum image number in `constant.go` to streamline configuration management.
2024-12-20 21:36:23 +08:00
MartialBE
8504023d03 fix: Fix the issue where Gemini loses content when converting OpenAI format in the stream. 2024-12-20 20:24:49 +08:00
CalciumIon
3a97be9f12 feat: support gemini-2.0-flash-thinking #639 #637 2024-12-20 13:20:07 +08:00
CalciumIon
7569947544 refactor: Improve channel status update logic and clean up code
- Simplified conditional checks in UpdateChannelStatusById function in channel.go to enhance readability.
- Commented out unused image number check in relay-gemini.go for clarity.
- Updated JSON field in en.json for currency consistency, changing "元" from "RMB/CNY" to "CNY" and added a space in "实付金额:" for formatting.
2024-12-17 15:33:16 +08:00
CalciumIon
c6ec3c95ef refactor: Update SystemInstructions type in GeminiChatRequest and adjust handling in CovertGemini2OpenAI
- Changed SystemInstructions from *GeminiPart to *GeminiChatContent in GeminiChatRequest for improved structure.
- Updated CovertGemini2OpenAI function to accommodate the new SystemInstructions type, ensuring proper handling of message content.
2024-12-16 22:41:23 +08:00
CalciumIon
cd6b3296ed feat: support gemini SystemInstructions #408 2024-12-16 20:19:29 +08:00
CalciumIon
e54bb12a96 feat: 兼容OpenAI格式下设置gemini模型联网搜索 #615 2024-12-12 17:58:25 +08:00
CalciumIon
246c3fa451 feat: add gemini tool_calls finish reason 2024-12-06 14:31:27 +08:00
CalciumIon
b8664e71e6 feat: support vertex ai #377 2024-08-27 20:19:51 +08:00
1808837298@qq.com
fc13e56b3b fix: gemini 2024-07-23 18:34:16 +08:00
Yan Tau
05da87ecc3 fix: the base64 format image_url for gemini 2024-07-22 21:20:23 +08:00
CalciumIon
2041a2e4a7 fix: gemini stream finish reason (close #378) 2024-07-19 17:16:20 +08:00
CalciumIon
24151ab303 feat: support gemini tool calling (close #368) 2024-07-18 20:28:47 +08:00
CalciumIon
04dced378c fix: gemini usage (close #354) 2024-07-10 16:01:09 +08:00
CalciumIon
fce31dd1de feat: 支持设置流模式超时时间(gemini, claude) 2024-06-27 17:24:48 +08:00
CalciumIon
a1d4012efb feat: first response time support gemini and claude 2024-06-27 00:16:39 +08:00
1808837298@qq.com
893dafb89f feat: 支持设置worker访问请求中的图片地址 2024-05-28 17:59:53 +08:00
1808837298@qq.com
313c16f360 refactor: 重构敏感词 2024-05-23 23:59:55 +08:00
CaIon
483e1c46d2 fix: 规范claude返回格式 2024-04-25 23:57:39 +08:00
CaIon
54c18dc89e fix: remove sensitive check on completion (close #157) 2024-03-29 22:20:14 +08:00
CaIon
5aad98d736 feat: 统一错误提示 2024-03-20 20:36:55 +08:00
CaIon
14892a6582 feat: 初步兼容敏感词过滤 2024-03-20 17:07:42 +08:00
CaIon
e147061933 fix: fix gemini channel test 2024-03-08 21:38:51 +08:00
1808837298@qq.com
d703cccc8a fix: 修复流模式错误扣费的问题 (close #95) 2024-03-06 17:41:55 +08:00
1808837298@qq.com
1735981217 feat: 初步重构 2024-02-29 01:08:18 +08:00