diff --git a/src/app/api/images/route.ts b/src/app/api/images/route.ts index db39d9f..83af845 100644 --- a/src/app/api/images/route.ts +++ b/src/app/api/images/route.ts @@ -7,11 +7,13 @@ import { import { getAvailableChatModelProviders } from '@/lib/providers'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'; +import { ChatOllama } from '@langchain/ollama'; import { ChatOpenAI } from '@langchain/openai'; interface ChatModel { provider: string; model: string; + ollamaContextWindow?: number; } interface ImageSearchBody { @@ -58,6 +60,10 @@ export const POST = async (req: Request) => { }) as unknown as BaseChatModel; } else if (chatModelProvider && chatModel) { llm = chatModel.model; + // Set context window size for Ollama models + if (llm instanceof ChatOllama && body.chatModel?.provider === 'ollama') { + llm.numCtx = body.chatModel.ollamaContextWindow || 2048; + } } if (!llm) { diff --git a/src/app/api/videos/route.ts b/src/app/api/videos/route.ts index 34ae7fd..64c6b7c 100644 --- a/src/app/api/videos/route.ts +++ b/src/app/api/videos/route.ts @@ -7,11 +7,13 @@ import { import { getAvailableChatModelProviders } from '@/lib/providers'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'; +import { ChatOllama } from '@langchain/ollama'; import { ChatOpenAI } from '@langchain/openai'; interface ChatModel { provider: string; model: string; + ollamaContextWindow?: number; } interface VideoSearchBody { @@ -58,6 +60,10 @@ export const POST = async (req: Request) => { }) as unknown as BaseChatModel; } else if (chatModelProvider && chatModel) { llm = chatModel.model; + // Set context window size for Ollama models + if (llm instanceof ChatOllama && body.chatModel?.provider === 'ollama') { + llm.numCtx = body.chatModel.ollamaContextWindow || 2048; + } } if (!llm) { diff --git a/src/components/Chat.tsx b/src/components/Chat.tsx index 906da56..bee90b5 100644 --- a/src/components/Chat.tsx +++ b/src/components/Chat.tsx @@ -20,10 +20,7 @@ const Chat = ({ setOptimizationMode, }: { messages: Message[]; - sendMessage: ( - message: string, - messageId?: string, - ) => void; + sendMessage: (message: string) => void; loading: boolean; messageAppeared: boolean; rewrite: (messageId: string) => void; @@ -96,7 +93,7 @@ const Chat = ({
{dividerWidth > 0 && (