From 6d3518412f152a7d96123d24424f25e0f88aa3d6 Mon Sep 17 00:00:00 2001 From: Diego Artiles Date: Sat, 23 Nov 2024 12:07:51 -0300 Subject: [PATCH] fix(Root): fix ai sdk by updating it to version 4 --- apps/chat-with-pdf/app/api/chat/route.ts | 5 +++-- .../lib/supabase/queries/get-chat.ts | 1 - apps/chat-with-pdf/package.json | 8 ++++---- apps/chat-with-pdf/utils/context.ts | 4 +++- bun.lockb | Bin 646448 -> 633784 bytes ...241109155454_auto-remove-document-file.sql | 3 +++ 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/apps/chat-with-pdf/app/api/chat/route.ts b/apps/chat-with-pdf/app/api/chat/route.ts index 701747b..a3297a9 100644 --- a/apps/chat-with-pdf/app/api/chat/route.ts +++ b/apps/chat-with-pdf/app/api/chat/route.ts @@ -77,12 +77,12 @@ export async function POST(req: Request) { const data = new StreamData(); data.append(messageData); - const result = await streamText({ + const result = streamText({ model: google("gemini-1.5-flash-latest"), messages: convertToCoreMessages(messages), system: systemInstructions, maxTokens: 3000, - onFinish({ text, toolCalls, toolResults, usage, finishReason }) { + onFinish({ text, toolCalls, toolResults, usage, finishReason, ...rest }) { console.log({ onFinish: { text, @@ -90,6 +90,7 @@ export async function POST(req: Request) { toolResults, usage, finishReason, + ...rest, }, }); data.close(); diff --git a/apps/chat-with-pdf/lib/supabase/queries/get-chat.ts b/apps/chat-with-pdf/lib/supabase/queries/get-chat.ts index a244111..eecdcb0 100644 --- a/apps/chat-with-pdf/lib/supabase/queries/get-chat.ts +++ b/apps/chat-with-pdf/lib/supabase/queries/get-chat.ts @@ -57,7 +57,6 @@ export async function getChat(id: string) { }, )(supabase); - console.log({ chat, id }); if (!chat?.suggestedQuestions) { const suggestedQuestions = await generateAndUpdateSuggestedQuestions( supabase, diff --git a/apps/chat-with-pdf/package.json b/apps/chat-with-pdf/package.json index 2371312..69fb49a 100644 --- a/apps/chat-with-pdf/package.json +++ b/apps/chat-with-pdf/package.json @@ -9,7 +9,10 @@ "lint": "next lint" }, "dependencies": { - "@ai-sdk/anthropic": "0.0.50", + "@ai-sdk/anthropic": "1.0.0", + "@ai-sdk/google": "1.0.0", + "@ai-sdk/openai": "1.0.0", + "ai": "4.0.0", "@makefy/ui": "workspace:*", "@makefy/supabase": "workspace:*", "@react-email/components": "0.0.25", @@ -38,8 +41,6 @@ "usehooks-ts": "3.1.0" }, "devDependencies": { - "@ai-sdk/google": "0.0.48", - "@ai-sdk/openai": "0.0.13", "@google/generative-ai": "0.14.1", "@langchain/community": "0.2.16", "@langchain/core": "0.2.15", @@ -53,7 +54,6 @@ "@types/node": "20", "@types/react": "18.2.61", "@types/react-dom": "18.2.19", - "ai": "3.4.30", "autoprefixer": "10.4.20", "dotenv-cli": "7.4.2", "js-md5": "0.8.3", diff --git a/apps/chat-with-pdf/utils/context.ts b/apps/chat-with-pdf/utils/context.ts index 3639042..35f196a 100644 --- a/apps/chat-with-pdf/utils/context.ts +++ b/apps/chat-with-pdf/utils/context.ts @@ -11,7 +11,9 @@ export async function getContext(query: string, documentId: string) { const { data: documentSections, error } = await supabase.rpc( "match_documents", { - query_embedding: userQueryEmbeddings.toString(), + query_embedding: Array.isArray(userQueryEmbeddings) + ? JSON.stringify(userQueryEmbeddings) + : JSON.stringify([userQueryEmbeddings]), match_threshold: 0.7, match_count: 200, document_id: documentId, diff --git a/bun.lockb b/bun.lockb index a78d4fd7af87ff452fce66c020f3ee2b9337825d..8871e8c62d48a0297f25cd49cd83eba8b3717f5a 100755 GIT binary patch delta 22845 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 vt95&ttY6~QVXn|#)wxFNJw*CdUH1O~2=^zs delta 30626 zcmeI5bwE^G`|oE4hM7T7P*hM<6hTozdQj{x6pq~@l1hhS4R)g7D9cu`u*Jf}RtyxZ zg9R3L9lO2XXZG4UdXDFJ?|bhb_m6j<^Z2awS$Zhq>tP;TclLiy~WjbXkE+5&nH!l}M1p((q~ zT(|EfWPcUuQ1YR%j`1)G2Sx(14epBic~*M87c-)3Cb=ejD_rd)qMOLiJb z(i1qSX4kpSgQl81A1fp@=d!M(Nk)GPJ@^KG%3wS+#d{7;EfV1$5gCdC-$Fd<$!mpD zi79k0G!<|QG_^#Ft3vt=x|{~U2@a}ZyK6$i*6`ENF@Uy$etty=FMzHJe<3o!piFYU zA!K}x`?o_^2KT!uq~jl!KqE^s#73e^Kgd5e4xJNPvq&gN80Dn>6i`{ zDpXV=4c0YfJ_4x8>faY?bP#@O+Jo>@Q*VZ!^uPx~f*H_M@ORJ@&p$RXB4B7}+~#dU z#zC;BE{SrC35<(LlsG)n_HnAJNkN4vnTIGB)#nB@&BYVE-0|_$e-cSptYi2P4~gV5 zlA~}cI~}nJfy3egB@*c~A^A5?h4>}VRNO1v9~c|s9|ils*l@?dhy=+=AzYKx0}jgA z^@R{2AjE&zP#9K*pC(7y0}@?Fbc7w1KOr8u;duU+Q1HN)g5JaZUE!yW+YCS1w}GG1 zkBW?q3y6)CTmz?(bsE}?#`@CNLc=9PQ%l4SkI{`0Z=r-q;#e2Qwj($-a4Za|AW(r6 z!G>3)9M?QpvhbZyk#w{)jrpKq{&5s95ν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 diff --git a/packages/supabase/src/supabase/migrations/20241109155454_auto-remove-document-file.sql b/packages/supabase/src/supabase/migrations/20241109155454_auto-remove-document-file.sql index 9c868f5..f5abedb 100644 --- a/packages/supabase/src/supabase/migrations/20241109155454_auto-remove-document-file.sql +++ b/packages/supabase/src/supabase/migrations/20241109155454_auto-remove-document-file.sql @@ -35,4 +35,7 @@ AS $function$BEGIN END;$function$ ; +CREATE TRIGGER remove_document_file_after_chat_delete +AFTER DELETE ON public."Chat" FOR EACH ROW +EXECUTE FUNCTION public.remove_document_file_after_removing_chats ();