#!/usr/bin/env python3.12 from typing import Optional from openai import AsyncOpenAI class GPT: def __init__(self, constants): self.constants = constants self.api_key = self.constants.OPENAI_API_KEY self.client = AsyncOpenAI( api_key=self.api_key, timeout=10.0, ) self.default_system_prompt = "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) -> None: 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, ) return chat_completion.choices[0].message.content