File size: 2,196 Bytes
612f5a2
 
 
 
 
8af3936
612f5a2
 
 
 
 
 
 
 
 
 
 
de8e1ba
 
 
 
 
 
 
 
 
612f5a2
 
de8e1ba
612f5a2
0ea91eb
de8e1ba
0ea91eb
de8e1ba
 
 
 
 
612f5a2
 
 
 
 
 
 
 
 
 
de8e1ba
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
42
43
44
45
46
47
48
49
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()