feat: add model complexity selection for batch processing tasks

This commit is contained in:
Manoj 2025-10-01 10:56:53 +05:30
parent e610336563
commit 2e94b2b284
2 changed files with 5 additions and 1 deletions

View File

@ -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 },

View File

@ -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<T = any> {
outputSchema?: z.ZodSchema<T>;
maxRetries?: number;
timeoutMs?: number;
modelComplexity?: ModelComplexity;
}
export interface GetBatchParams {