So I have a nestjs project with only one module that uses genkit in order to interact with gemini AI.
The code works correctly it breaks the hot reload.
So when I run npm run start:dev I get what is expected:
But after I make changes in the code, it fails to restart and I get the following:
I managed to pinpoint the issue to the configureGenkit
call inside my service constructor. My service looks like this:
import { Injectable } from '@nestjs/common';
import { configureGenkit } from '@genkit-ai/core';
import { vertexAI } from '@genkit-ai/vertexai';
@Injectable()
export class GenkitService {
constructor() {
configureGenkit({
plugins: [vertexAI({ projectId: process.env.GCP_PROJECT_ID, location: process.env.VERTEX_REGION })],
logLevel: 'debug',
enableTracingAndMetrics: true,
});
}
// some methods
}
If I remove the configureGenkit
call the hot reload works as intended again.
I figure I should call configureGenkit
in a different way/place, but I'm not sure how. Any help would be appreciated.
I tried moving the configureGenkit
call from the constructor to OnModuleInit
but that didn't work. Also tried moving it to the boostrap
function in the main.ts
file, but that also failed to work.
I recently faced a similar problem myself, as I understand, NestJS has an issue with memory usage, it also periodically froze for me. Try to refer to this: nestjs