import os from supabase import create_client, Client from langchain_openai import ChatOpenAI # --- Environment Variables --- VERIFY_TOKEN = os.getenv("VERIFY_TOKEN", "") PHONE_NUMBER_ID = os.getenv("PHONE_NUMBER_ID", "") WHATSAPP_API_TOKEN = os.getenv("WHATSAPP_API_TOKEN", "") OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "") SUPABASE_URL = os.getenv("SUPABASE_URL", "") SUPABASE_KEY = os.getenv("SUPABASE_KEY", "") # --- Supabase Client Setup --- supabase: Client = None if SUPABASE_URL and SUPABASE_KEY and SUPABASE_URL.strip() and SUPABASE_KEY.strip(): try: supabase = create_client(SUPABASE_URL, SUPABASE_KEY) print("Supabase client initialized successfully") except Exception as e: print(f"Warning: Failed to initialize Supabase client: {e}") supabase = None else: print("Warning: Supabase credentials not set. Database functionality will be limited.") # --- OpenAI Client Setup --- llm = ChatOpenAI(openai_api_key=OPENAI_API_KEY, model="gpt-4o-mini") # Lightweight LLM for simple extraction tasks (persona, classification, etc.) llm_light = ChatOpenAI( openai_api_key=OPENAI_API_KEY, model="gpt-4.1-nano", temperature=0.1, # Lower temperature for more consistent extraction max_tokens=200 # Lower token limit for simple tasks ) # Initialize LLM only if API key is available if not OPENAI_API_KEY: print("Warning: OPENAI_API_KEY not set. AI functionality will be limited.")