NewsAgent-Pro / src /utils /config.py
Owadokun Tosin Tobi
Update config.py
4867fcb unverified
import os
from dotenv import load_dotenv
from langchain_groq import ChatGroq
from langchain_google_genai import ChatGoogleGenerativeAI
load_dotenv()
def get_llm(task_type: str = "general"):
"""
Factory to get the best LLM for the job.
- Planning/Logic -> Groq (Llama 3.3) for speed.
- Writing/Context -> Groq or Gemini Fallback.
"""
groq_key = os.getenv("GROQ_API_KEY")
gemini_key = os.getenv("GEMINI_API_KEY")
# PRIMARY: Groq (Llama 3.3 70B)
if groq_key:
try:
return ChatGroq(
temperature=0.7,
model_name="llama-3.3-70b-versatile",
api_key=groq_key
)
except Exception as e:
print(f"⚠️ Groq failed: {e}. Falling back...")
# FALLBACK: Gemini
if gemini_key:
return ChatGoogleGenerativeAI(
model="gemini-1.5-flash",
google_api_key=gemini_key,
temperature=0.7
)
raise ValueError("❌ No API Keys found! Please set GROQ_API_KEY or GEMINI_API_KEY.")