From af64161008c5661c04584bdfd9168628f004a52a Mon Sep 17 00:00:00 2001 From: ShahmeerAli Date: Tue, 19 Aug 2025 14:01:15 +0500 Subject: [PATCH 1/2] added updated imports for Tavily --- server/app.py | 5 +++-- server/requirements.txt | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server/app.py b/server/app.py index 39c8da8..8f33be0 100644 --- a/server/app.py +++ b/server/app.py @@ -3,7 +3,8 @@ from langchain_openai import ChatOpenAI from langchain_core.messages import HumanMessage, AIMessageChunk, ToolMessage from dotenv import load_dotenv -from langchain_community.tools.tavily_search import TavilySearchResults +from langchain_groq import ChatGroq +from langchain_community.tools.tavily_search import TavilySearch from fastapi import FastAPI, Query from fastapi.responses import StreamingResponse from fastapi.middleware.cors import CORSMiddleware @@ -19,7 +20,7 @@ class State(TypedDict): messages: Annotated[list, add_messages] -search_tool = TavilySearchResults( +search_tool = TavilySearch( max_results=4, ) diff --git a/server/requirements.txt b/server/requirements.txt index 8629681..e35f92f 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -60,3 +60,4 @@ uvicorn==0.34.1 xxhash==3.5.0 yarl==1.20.0 zstandard==0.23.0 +langchain-tavily==0.2.11 From 7af76a798c3ac737ce0569210633572cdf2e9bee Mon Sep 17 00:00:00 2001 From: ShahmeerAli Date: Wed, 20 Aug 2025 11:19:03 +0500 Subject: [PATCH 2/2] added system prompt --- server/app.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/server/app.py b/server/app.py index 8f33be0..7d823b6 100644 --- a/server/app.py +++ b/server/app.py @@ -4,7 +4,7 @@ from langchain_core.messages import HumanMessage, AIMessageChunk, ToolMessage from dotenv import load_dotenv from langchain_groq import ChatGroq -from langchain_community.tools.tavily_search import TavilySearch +from langchain_community.tools.tavily_search import TavilySearchResults from fastapi import FastAPI, Query from fastapi.responses import StreamingResponse from fastapi.middleware.cors import CORSMiddleware @@ -20,7 +20,7 @@ class State(TypedDict): messages: Annotated[list, add_messages] -search_tool = TavilySearch( +search_tool = TavilySearchResults( max_results=4, ) @@ -75,6 +75,15 @@ async def tool_node(state): # Add the tool messages to the state return {"messages": tool_messages} +#adding the system prompt to protec the ai from hallucinating and stop it from searching everything online +system_prompt =SystemMessage(content= + "You are a helpful assistant. " + "Use the search tool *only if the user asks about factual, external knowledge* " + "that you are not confident about. " + "For casual conversation (like greetings, introductions, chit-chat), " + "do NOT use any tools." +) + graph_builder = StateGraph(State) graph_builder.add_node("model", model) @@ -121,7 +130,7 @@ async def generate_chat_responses(message: str, checkpoint_id: Optional[str] = N # Initialize with first message events = graph.astream_events( - {"messages": [HumanMessage(content=message)]}, + {"messages": [system_prompt,HumanMessage(content=message)]}, version="v2", config=config )