mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-02 18:39:06 +08:00
dcdd1bf852
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4c0167cc03
|
Feat/vertex-claude-support (#7564)
* feat(migrate): add default settings for assistants during migration - Introduced a new migration step to assign default settings for assistants that lack configuration. - Default settings include temperature, context count, and other parameters to ensure consistent behavior across the application. * chore(store): increment version number to 115 for persisted reducer * feat(vertex-sdk): integrate Anthropic Vertex SDK and add access token retrieval - Added support for the new `@anthropic-ai/vertex-sdk` in the project. - Introduced a new IPC channel `VertexAI_GetAccessToken` to retrieve access tokens. - Implemented `getAccessToken` method in `VertexAIService` to handle service account authentication. - Updated the `IpcChannel` enum and related IPC handlers to support the new functionality. - Enhanced the `VertexAPIClient` to utilize the `AnthropicVertexClient` for model handling. - Refactored existing code to accommodate the integration of the Vertex SDK and improve modularity. * feat(vertex-ai): enhance VertexAI settings and API host management - Added a new method to format the API host URL in both AnthropicVertexClient and VertexAPIClient. - Updated getBaseURL methods to utilize the new formatting logic. - Enhanced VertexAISettings component to include an input for API host configuration, with help text for user guidance. - Updated localization files to include new help text for the API host field in multiple languages. * fix(vertex-sdk): update baseURL handling and patch dependencies - Refactored baseURL assignment in AnthropicVertexClient to ensure it defaults to undefined when the URL is empty. - Updated yarn.lock to reflect changes in dependency resolution and checksum for @anthropic-ai/vertex-sdk patch. * refactor(VertexAISetting): use provider.id rather than provider * refactor: improve API host formatting in AnthropicVertexClient - Updated the `formatApiHost` method to streamline host URL handling. - Introduced a helper function to determine if the original host should be used based on its format. - Ensured consistent appending of the `/v1/` path for valid API requests. * fix: handle empty host in AnthropicVertexClient - Added a check in the `getBaseURL` method to return the host if it is empty, preventing potential errors. - Included a console log for the base URL to aid in debugging and verification of the URL formatting. * feat(AnthropicVertexClient): add logging for authentication errors and mock client in tests - Introduced logging functionality in AnthropicVertexClient to replace console.error with logger service for better error tracking. - Added mock implementation for AnthropicVertexClient in tests to enhance testing capabilities. - Updated package.json to include the @aws-sdk/client-s3 dependency. * feat(tests): add comprehensive tests for client compatibility types - Introduced a new test file to validate compatibility types for various API clients including OpenAI, Anthropic, Gemini, Aihubmix, NewAPI, and Vertex. - Implemented mock services to facilitate testing and ensure isolation of client behavior. - Added tests for both direct API clients and decorator pattern clients, ensuring correct compatibility type returns. - Enhanced middleware compatibility logic tests to verify correct identification of compatible clients. --------- Co-authored-by: one <wangan.cs@gmail.com> |
||
|
|
dbd75912aa
|
Feat/vertex ai support (#6416)
* WIP * feat: integrate Vertex AI support and enhance service account configuration - Added Vertex AI service integration with authentication via service accounts. - Implemented IPC channels for Vertex AI authentication and cache management. - Updated UI components to support service account configuration, including private key and client email fields. - Enhanced localization for Vertex AI settings in multiple languages. - Refactored AiProvider to support dynamic provider creation for Vertex AI. - Updated Redux store to manage Vertex AI settings and service account information. * chore: remove debug script from package.json and clean up console log in main process * fix: ensure async handling in useKnowledge hook for base parameters - Updated the useKnowledge hook to await the result of getKnowledgeBaseParams when removing items, ensuring proper asynchronous behavior. * fix: ensure async handling in KnowledgeQueue for base parameters * fix(i18n): add English prompt placeholder to Russian localization * chore(yarn): update yarn.lock and patch for @google/genai * fix(AihubmixPage): update AI provider instantiation to use async create method * refactor: update VertexAPIClient import and class definition - Changed import statement for VertexAPIClient to use named import. - Updated VertexProvider class to VertexAPIClient for consistency with naming conventions. * refactor: update AiProvider instantiation across components - Replaced the use of AiProvider.create() with the new AiProvider() constructor in AddKnowledgePopup, AihubmixPage, SiliconPage, and KnowledgeService for consistency and improved clarity. * refactor: simplify getKnowledgeBaseParams and update API key checks - Changed getKnowledgeBaseParams to a synchronous function for improved performance. - Updated API key validation logic to remove unnecessary checks for 'vertexai' provider type across multiple functions. * feat: add Cephalon provider configuration with API and website links - Introduced a new provider configuration for Cephalon, including API URL and various website links for official resources, API key, documentation, and models. * refactor: streamline API call in AddKnowledgePopup component - Removed unnecessary await from the create API call in the AddKnowledgePopup component, improving code clarity and performance. * refactor: remove unnecessary await from getKnowledgeBaseParams call - Simplified the searchKnowledgeBase function by removing the await from getKnowledgeBaseParams, enhancing performance and code clarity. * refactor: remove externalLiveBindings option from Rollup output configuration in electron.vite.config.ts |