feat(media, suggestions): handle chat history correctly

This commit is contained in:
ItzCrazyKns
2025-12-27 20:03:34 +05:30
parent be7bd62a74
commit bb7b7170ca
6 changed files with 24 additions and 8 deletions

View File

@@ -21,7 +21,10 @@ export const POST = async (req: Request) => {
const images = await searchImages( const images = await searchImages(
{ {
chatHistory: body.chatHistory, chatHistory: body.chatHistory.map(([role, content]) => ({
role: role === 'human' ? 'user' : 'assistant',
content,
})),
query: body.query, query: body.query,
}, },
llm, llm,

View File

@@ -20,7 +20,10 @@ export const POST = async (req: Request) => {
const suggestions = await generateSuggestions( const suggestions = await generateSuggestions(
{ {
chatHistory: body.chatHistory, chatHistory: body.chatHistory.map(([role, content]) => ({
role: role === 'human' ? 'user' : 'assistant',
content,
})),
}, },
llm, llm,
); );

View File

@@ -21,7 +21,10 @@ export const POST = async (req: Request) => {
const videos = await handleVideoSearch( const videos = await handleVideoSearch(
{ {
chatHistory: body.chatHistory, chatHistory: body.chatHistory.map(([role, content]) => ({
role: role === 'human' ? 'user' : 'assistant',
content,
})),
query: body.query, query: body.query,
}, },
llm, llm,

View File

@@ -50,7 +50,14 @@ const MessageBox = ({
dividerRef?: MutableRefObject<HTMLDivElement | null>; dividerRef?: MutableRefObject<HTMLDivElement | null>;
isLast: boolean; isLast: boolean;
}) => { }) => {
const { loading, sendMessage, rewrite, messages, researchEnded } = useChat(); const {
loading,
sendMessage,
rewrite,
messages,
researchEnded,
chatHistory,
} = useChat();
const parsedMessage = section.parsedTextBlocks.join('\n\n'); const parsedMessage = section.parsedTextBlocks.join('\n\n');
const speechMessage = section.speechMessage || ''; const speechMessage = section.speechMessage || '';
@@ -265,11 +272,11 @@ const MessageBox = ({
<div className="lg:sticky lg:top-20 flex flex-col items-center space-y-3 w-full lg:w-3/12 z-30 h-full pb-4"> <div className="lg:sticky lg:top-20 flex flex-col items-center space-y-3 w-full lg:w-3/12 z-30 h-full pb-4">
<SearchImages <SearchImages
query={section.message.query} query={section.message.query}
chatHistory={messages} chatHistory={chatHistory}
messageId={section.message.messageId} messageId={section.message.messageId}
/> />
<SearchVideos <SearchVideos
chatHistory={messages} chatHistory={chatHistory}
query={section.message.query} query={section.message.query}
messageId={section.message.messageId} messageId={section.message.messageId}
/> />

View File

@@ -17,7 +17,7 @@ const SearchImages = ({
messageId, messageId,
}: { }: {
query: string; query: string;
chatHistory: Message[]; chatHistory: [string, string][];
messageId: string; messageId: string;
}) => { }) => {
const [images, setImages] = useState<Image[] | null>(null); const [images, setImages] = useState<Image[] | null>(null);

View File

@@ -30,7 +30,7 @@ const Searchvideos = ({
messageId, messageId,
}: { }: {
query: string; query: string;
chatHistory: Message[]; chatHistory: [string, string][];
messageId: string; messageId: string;
}) => { }) => {
const [videos, setVideos] = useState<Video[] | null>(null); const [videos, setVideos] = useState<Video[] | null>(null);