FinalAgenticAssessment / gemini_agent.py
susmitsil's picture
Updated
9d0dd09 verified
raw
history blame
1.91 kB
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.messages import SystemMessage
class GeminiAgent:
def __init__(self, api_key: str, model_name: str = "gemini-2.0-flash"):
# Suppress warnings
import warnings
warnings.filterwarnings("ignore", category=UserWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", message=".*will be deprecated.*")
warnings.filterwarnings("ignore", "LangChain.*")
self.api_key = api_key
self.model_name = model_name
self.agent = self._setup_agent()
def _setup_agent(self):
# Initialize model with system message
return ChatGoogleGenerativeAI(
model=self.model_name,
google_api_key=self.api_key,
temperature=0, # Lower temperature for focused responses
max_output_tokens=2000, # Increased for more detailed responses
convert_system_message_to_human=True,
system_message=SystemMessage(content="You are a helpful AI assistant. For the Wikipedia question, use the latest 2022 English Wikipedia version as your knowledge source. For the YouTube video question, analyze the video content carefully and count the maximum number of different bird species visible simultaneously in any frame.")
)
def run(self, query: str) -> str:
try:
response = self.agent.invoke(query)
return response.content
except Exception as e:
return f"Error: {e}"
def run_interactive(self):
print("AI Assistant Ready! (Type 'exit' to quit)")
while True:
query = input("You: ").strip()
if query.lower() == 'exit':
print("Goodbye!")
break
print("Assistant:", self.run(query))