From 56d234055c22e1dae0561f1c0e8359357d4a5f78 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 14:25:55 +0000 Subject: [PATCH] feat: add search toggle component and integrate with chat interface - Add SearchToggle component with globe icon - Update chat route to handle enableSearchGrounding - Fix model selection to use gpt-4o instead of gpt-4o-mini - Update settings to include enableSearchGrounding flag Co-Authored-By: ben --- packages/plugin/settings.ts | 1 + .../plugin/views/assistant/ai-chat/chat.tsx | 12 ++++-- .../ai-chat/components/search-toggle.tsx | 39 +++++++++++++++++++ packages/web/app/api/(newai)/chat/route.ts | 2 +- 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 packages/plugin/views/assistant/ai-chat/components/search-toggle.tsx diff --git a/packages/plugin/settings.ts b/packages/plugin/settings.ts index c59a64fa..9ac663be 100644 --- a/packages/plugin/settings.ts +++ b/packages/plugin/settings.ts @@ -32,6 +32,7 @@ export class FileOrganizerSettings { enableFabric = false; useFolderEmbeddings = false; useVaultTitles = true; + enableSearchGrounding = false; showLocalLLMInChat = false; customFolderInstructions = ""; selectedModel: "gpt-4o" | "llama3.2" = "gpt-4o"; diff --git a/packages/plugin/views/assistant/ai-chat/chat.tsx b/packages/plugin/views/assistant/ai-chat/chat.tsx index f0212335..be242375 100644 --- a/packages/plugin/views/assistant/ai-chat/chat.tsx +++ b/packages/plugin/views/assistant/ai-chat/chat.tsx @@ -18,6 +18,7 @@ import { ModelSelector } from "./model-selector"; import { ModelType } from "./types"; import { AudioRecorder } from "./audio-recorder"; import { logger } from "../../../services/logger"; +import { SearchToggle } from "./components/search-toggle"; import { SubmitButton } from "./submit-button"; import { getUniqueReferences, useContextItems } from "./use-context-items"; import { ContextItems } from "./components/context-items"; @@ -499,10 +500,13 @@ export const ChatComponent: React.FC = ({ unifiedContext={contextString} maxContextSize={maxContextSize} /> - +
+ + +
diff --git a/packages/plugin/views/assistant/ai-chat/components/search-toggle.tsx b/packages/plugin/views/assistant/ai-chat/components/search-toggle.tsx new file mode 100644 index 00000000..4cd03670 --- /dev/null +++ b/packages/plugin/views/assistant/ai-chat/components/search-toggle.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { usePlugin } from '../../provider'; + +export function SearchToggle() { + const plugin = usePlugin(); + const isEnabled = plugin.settings.enableSearchGrounding; + + const handleToggle = async () => { + plugin.settings.enableSearchGrounding = !plugin.settings.enableSearchGrounding; + await plugin.saveSettings(); + }; + + return ( + + ); +} diff --git a/packages/web/app/api/(newai)/chat/route.ts b/packages/web/app/api/(newai)/chat/route.ts index 19c07428..9b3d2596 100644 --- a/packages/web/app/api/(newai)/chat/route.ts +++ b/packages/web/app/api/(newai)/chat/route.ts @@ -40,7 +40,7 @@ export async function POST(req: NextRequest) { chosenModelName = "gpt-4o"; } } else { - chosenModelName = "gpt-4o-mini"; + chosenModelName = "gpt-4o"; } console.log("Chat using model:", chosenModelName); const model = getModel(chosenModelName);