maulana-m commited on
Commit
0c0b6b9
1 Parent(s): 039eeef

fix app and add parameters

Browse files
Files changed (1) hide show
  1. app.py +24 -15
app.py CHANGED
@@ -2,11 +2,14 @@ import gradio as gr
2
  import openai
3
 
4
 
5
- def get_answer_chatgpt(chat_history, message, system_message=None):
6
  messages = []
7
- if system_message:
 
 
 
8
  TEMPLATE_SYSTEM = {"role": "system", "content": system_message}
9
- message.append(TEMPLATE_SYSTEM)
10
 
11
  TEMPLATE_USER = {"role": "user"}
12
  TEMPLATE_BOT = {"role": "assistant"}
@@ -17,13 +20,13 @@ def get_answer_chatgpt(chat_history, message, system_message=None):
17
  TEMPLATE_BOT["content"] = pair[1]
18
  messages.append(TEMPLATE_USER)
19
  messages.append(TEMPLATE_BOT)
20
-
21
  # add latest input
22
  TEMPLATE_USER["content"] = message
23
  messages.append(TEMPLATE_USER)
24
  response = openai.ChatCompletion.create(
25
- model="gpt-3.5-turbo",
26
- messages=messages
 
27
  )
28
 
29
  return {
@@ -38,31 +41,37 @@ def reset_textbox():
38
 
39
 
40
  with gr.Blocks() as demo:
41
- gr.Markdown()
42
- system_prompt = gr.Textbox(placeholder="You are helpful assistence", lines=5, label="System Message")
 
 
 
 
 
 
 
43
  chatbot = gr.Chatbot()
44
  message = gr.Textbox(placeholder="Halo kak, aku mau bertanya", label="Chat Here")
45
  with gr.Row():
46
  with gr.Column(scale=5):
47
- clear = gr.Button("Clear")
48
  with gr.Column(scale=5):
49
  retry = gr.Button("Retry")
50
- send = gr.Button("Send")
51
 
52
- def respond(chat_history, message):
53
- response = get_answer_chatgpt(chat_history, message)
54
  response = response["completion"]
55
 
56
  return chat_history + [[message, response]]
57
 
58
- message.submit(respond, [chatbot, message], chatbot)
59
 
60
  clear.click(lambda: None, None, chatbot, queue=False)
61
- send.click(respond, [chatbot, message], chatbot)
62
  send.click(reset_textbox, [], [message])
63
  message.submit(reset_textbox, [], [message])
64
 
65
- retry.click(respond, [chatbot, message], chatbot)
66
  retry.click(reset_textbox, [], [message])
67
 
68
  demo.launch(debug=True)
 
2
  import openai
3
 
4
 
5
+ def get_answer_chatgpt(chat_history, message, system_message=None, model="gpt-3.5-turbo", max_length=1000):
6
  messages = []
7
+ if model is None:
8
+ model = "gpt-3.5-turbo"
9
+
10
+ if system_message or system_message != "":
11
  TEMPLATE_SYSTEM = {"role": "system", "content": system_message}
12
+ messages.append(TEMPLATE_SYSTEM)
13
 
14
  TEMPLATE_USER = {"role": "user"}
15
  TEMPLATE_BOT = {"role": "assistant"}
 
20
  TEMPLATE_BOT["content"] = pair[1]
21
  messages.append(TEMPLATE_USER)
22
  messages.append(TEMPLATE_BOT)
 
23
  # add latest input
24
  TEMPLATE_USER["content"] = message
25
  messages.append(TEMPLATE_USER)
26
  response = openai.ChatCompletion.create(
27
+ model=model,
28
+ messages=messages,
29
+ max_tokens=max_length
30
  )
31
 
32
  return {
 
41
 
42
 
43
  with gr.Blocks() as demo:
44
+ with gr.Row():
45
+ with gr.Column(scale=5):
46
+ clear = gr.Button("Clear all converstation")
47
+ with gr.Column(scale=5):
48
+ with gr.Accordion("Parameters", open=False):
49
+ model = gr.Dropdown(["gpt-3.5-turbo", "gpt-4"], label="Model", value="gpt-3.5-turbo")
50
+ max_length = gr.Slider(0, 10000, value=1000, step=1, label="Maximum length token", interactive=True)
51
+
52
+ system_message = gr.Textbox(placeholder="You are helpful assistence", lines=5, label="System Message")
53
  chatbot = gr.Chatbot()
54
  message = gr.Textbox(placeholder="Halo kak, aku mau bertanya", label="Chat Here")
55
  with gr.Row():
56
  with gr.Column(scale=5):
57
+ send = gr.Button("Send")
58
  with gr.Column(scale=5):
59
  retry = gr.Button("Retry")
 
60
 
61
+ def respond(chat_history, message, system_message, model, max_length=1000):
62
+ response = get_answer_chatgpt(chat_history, message, system_message, model, max_length)
63
  response = response["completion"]
64
 
65
  return chat_history + [[message, response]]
66
 
67
+ message.submit(respond, [chatbot, message, system_message, model, max_length], chatbot)
68
 
69
  clear.click(lambda: None, None, chatbot, queue=False)
70
+ send.click(respond, [chatbot, message, system_message, model, max_length], chatbot)
71
  send.click(reset_textbox, [], [message])
72
  message.submit(reset_textbox, [], [message])
73
 
74
+ retry.click(respond, [chatbot, message, system_message, model, max_length], chatbot)
75
  retry.click(reset_textbox, [], [message])
76
 
77
  demo.launch(debug=True)