API_KEY = "API_KEY_GOES_HERE" import openai openai.api_key = API_KEY # view directly on the tumblr blog for a better viewing experience: # https://pythonprogrammingsnippets.tumblr.com # --------------------------------- def gpt_assistant( trainer_instruction, prompt, temperature=0.9, max_tokens=250, prev_messages=[], ): # --------------------------------- define_system = trainer_instruction # if messages are empty, create a new one if len(prev_messages) == 0: messages = [ {"role": "system", "content": define_system}, {"role": "user", "content": prompt}, ] else: messages = prev_messages messages.append({"role": "user", "content": prompt}) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", temperature=temperature, max_tokens=max_tokens, top_p=1, frequency_penalty=0, presence_penalty=0.6, stop=["###"], # append the previous prompt to the new one messages=messages ) print("-=-"*20) print("response: ", response) print("-=-"*20) print(messages) print("..."*20) print("\n\n") content = response['choices'][0]['message']['content'] # append to messages.append({"role": "assistant", "content": content}) # --------------------------------- return content, response, messages # ---------------------------------
# example: # a loop where we get input from the user and the user talks to the chatbot messages = [] assistant = """ You are an assistant chatbot named Fred that likes to keep responses clean and direct. You write like you have a grade 7 level of writing ability. You respond in 1 to 3 sentences if possible. """ while True: prompt = input("You: ") response, response_obj, messages = gpt_assistant( assistant, prompt, temperature=0.9, max_tokens=250, prev_messages=messages ) print("Assistant: ", response)