fix some uploading flyer issues + more unit tests
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 12m34s
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 12m34s
This commit is contained in:
@@ -109,7 +109,10 @@ export class AIService {
|
||||
private fs: IFileSystem;
|
||||
private rateLimiter: <T>(fn: () => Promise<T>) => Promise<T>;
|
||||
private logger: Logger;
|
||||
private readonly models = ['gemini-2.5-flash', 'gemini-3-flash', 'gemini-2.5-flash-lite'];
|
||||
// The fallback list is ordered by preference (speed/cost vs. power).
|
||||
// We try the fastest models first, then the more powerful 'pro' model as a high-quality fallback,
|
||||
// and finally the 'lite' model as a last resort.
|
||||
private readonly models = [ 'gemini-3-flash-preview', 'gemini-2.5-flash', 'gemini-2.5-flash-lite'];
|
||||
|
||||
constructor(logger: Logger, aiClient?: IAiClient, fs?: IFileSystem) {
|
||||
this.logger = logger;
|
||||
@@ -230,7 +233,8 @@ export class AIService {
|
||||
errorMessage.includes('quota') ||
|
||||
errorMessage.includes('429') || // HTTP 429 Too Many Requests
|
||||
errorMessage.includes('resource_exhausted') || // Make case-insensitive
|
||||
errorMessage.includes('model is overloaded')
|
||||
errorMessage.includes('model is overloaded') ||
|
||||
errorMessage.includes('not found') // Also retry if model is not found (e.g., regional availability or API version issue)
|
||||
) {
|
||||
this.logger.warn(
|
||||
`[AIService Adapter] Model '${modelName}' failed due to quota/rate limit. Trying next model. Error: ${errorMessage}`,
|
||||
|
||||
Reference in New Issue
Block a user