Spaces:
Running
Running
| """Centralized LLM client construction helpers.""" | |
| from __future__ import annotations | |
| from openai import OpenAI | |
| from llm_config import get_openai_api_key | |
| def create_openai_client( | |
| api_key: str | None = None, | |
| timeout: int = 30, | |
| max_retries: int = 3, | |
| ) -> OpenAI: | |
| """ | |
| Create a configured OpenAI client. | |
| Uses env-backed OPENAI_API_KEY when api_key is not explicitly supplied. | |
| """ | |
| key = (api_key or "").strip() or get_openai_api_key(required=True) | |
| return OpenAI(api_key=key, timeout=timeout, max_retries=max_retries) | |