From 937ba7e61b9ba45d5283fbac3e8a34bd39f7d641 Mon Sep 17 00:00:00 2001 From: Andrew Trokhymenko Date: Thu, 21 Nov 2024 00:17:06 -0500 Subject: [PATCH] model pickup --- app/lib/.server/llm/stream-text.ts | 2 ++ app/routes/api.chat.ts | 8 ++++++-- app/utils/constants.ts | 6 ++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/lib/.server/llm/stream-text.ts b/app/lib/.server/llm/stream-text.ts index 1603396..3b563ea 100644 --- a/app/lib/.server/llm/stream-text.ts +++ b/app/lib/.server/llm/stream-text.ts @@ -64,6 +64,8 @@ export function streamText( let currentModel = DEFAULT_MODEL; let currentProvider = DEFAULT_PROVIDER; + console.log('StreamText:', JSON.stringify(messages)); + const processedMessages = messages.map((message) => { if (message.role === 'user') { const { model, provider, content } = extractPropertiesFromMessage(message); diff --git a/app/routes/api.chat.ts b/app/routes/api.chat.ts index 8fdb3d7..d622b46 100644 --- a/app/routes/api.chat.ts +++ b/app/routes/api.chat.ts @@ -31,11 +31,14 @@ function parseCookies(cookieHeader) { async function chatAction({ context, request }: ActionFunctionArgs) { - const { messages, imageData } = await request.json<{ + const { messages, imageData, model } = await request.json<{ messages: Messages, - imageData?: string[] + imageData?: string[], + model: string }>(); + console.log('ChatAction:', JSON.stringify(messages)); + const cookieHeader = request.headers.get("Cookie"); // Parse the cookie's value (returns an object or null if no cookie exists) @@ -47,6 +50,7 @@ async function chatAction({ context, request }: ActionFunctionArgs) { const options: StreamingOptions = { toolChoice: 'none', apiKeys, + model, onFinish: async ({ text: content, finishReason }) => { if (finishReason !== 'length') { return stream.close(); diff --git a/app/utils/constants.ts b/app/utils/constants.ts index 308832b..501a87e 100644 --- a/app/utils/constants.ts +++ b/app/utils/constants.ts @@ -30,13 +30,15 @@ const PROVIDER_LIST: ProviderInfo[] = [ icon: "i-ph:cloud-arrow-down", }, { name: 'OpenAILike', - staticModels: [], + staticModels: [ + { name: 'o1-mini', label: 'o1-mini', provider: 'OpenAILike' }, + ], getDynamicModels: getOpenAILikeModels }, { name: 'OpenRouter', staticModels: [ - { name: 'gpt-4o', label: 'GPT-4o', provider: 'OpenAI' }, + { name: 'gpt-4o', label: 'GPT-4o', provider: 'OpenRouter' }, { name: 'anthropic/claude-3.5-sonnet', label: 'Anthropic: Claude 3.5 Sonnet (OpenRouter)',