diff --git a/backend/src/agent/configuration.py b/backend/src/agent/configuration.py index 6256dee..e57122d 100644 --- a/backend/src/agent/configuration.py +++ b/backend/src/agent/configuration.py @@ -16,14 +16,14 @@ class Configuration(BaseModel): ) reflection_model: str = Field( - default="gemini-2.5-flash-preview-04-17", + default="gemini-2.5-flash", metadata={ "description": "The name of the language model to use for the agent's reflection." }, ) answer_model: str = Field( - default="gemini-2.5-pro-preview-05-06", + default="gemini-2.5-pro", metadata={ "description": "The name of the language model to use for the agent's answer." }, diff --git a/backend/src/agent/graph.py b/backend/src/agent/graph.py index dae64b7..0340d72 100644 --- a/backend/src/agent/graph.py +++ b/backend/src/agent/graph.py @@ -153,7 +153,7 @@ def reflection(state: OverallState, config: RunnableConfig) -> ReflectionState: configurable = Configuration.from_runnable_config(config) # Increment the research loop count and get the reasoning model state["research_loop_count"] = state.get("research_loop_count", 0) + 1 - reasoning_model = state.get("reasoning_model") or configurable.reasoning_model + reasoning_model = state.get("reasoning_model", configurable.reflection_model) # Format the prompt current_date = get_current_date() @@ -231,7 +231,7 @@ def finalize_answer(state: OverallState, config: RunnableConfig): Dictionary with state update, including running_summary key containing the formatted final summary with sources """ configurable = Configuration.from_runnable_config(config) - reasoning_model = state.get("reasoning_model") or configurable.reasoning_model + reasoning_model = state.get("reasoning_model") or configurable.answer_model # Format the prompt current_date = get_current_date() diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 9c8d1a3..5e186f4 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -4,6 +4,7 @@ import { useState, useEffect, useRef, useCallback } from "react"; import { ProcessedEvent } from "@/components/ActivityTimeline"; import { WelcomeScreen } from "@/components/WelcomeScreen"; import { ChatMessagesView } from "@/components/ChatMessagesView"; +import { Button } from "@/components/ui/button"; export default function App() { const [processedEventsTimeline, setProcessedEventsTimeline] = useState< @@ -14,7 +15,8 @@ export default function App() { >({}); const scrollAreaRef = useRef(null); const hasFinalizeEventOccurredRef = useRef(false); - + const [error, setError] = useState(null); + console.log(import.meta.env.DEV); const thread = useStream<{ messages: Message[]; initial_search_query_count: number; @@ -54,9 +56,10 @@ export default function App() { title: "Reflection", data: event.reflection.is_sufficient ? "Search successful, generating final answer." - : `Need more information, searching for ${event.reflection.follow_up_queries?.join( - ", " - ) || "additional information"}`, + : `Need more information, searching for ${ + event.reflection.follow_up_queries?.join(", ") || + "additional information" + }`, }; } else if (event.finalize_answer) { processedEvent = { @@ -72,6 +75,9 @@ export default function App() { ]); } }, + onError: (error: any) => { + setError(error.message); + }, }); useEffect(() => { @@ -166,6 +172,20 @@ export default function App() { isLoading={thread.isLoading} onCancel={handleCancel} /> + ) : error ? ( +
+
+

Error

+

{JSON.stringify(error)}

+ + +
+
) : ( = ({