1. 23 Dec, 2024 1 commit
    • feat: Add request start time context key and update middleware · 72be5852
      - Introduced a new constant `ContextKeyRequestStartTime` to store the request start time in the context, enhancing request tracking.
      - Updated the `Distribute` middleware to set the request start time in the context using the new constant.
      - Modified the `GenRelayInfo` function to retrieve the request start time from the context, ensuring accurate timing information is used in relay operations.
      CalciumIon committed
  2. 22 Dec, 2024 10 commits
    • feat: Enhance GeminiChatHandler to include RelayInfo · 424af80c
      - 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.
      CalciumIon committed
    • refactor: Remove unused context and logging in CovertGemini2OpenAI function · f2f7f641
      - 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.
      CalciumIon committed
    • feat: Add FunctionResponse type and enhance GeminiPart structure · 26e2170b
      - 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.
      CalciumIon committed
    • feat: Introduce settings package and refactor constants · 69c590d4
      - Added a new `setting` package to replace the `constant` package for configuration management, improving code organization and clarity.
      - Moved various configuration variables such as `ServerAddress`, `PayAddress`, and `SensitiveWords` to the new `setting` package.
      - Updated references throughout the codebase to use the new `setting` package, ensuring consistent access to configuration values.
      - Introduced new files for managing chat settings and midjourney settings, enhancing modularity and maintainability of the code.
      CalciumIon committed
    • refactor: Update Message methods to use pointer receivers · 86b9dc63
      - Refactored ParseToolCalls, SetToolCalls, IsStringContent, and ParseContent methods in the Message struct to use pointer receivers, improving efficiency and consistency in handling mutable state.
      - Enhanced code readability and maintainability by ensuring all relevant methods operate on the pointer receiver, aligning with Go best practices.
      CalciumIon committed
    • refactor: Update SetToolCalls method to use pointer receiver · 18ed3795
      - Changed the SetToolCalls method to use a pointer receiver for the Message struct, allowing for modifications to the original instance.
      - This change improves the method's efficiency and aligns with Go best practices for mutating struct methods.
      CalciumIon committed
    • refactor: Update OpenAI request and message handling · 464220cd
      - 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.
      CalciumIon committed
    • Merge pull request #648 from palboss/main · 9e6d0b2a
      解决  #534 用户管理-管理用户-查询报错 (SQLSTATE 42601)-postgresql
      Calcium-Ion committed
    • refactor: Simplify Gemini function parameter handling · 7d0f26c9
      - 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.
      CalciumIon committed
    • feat: Enhance Gemini function parameter handling · d13103b6
      - 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.
      CalciumIon committed
  3. 21 Dec, 2024 7 commits
  4. 20 Dec, 2024 16 commits
  5. 19 Dec, 2024 1 commit
  6. 17 Dec, 2024 5 commits