PyAssist / app.py
LuxOAI's picture
Update app.py
2a75730
import openai
import gradio as gr
import json
openai.api_key = "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"
def save_conversation():
with open('conversation.json', 'w') as f:
json.dump(messages, f)
def load_conversation():
try:
with open('conversation.json', 'r') as f:
return json.load(f)
except FileNotFoundError:
return []
messages = load_conversation()
if not messages:
messages.append({"role": "system", "content": "You are an all knowing super computer who has endless coding knowledge and you are incredible at providing easy quick solutions for people doing tasks for the first time. You know all coding languages and uncommon solutions as well as conventional solutions."})
def CustomChatGPT(user_input):
messages.append({"role": "user", "content": user_input})
# Ensure the conversation fits within the model's maximum token limit
conversation = messages[-4096:]
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=conversation,
max_tokens=1000,
temperature=0.7)
except openai.api_resources.request_error.RequestError as e:
print(f"Received error from OpenAI: {e}")
return "I'm sorry, but I'm unable to generate a response at this time."
ChatGPT_reply = response["choices"][0]["message"]["content"]
messages.append({"role": "assistant", "content": ChatGPT_reply})
save_conversation()
return ChatGPT_reply
interface = gr.Interface(fn=CustomChatGPT,
inputs="textbox",
outputs="textbox",
title="AL Code PRO",
description="Code PRO - Software Developer Assistant. Developed by A. Leschik.")
interface.launch()