AI Agent Code Compilation
AI Agent Code Compilation
import os
load_dotenv()
# Services initialization
weather_service = WeatherService(os.getenv("WEATHER_API_KEY"))
news_service = NewsService(os.getenv("NEWS_API_KEY"))
wikipedia_service = WikipediaService()
voice_interaction = VoiceInteraction()
class QueryModel(BaseModel):
query: str
@app.post("/query")
query = query_model.query.lower()
if "weather" in query:
city = query.split("in")[-1].strip()
weather_data = await weather_service.get_weather(city)
topic = query.split("for")[-1].strip()
summary = wikipedia_service.search_summary(topic)
else:
2. Weather Service
import httpx
class WeatherService:
self.api_key = api_key
self.base_url = "http://api.weatherapi.com/v1"
try:
f"{self.base_url}/current.json",
response.raise_for_status()
return response.json()
except httpx.RequestError as e:
import httpx
class NewsService:
self.api_key = api_key
self.base_url = "https://newsapi.org/v2/top-headlines"
try:
self.base_url,
category}
response.raise_for_status()
except httpx.RequestError as e:
4. Wikipedia Service
import wikipedia
class WikipediaService:
wikipedia.set_lang(lang)
try:
except wikipedia.exceptions.DisambiguationError as e:
except wikipedia.exceptions.PageError:
import pyttsx3
import speech_recognition as sr
class VoiceInteraction:
def __init__(self):
self.engine = pyttsx3.init()
self.recognizer = sr.Recognizer()
self.engine.say(text)
self.engine.runAndWait()
try:
audio = self.recognizer.listen(source)
return self.recognizer.recognize_google(audio)
except sr.UnknownValueError:
except sr.RequestError: