| |
| |
| |
| |
| |
|
|
| import openai |
| import os |
|
|
| openai.api_key = os.environ.get("OPENAI_API_KEY") |
|
|
|
|
| class Conversation: |
| def __init__(self, prompt, num_of_round): |
| self.prompt = prompt |
| self.num_of_round = num_of_round |
| self.messages = [] |
| self.messages.append({"role": "system", "content": self.prompt}) |
|
|
| def ask(self, question): |
| try: |
| self.messages.append({"role": "user", "content": question}) |
| response = openai.ChatCompletion.create( |
| model="gpt-3.5-turbo", |
| messages=self.messages, |
| temperature=0.5, |
| max_tokens=2048, |
| top_p=1, |
| ) |
| except Exception as e: |
| print(e) |
| return e |
|
|
| message = response["choices"][0]["message"]["content"] |
| self.messages.append({"role": "assistant", "content": message}) |
|
|
| if len(self.messages) > self.num_of_round * 2 + 1: |
| del self.messages[1:3] |
| return message |
|
|