ShaoXia's picture
初始化代码
069157b
import openai
class BaseTool:
def __init__(self, model="gpt-3.5-turbo"):
self.system = ""
self.model = model
self.message = [{"role": "system", "content": self.system}]
def __call__(self, message):
user_message = {"role": "user", "content": message}
messages = self.message + [user_message]
completion = openai.ChatCompletion.create(
model=self.model,
messages=messages
)
assistant_message = completion.choices[0].message
return assistant_message["content"].replace("\n", " ")
class PreprocessingBot(BaseTool):
def __init__(self, model="gpt-3.5-turbo"):
super().__init__(model)
self.system = r"""You are an AI assistant for raw data pre-processing. The user will input multiple raw references which may include unicode characters or ASCII code such as '\u001e'. Your task it to make it more readable by doing:
- Change all unicode characters or ASCII code such as '\u001e' to LaTeX format and put them in formula environment $...$ or $$...$$.
- Re-write formulas or mathematical notations to LaTeX format in formula environment $...$ or $$...$$.
- Remove meaningless contents.
- Response in the following format: {pdf-name-1: main contents from pdf-name-1, pdf-name-2: main contents from pdf-name-2, ...}.
"""
self.message = [{"role": "system", "content": self.system}]
class ToolBot(BaseTool):
def __init__(self, model="gpt-3.5-turbo"):
super().__init__(model)
self.system = r"""You need to pretend a Python function. You receive a string that is the user's question to a QA bot. You need to analyze the user's goal and decide if the QA bot needs to use the search engine to generate the response to the user.
Response 1 if you think the QA bot needs to use the search engine to user's input and response 0 if the QA bot doesn't need that.
"""
self.message = [{"role": "system", "content": self.system}]
if __name__ == "__main__":
bot = ToolBot()
rsp = bot("Hello!")
print(rsp)