Spaces:
Sleeping
Sleeping
| from typing import List, Dict | |
| from openai import AsyncOpenAI | |
| import os | |
| class SystemRolePrompt: | |
| def __init__(self, template: str): | |
| self.template = template | |
| def create_message(self) -> Dict[str, str]: | |
| return { | |
| "role": "system", | |
| "content": self.template | |
| } | |
| class UserRolePrompt: | |
| def __init__(self, template: str): | |
| self.template = template | |
| def create_message(self, **kwargs) -> Dict[str, str]: | |
| return { | |
| "role": "user", | |
| "content": self.template.format(**kwargs) | |
| } | |
| class ChatOpenAI: | |
| def __init__(self): | |
| self.client = AsyncOpenAI(api_key=os.getenv("OPENAI_API_KEY")) | |
| async def acomplete(self, messages: List[Dict[str, str]]) -> str: | |
| response = await self.client.chat.completions.create( | |
| model="gpt-3.5-turbo", | |
| messages=messages | |
| ) | |
| return response.choices[0].message.content |