File size: 1,307 Bytes
5370780
6addd48
 
 
 
 
 
 
 
 
 
 
e8b43aa
6addd48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
becc455
e8b43aa
6addd48
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gradio as gr
from llama_index import GPTVectorStoreIndex, SimpleDirectoryReader, Prompt
import openai

system_prompt = [
    {
        "role" : "system",
        "content" : "你是一个非常厉害的音乐制作人,毕业于伯克利音乐学院,专业是音乐制作,你在和弦编配上有独特的见解,擅长用局部离调的方式营造歌曲给人的新鲜感"

    }
]



def respond(message, chat_history):
    re_messages = system_prompt
    for chat in chat_history:
        re_messages.append({"role": "user", "content": chat[0]})
        re_messages.append({"role": "assistant", "content": chat[1]})
    re_messages.append({"role": "user", "content": message})
    re_chat_completion = openai.ChatCompletion.create(
        model='gpt-3.5-turbo',
        messages=re_messages,
        temperature=0.7
    )
    bot_message = re_chat_completion.choices[0].message.content
    chat_history.append((message, bot_message))
    return "", chat_history


with gr.Blocks() as demo:
    open_ai_key = gr.Textbox(label='OpenAI API Key', placeholder='输入你的OpenAI API Key')
    openai.api_key = open_ai_key
    chatbot = gr.Chatbot(label='历史会话')
    msg = gr.Textbox(label='回车输入')
    msg.submit(respond, [msg, chatbot], [msg, chatbot])

demo.launch(share=True)