from openai import OpenAI from services.key_manager import get_key_manager class OpenAIClient: def __init__(self, api_key: str = None): # Get API key from KeyManager if not provided if api_key is None: key_manager = get_key_manager() api_key = key_manager.get_key("openai") if api_key is None: raise ValueError("OpenAI API key not found. Please configure it in KeyManager or pass it as parameter.") self.client = OpenAI(api_key=api_key) def chat_completions(self, prompt: str, model: str = "gpt-4o", temperature: float = 0.3, max_tokens: int = 1000): response = self.client.chat.completions.create( model=model, messages=[{"role": "user", "content": prompt}], temperature=temperature, max_tokens=max_tokens, ) # Add output_text attribute for compatibility response.output_text = response.choices[0].message.content if response.choices else "" return response