mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-11 09:48:27 +00:00
feat: add model complexity selection for batch processing tasks
This commit is contained in:
parent
e610336563
commit
2e94b2b284
@ -11,6 +11,7 @@ import {
|
|||||||
type BatchResponse,
|
type BatchResponse,
|
||||||
} from "../types";
|
} from "../types";
|
||||||
import { logger } from "~/services/logger.service";
|
import { logger } from "~/services/logger.service";
|
||||||
|
import { getModelForTask } from "~/lib/model.server";
|
||||||
|
|
||||||
export class OpenAIBatchProvider extends BaseBatchProvider {
|
export class OpenAIBatchProvider extends BaseBatchProvider {
|
||||||
providerName = "openai";
|
providerName = "openai";
|
||||||
@ -40,13 +41,14 @@ export class OpenAIBatchProvider extends BaseBatchProvider {
|
|||||||
try {
|
try {
|
||||||
this.validateRequests(params.requests);
|
this.validateRequests(params.requests);
|
||||||
|
|
||||||
|
const model = getModelForTask(params.modelComplexity || 'high');
|
||||||
// Convert requests to OpenAI batch format
|
// Convert requests to OpenAI batch format
|
||||||
const batchRequests = params.requests.map((request, index) => ({
|
const batchRequests = params.requests.map((request, index) => ({
|
||||||
custom_id: request.customId,
|
custom_id: request.customId,
|
||||||
method: "POST" as const,
|
method: "POST" as const,
|
||||||
url: "/v1/chat/completions",
|
url: "/v1/chat/completions",
|
||||||
body: {
|
body: {
|
||||||
model: process.env.MODEL as string,
|
model,
|
||||||
messages: request.systemPrompt
|
messages: request.systemPrompt
|
||||||
? [
|
? [
|
||||||
{ role: "system" as const, content: request.systemPrompt },
|
{ role: "system" as const, content: request.systemPrompt },
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { z } from "zod";
|
|||||||
|
|
||||||
export type BatchStatus = "pending" | "processing" | "completed" | "failed" | "cancelled";
|
export type BatchStatus = "pending" | "processing" | "completed" | "failed" | "cancelled";
|
||||||
|
|
||||||
|
export type ModelComplexity = 'high' | 'low';
|
||||||
export interface BatchRequest {
|
export interface BatchRequest {
|
||||||
customId: string;
|
customId: string;
|
||||||
messages: CoreMessage[];
|
messages: CoreMessage[];
|
||||||
@ -39,6 +40,7 @@ export interface CreateBatchParams<T = any> {
|
|||||||
outputSchema?: z.ZodSchema<T>;
|
outputSchema?: z.ZodSchema<T>;
|
||||||
maxRetries?: number;
|
maxRetries?: number;
|
||||||
timeoutMs?: number;
|
timeoutMs?: number;
|
||||||
|
modelComplexity?: ModelComplexity;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GetBatchParams {
|
export interface GetBatchParams {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user