add agent.py

This commit is contained in:
2026-05-28 16:43:27 +00:00
parent 77ed864efa
commit 7d8a7769f5
+26
View File
@@ -0,0 +1,26 @@
"""RAG agent with ChromaDB local search and Tavily web search."""
from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
from langgraph.prebuilt import create_react_agent
from tools import search_local_kb, web_search
llm = ChatOllama(model="llama3", temperature=0.0)
SYSTEM_PROMPT = (
"You are a helpful AI assistant with access to two information sources:\n"
"1. Local knowledge base (ChromaDB) - use search_local_kb for locally stored documents.\n"
"2. Web search (Tavily) - use web_search for current or general information.\n\n"
"Always choose the most appropriate source and indicate in your answer
which source you used: [Source: Local KB] or [Source: Web]."
)
agent = create_react_agent(
model=llm,
tools=[search_local_kb, web_search],
state_modifier=SYSTEM_PROMPT,
)
def run_agent(user_input: str) -> str:
"""Send user_input to the ReAct agent and return its final response."""
result = agent.invoke({"messages": [HumanMessage(content=user_input)]})
return result["messages"][-1].content