Spaces:
Runtime error
Runtime error
import gradio as gr | |
import os | |
from openai import OpenAI | |
def rewrite_novel(input_text): | |
print(input_text) | |
key = os.getenv('key') | |
client = OpenAI( | |
api_key=key, | |
base_url="https://ark.cn-beijing.volces.com/api/v3", | |
) | |
completion = client.chat.completions.create( | |
model="ep-20240614030120-kmx4w", | |
messages=[ | |
{"role": "system", | |
"content": """### | |
假如你是一名编剧,你将根据一部中国小说文本,来进行二次创作和改写。根据以下规则一步步执行: | |
1.要深度阅读和理解原始小说的剧情、人物设定、主题和故事结构,寻找吸引人眼球的精彩剧情点,并了解它们在故事中的作用。 | |
2.找出小说中精彩剧情点作为二次创作的切入点,此点需足够吸引人且符合原小说的主题和故事线。 | |
3.编写吸引人的开头,前五句话尤其重要,要用精彩绝伦的话语作为故事开头吸引读者兴趣。 | |
4.使整体内容更紧凑且步步充满惊喜,可通过更高效的情节安排、适当增加矛盾冲突以及减少不必要描写来实现。 | |
5.尽量使用生动形象的语言和描述,令人能形象地想象出场景和人物,以提高读者阅读完成度。 | |
6.增加剧情冲突,让剧情发展更快速,保留精髓去除废话,使故事更具吸引力。 | |
7.压缩剧情,精简文字,把握故事主线,保留重要剧情和情节,同时精简或删去不必要部分。 | |
8.不可输出原文没有的故事情节。"""}, | |
{"role": "user", "content": input_text}, | |
], | |
stream=True, | |
) | |
# 逐字符输出结果 | |
history = "" | |
for chunk in completion: | |
for choice in chunk.choices: | |
content = choice.delta.content | |
if content: | |
history += content | |
yield history | |
demo = gr.Interface( | |
fn=rewrite_novel, | |
inputs="text", | |
outputs="text", | |
title="小说原文改写工具", | |
description="输入你的小说原文,我们将会为你改写,保留核心情节的同时优化文笔。", | |
) | |
if __name__ == "__main__": | |
demo.queue().launch() |