* fix: claude-4 not having the right max_tokens * feat: add bedrock support * chore: fix package-lock.json * fix: rename baseUrl to baseURL * feat: add azure support * fix: final touches of azure integration * feat: add google vertex provider * chore: fix tests and refactor task-manager.test.js * chore: move task 92 to 94
56 lines
4.5 KiB
Plaintext
56 lines
4.5 KiB
Plaintext
# Task ID: 93
|
|
# Title: Implement Google Vertex AI Provider Integration
|
|
# Status: pending
|
|
# Dependencies: 19, 94
|
|
# Priority: medium
|
|
# Description: Develop a dedicated Google Vertex AI provider in the codebase, enabling users to leverage Vertex AI models with enterprise-grade configuration and authentication.
|
|
# Details:
|
|
1. Create a new provider class in `src/ai-providers/google-vertex.js` that extends the existing BaseAIProvider, following the established structure used by other providers (e.g., google.js, openai.js).
|
|
2. Integrate the Vercel AI SDK's `@ai-sdk/google-vertex` package. Use the default `vertex` provider for standard usage, and allow for custom configuration via `createVertex` for advanced scenarios (e.g., specifying project ID, location, and credentials).
|
|
3. Implement all required interface methods (such as `getClient`, `generateText`, etc.) to ensure compatibility with the provider system. Reference the implementation patterns from other providers for consistency.
|
|
4. Handle Vertex AI-specific configuration, including project ID, location, and Google Cloud authentication. Support both environment-based authentication and explicit service account credentials via `googleAuthOptions`.
|
|
5. Implement robust error handling for Vertex-specific issues, including authentication failures and API errors, leveraging the system-wide error handling patterns.
|
|
6. Update `src/ai-providers/index.js` to export the new provider, and add the 'vertex' entry to the PROVIDERS object in `scripts/modules/ai-services-unified.js`.
|
|
7. Update documentation to provide clear setup instructions for Google Vertex AI, including required environment variables, service account setup, and configuration examples.
|
|
8. Ensure the implementation is modular and maintainable, supporting future expansion for additional Vertex AI features or models.
|
|
|
|
# Test Strategy:
|
|
- Write unit tests for the new provider class, covering all interface methods and configuration scenarios (default, custom, error cases).
|
|
- Verify that the provider can successfully authenticate using both environment-based and explicit service account credentials.
|
|
- Test integration with the provider system by selecting 'vertex' as the provider and generating text using supported Vertex AI models (e.g., Gemini).
|
|
- Simulate authentication and API errors to confirm robust error handling and user feedback.
|
|
- Confirm that the provider is correctly exported and available in the PROVIDERS object.
|
|
- Review and validate the updated documentation for accuracy and completeness.
|
|
|
|
# Subtasks:
|
|
## 1. Create Google Vertex AI Provider Class [pending]
|
|
### Dependencies: None
|
|
### Description: Develop a new provider class in `src/ai-providers/google-vertex.js` that extends the BaseAIProvider, following the structure of existing providers.
|
|
### Details:
|
|
Ensure the new class is consistent with the architecture of other providers such as google.js and openai.js, and is ready to integrate with the AI SDK.
|
|
|
|
## 2. Integrate Vercel AI SDK Google Vertex Package [pending]
|
|
### Dependencies: 93.1
|
|
### Description: Integrate the `@ai-sdk/google-vertex` package, supporting both the default provider and custom configuration via `createVertex`.
|
|
### Details:
|
|
Allow for standard usage with the default `vertex` provider and advanced scenarios using `createVertex` for custom project ID, location, and credentials as per SDK documentation.
|
|
|
|
## 3. Implement Provider Interface Methods [pending]
|
|
### Dependencies: 93.2
|
|
### Description: Implement all required interface methods (e.g., `getClient`, `generateText`) to ensure compatibility with the provider system.
|
|
### Details:
|
|
Reference implementation patterns from other providers to maintain consistency and ensure all required methods are present and functional.
|
|
|
|
## 4. Handle Vertex AI Configuration and Authentication [pending]
|
|
### Dependencies: 93.3
|
|
### Description: Implement support for Vertex AI-specific configuration, including project ID, location, and authentication via environment variables or explicit service account credentials.
|
|
### Details:
|
|
Support both environment-based authentication and explicit credentials using `googleAuthOptions`, following Google Cloud and Vertex AI setup best practices.
|
|
|
|
## 5. Update Exports, Documentation, and Error Handling [pending]
|
|
### Dependencies: 93.4
|
|
### Description: Export the new provider, update the PROVIDERS object, and document setup instructions, including robust error handling for Vertex-specific issues.
|
|
### Details:
|
|
Update `src/ai-providers/index.js` and `scripts/modules/ai-services-unified.js`, and provide clear documentation for setup, configuration, and error handling patterns.
|
|
|