#!/usr/bin/env python3.12 from typing import Optional from openai import AsyncOpenAI class GPT: def __init__(self, constants) -> None: self.constants = constants self.api_key: str = self.constants.OPENAI_API_KEY self.client: AsyncOpenAI = AsyncOpenAI( api_key=self.api_key, timeout=10.0, ) self.default_system_prompt: str = """You are a helpful assistant who will provide only totally accurate tidbits of \ info on the specific songs the user may listen to.""" async def get_completion(self, prompt: str, system_prompt: Optional[str] = None) -> Optional[str]: if not system_prompt: system_prompt = self.default_system_prompt chat_completion = await self.client.chat.completions.create( messages=[ { "role": "system", "content": system_prompt, }, { "role": "user", "content": prompt, } ], model="gpt-4o-mini", temperature=0.35, ) response: Optional[str] = chat_completion.choices[0].message.content return response