File size: 1,240 Bytes
4e355ca 8bfbc2d 4e355ca 954de26 05e5119 d0b71de 954de26 29fbdf6 d0b71de 954de26 d0b71de 954de26 29fbdf6 954de26 29fbdf6 ad17f07 954de26 cb99b16 ceb65b4 954de26 29fbdf6 954de26 29fbdf6 954de26 29fbdf6 954de26 29fbdf6 954de26 29fbdf6 4e355ca | 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 40 41 | import gradio as gr
import os
import openai
openai.api_key = os.environ.get("OPENAI_API_KEY")
content = os.environ.get("CHAT_TYPE")
system_prompt = [{"role": "system",
"content": content}]
model_engine = "gpt-3.5-turbo"
temperature = 0.7
max_tokens = 1024
def generate_debate_content(topic):
prompt_msg = {"role": "user", "content": topic}
prompt_with_topic = system_prompt + [prompt_msg]
response = openai.ChatCompletion.create(
model=model_engine,
messages=prompt_with_topic,
temperature=temperature,
max_tokens=max_tokens
)
return response.choices[0].message.content
def chatbot(topic):
debate_content = generate_debate_content(topic)
conversation = debate_content.split("|")
result = []
for i in range(0, len(conversation) - 1, 2):
result.append(conversation[i])
if i + 1 < len(conversation):
result.append(conversation[i + 1])
return "\n".join(result)
iface = gr.Interface(fn=chatbot, inputs=gr.inputs.Textbox(label="请输入话题"),
outputs=gr.outputs.Textbox(label="聊天内容"), title="GPT聊天室(人类不得入内)",
layout="vertical")
iface.launch() |