From 2e94b2b284f6507ca42e6a2d5a551a573052f0cf Mon Sep 17 00:00:00 2001 From: Manoj Date: Wed, 1 Oct 2025 10:56:53 +0530 Subject: [PATCH] feat: add model complexity selection for batch processing tasks --- apps/webapp/app/lib/batch/providers/openai.ts | 4 +++- apps/webapp/app/lib/batch/types.ts | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/lib/batch/providers/openai.ts b/apps/webapp/app/lib/batch/providers/openai.ts index d0a3968..9c04ea2 100644 --- a/apps/webapp/app/lib/batch/providers/openai.ts +++ b/apps/webapp/app/lib/batch/providers/openai.ts @@ -11,6 +11,7 @@ import { type BatchResponse, } from "../types"; import { logger } from "~/services/logger.service"; +import { getModelForTask } from "~/lib/model.server"; export class OpenAIBatchProvider extends BaseBatchProvider { providerName = "openai"; @@ -40,13 +41,14 @@ export class OpenAIBatchProvider extends BaseBatchProvider { try { this.validateRequests(params.requests); + const model = getModelForTask(params.modelComplexity || 'high'); // Convert requests to OpenAI batch format const batchRequests = params.requests.map((request, index) => ({ custom_id: request.customId, method: "POST" as const, url: "/v1/chat/completions", body: { - model: process.env.MODEL as string, + model, messages: request.systemPrompt ? [ { role: "system" as const, content: request.systemPrompt }, diff --git a/apps/webapp/app/lib/batch/types.ts b/apps/webapp/app/lib/batch/types.ts index af6695b..03714b3 100644 --- a/apps/webapp/app/lib/batch/types.ts +++ b/apps/webapp/app/lib/batch/types.ts @@ -3,6 +3,7 @@ import { z } from "zod"; export type BatchStatus = "pending" | "processing" | "completed" | "failed" | "cancelled"; +export type ModelComplexity = 'high' | 'low'; export interface BatchRequest { customId: string; messages: CoreMessage[]; @@ -39,6 +40,7 @@ export interface CreateBatchParams { outputSchema?: z.ZodSchema; maxRetries?: number; timeoutMs?: number; + modelComplexity?: ModelComplexity; } export interface GetBatchParams {