From ff00ebca308f445785096611c47beed0c2c46c9c Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Wed, 27 Mar 2024 10:15:27 +0000 Subject: refactor: Validate env variables using zod --- apps/workers/crawlerWorker.ts | 2 +- apps/workers/openaiWorker.ts | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'apps') diff --git a/apps/workers/crawlerWorker.ts b/apps/workers/crawlerWorker.ts index 282f5f43..3f7bff94 100644 --- a/apps/workers/crawlerWorker.ts +++ b/apps/workers/crawlerWorker.ts @@ -83,7 +83,7 @@ async function launchBrowser() { }, 5000); return; } - browser.on("disconnected", async () => { + browser.on("disconnected", async (): Promise => { if (isShuttingDown) { logger.info( "The puppeteer browser got disconnected. But we're shutting down so won't restart it.", diff --git a/apps/workers/openaiWorker.ts b/apps/workers/openaiWorker.ts index 9e6cd553..5f785f2f 100644 --- a/apps/workers/openaiWorker.ts +++ b/apps/workers/openaiWorker.ts @@ -41,7 +41,7 @@ async function attemptMarkTaggingStatus( } export class OpenAiWorker { - static async build() { + static build() { logger.info("Starting openai worker ..."); const worker = new Worker( OpenAIQueue.name, @@ -52,14 +52,14 @@ export class OpenAiWorker { }, ); - worker.on("completed", async (job) => { - const jobId = job?.id || "unknown"; + worker.on("completed", async (job): Promise => { + const jobId = job?.id ?? "unknown"; logger.info(`[openai][${jobId}] Completed successfully`); await attemptMarkTaggingStatus(job?.data, "success"); }); - worker.on("failed", async (job, error) => { - const jobId = job?.id || "unknown"; + worker.on("failed", async (job, error): Promise => { + const jobId = job?.id ?? "unknown"; logger.error(`[openai][${jobId}] openai job failed: ${error}`); await attemptMarkTaggingStatus(job?.data, "failure"); }); @@ -152,7 +152,7 @@ async function inferTagsFromImage( const base64 = asset.toString('base64'); const chatCompletion = await openai.chat.completions.create({ - model: "gpt-4-vision-preview", + model: serverConfig.inference.imageModel, messages: [ { role: "user", @@ -185,7 +185,7 @@ async function inferTagsFromText( ) { const chatCompletion = await openai.chat.completions.create({ messages: [{ role: "system", content: buildPrompt(bookmark) }], - model: "gpt-3.5-turbo-0125", + model: serverConfig.inference.textModel, response_format: { type: "json_object" }, }); @@ -290,11 +290,11 @@ async function connectTags( } async function runOpenAI(job: Job) { - const jobId = job.id || "unknown"; + const jobId = job.id ?? "unknown"; - const { openAI } = serverConfig; + const { inference } = serverConfig; - if (!openAI.apiKey) { + if (!inference.openAIApiKey) { logger.debug( `[openai][${jobId}] OpenAI is not configured, nothing to do now`, ); @@ -302,7 +302,7 @@ async function runOpenAI(job: Job) { } const openai = new OpenAI({ - apiKey: openAI.apiKey, + apiKey: inference.openAIApiKey, }); const request = zOpenAIRequestSchema.safeParse(job.data); -- cgit v1.2.3-70-g09d2