simpx commited on
Commit
464cf39
·
1 Parent(s): 7209f44
Files changed (1) hide show
  1. app.py +42 -4
app.py CHANGED
@@ -1,7 +1,45 @@
1
  import gradio as gr
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import openai
3
 
 
 
4
 
5
+ '''
6
+ gradio: [['第一次说话', 'No'], ['试试第二次', 'Yes']]
7
+ openai: [{"role": "user", "content": "第一次说话"},
8
+ {"role": "assistant", "content": "Who won the world series in 2020?"}]
9
+ '''
10
+ def gradio_messages_to_openai_messages(g):
11
+ result = []
12
+ for pair in g:
13
+ result.append({"role": "user", "content": pair[0]})
14
+ result.append({"role": "assistant", "content": pair[1]})
15
+ return result
16
+
17
+ def respond(chat_history, message):
18
+ print("----------------")
19
+ print("chat_histroy:", chat_history)
20
+ print("message:", message)
21
+ messages = [
22
+ {"role": "system", "content": "后面的回答必须简明扼要"},
23
+ *gradio_messages_to_openai_messages(chat_history),
24
+ {"role": "user", "content": message}
25
+ ]
26
+ print("messages:", messages)
27
+ completion = openai.ChatCompletion.create(
28
+ model="gpt-3.5-turbo",
29
+ messages=messages
30
+ )
31
+ print("completion:", completion)
32
+ response = completion['choices'][0]['message']['content']
33
+ result = chat_history + [[message, response]]
34
+ print("result:", result)
35
+ return result
36
+
37
+ with gr.Blocks() as demo:
38
+ chatbot = gr.Chatbot()
39
+ msg = gr.Textbox()
40
+ clear = gr.Button("Clear")
41
+
42
+ msg.submit(respond, [chatbot, msg], chatbot)
43
+ clear.click(lambda: None, None, chatbot, queue=False)
44
+
45
+ demo.launch(server_name="0.0.0.0", server_port=8000)