Spaces:
Running
Running
File size: 1,072 Bytes
7a8878c ad655e1 5c2a135 7a8878c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import openai
from openai import OpenAI
import os
openai.api_key = os.environ['OPENAI_KEY']
class Chat:
def __init__(self, system_message, lim=0.005):
self.messages = [
{"role": "system", "content" : system_message}
]
self.left = lim
self.client = OpenAI(api_key=API_KEY)
def chat(self, query):
if (self.left <= 0):
return "You have reached the chat limit."
if (len(query) > 20000):
return "Chat input is too long"
self.messages.append({"role" : "user", "content" : query})
# print(self.messages)
response = self.client.chat.completions.create(
model="gpt-4o-mini",
messages=self.messages,
temperature=0.3
)
# del self.messages[-1]
result = response.choices[0].message.content
self.messages.append(response.choices[0].message)
# print(response)
# print([result])
result = result.replace('\\(', '$')
result = result.replace('\\)', '$')
# print([result])
self.left -= 0.6 * response.usage.completion_tokens / (10**6) + 0.15 * response.usage.prompt_tokens /(10**6)
print(self.left)
return (result)
|