aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workers
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-27 10:15:27 +0000
committerMohamed Bassem <me@mbassem.com>2024-03-27 11:56:13 +0000
commitff00ebca308f445785096611c47beed0c2c46c9c (patch)
tree510f4139ce89affc2ff04bb61731097b7cb64e37 /apps/workers
parent75dbb95807069f4ed86392da8fb744d8c6ac016c (diff)
downloadkarakeep-ff00ebca308f445785096611c47beed0c2c46c9c.tar.zst
refactor: Validate env variables using zod
Diffstat (limited to 'apps/workers')
-rw-r--r--apps/workers/crawlerWorker.ts2
-rw-r--r--apps/workers/openaiWorker.ts22
2 files changed, 12 insertions, 12 deletions
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<void> => {
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<ZOpenAIRequest, void>(
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<void> => {
+ 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<void> => {
+ 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<ZOpenAIRequest, void>) {
- 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<ZOpenAIRequest, void>) {
}
const openai = new OpenAI({
- apiKey: openAI.apiKey,
+ apiKey: inference.openAIApiKey,
});
const request = zOpenAIRequestSchema.safeParse(job.data);