"""AI providers setup component.""" import streamlit as st from loguru import logger from typing import Dict, Any from ..manager import APIKeyManager from .base import render_navigation_buttons, render_step_indicator, render_tab_style from ..wizard_state import next_step, update_progress from datetime import datetime def validate_api_key(key: str) -> bool: """Validate if an API key is properly formatted.""" if not key: return False # Basic validation - check if key is not empty and has minimum length return len(key.strip()) > 0 def render_ai_providers(api_key_manager: APIKeyManager) -> Dict[str, Any]: """Render the AI providers setup step.""" logger.info("[render_ai_providers] Starting AI providers setup") try: # Store API key manager in session state for update_progress st.session_state['api_key_manager'] = api_key_manager # Main content st.markdown("""
Configure your AI service providers for content generation
Power your content with GPT-4 and GPT-3.5 models
Leverage Google's powerful Gemini models
Access Claude for advanced content generation
Use Mistral's efficient language models