| 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") | |
| # 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.") |