|
import openai |
|
import gradio as gr |
|
|
|
openai.api_key = "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" |
|
|
|
start_sequence = "\nAI:" |
|
restart_sequence = "\nHuman: " |
|
|
|
prompt = "请输入你的问题 " |
|
|
|
def openai_create(prompt): |
|
response = openai.Completion.create( |
|
model="text-davinci-003", |
|
prompt=prompt, |
|
temperature=0.9, |
|
max_tokens=3000, |
|
top_p=1, |
|
frequency_penalty=0, |
|
presence_penalty=0.6, |
|
stop=[" Human:", " AI:"] |
|
) |
|
return response.choices[0].text |
|
|
|
def chatgpt_clone(input, history): |
|
history = history or [] |
|
s = list(sum(history, ())) |
|
s.append(input) |
|
inp = ' '.join(s) |
|
output = openai_create(inp) |
|
history.append((input, output)) |
|
return history, history |
|
|
|
block = gr.Interface( |
|
fn=chatgpt_clone, |
|
inputs=[ |
|
gr.inputs.Textbox(placeholder=prompt, label="问题"), |
|
gr.inputs.Hidden(default=[]), |
|
], |
|
outputs=[ |
|
gr.outputs.Textbox(label="回答"), |
|
gr.outputs.Hidden(), |
|
], |
|
title="清苑的AI", |
|
theme="compact", |
|
layout="vertical", |
|
description=prompt, |
|
allow_flagging=False, |
|
) |
|
|
|
block.launch() |
|
|