npc0 commited on
Commit
d9257a1
·
1 Parent(s): 24dbd70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -7
app.py CHANGED
@@ -5,15 +5,19 @@ from pathlib import Path
5
  import chatglm_cpp
6
  import gradio as gr
7
 
 
 
 
 
8
  init_history = [
9
- chatglm_cpp.ChatMessage(role="user", content='你讀過《故事課》嗎?'),
10
- chatglm_cpp.ChatMessage(role="assistant", content='''作為一個 AI 模型,我沒有「讀」過任何書籍,但我對《故事課》這本書有一定的了解。《故事課》是一本關於故事創作和 storytelling 的書籍,作者是美国作家 John D. Walsh。
11
 
12
  這本書提供了一些有用的建議和技巧,幫助讀者如何創作出引人入勝的故事。它涵蓋了故事創作的各個方面,包括故事結構、角色塑造、情節設計和語言表達等。此外,這本書還提供了一些實用的例子和案例分析,讓讀者可以更好地理解故事創作的過程和技巧。
13
 
14
  總的來說,《故事課》是一本對故事創作很有幫助的書籍,尤其對於那些想寫故事或想提高自己故事創作能力的人來說,這本書會是一本很有價值的參考資料。'''),
15
- chatglm_cpp.ChatMessage(role="user", content='《故事課》提到哪些故事公式?'),
16
- chatglm_cpp.ChatMessage(role="assistant", content='''《故事課》這本書提到了一些故事公式或故事結構,這些結構可以幫助創作故事。以下是其中一些常見的故事公式:
17
 
18
  1. 起承轉合:這是最基礎的故事結構,也稱為三幕結構。故事開始,然後有了一個轉折,接著是高潮,最後有了一個結局。
19
  2. 英雄之旅:這是一個很常見的故事結構,也被稱為綠傳或 gray area。它描述了一個英雄從平凡無奇的生活中開始,經歷了一系列挑戰和冒險,最終達成目標的故事。
@@ -22,7 +26,7 @@ init_history = [
22
  5. 寓言故事:這是一種用故事來說明一個道理或概念的故事,通常包含一個寓意或象徵性的元素。
23
 
24
  這些故事公式只是故事創作中的一部分,不同的故事可能会有不同的結構和情節,但這些公式可以作為一個起點,幫助你開始創作出一個引人入勝的故事。'''),
25
- chatglm_cpp.ChatMessage(role="user", content='''請為『發生在香港的現代版本《聖誕頌歌》電影,背景從西方的聖誕節換成中式的團年飯。
26
 
27
  原版《聖誕頌歌》講述了一位名叫厄尼斯特·斯克魯奇(Ebenezer Scrooge)的富有商人的故事。
28
  斯克魯奇是一個極度吝嗇和自私的人,在三個幽靈的拜訪下,斯克魯奇被帶回他的童年和青少年時期,看到了他曾經擁有的喜悅和幸福,也看到了他的貪婪和自私對他人造成的傷害。
@@ -99,7 +103,7 @@ def reset_user_input():
99
 
100
 
101
  def reset_state():
102
- history = history[:INIT_LEN]
103
  return '', '', [], gr.Dropdown.update(value=None, interactive=False)
104
 
105
 
@@ -123,7 +127,7 @@ with gr.Blocks() as demo:
123
  expand = gr.Dropdown(["1", "2", "3", "4", "5"], label="Step2:進一步擴展的範例", interactive=False)
124
  final_sample = gr.Textbox(show_label=False, placeholder="大綱")
125
 
126
- history = init_history[:]
127
 
128
  submitBtn.click(
129
  predict,
 
5
  import chatglm_cpp
6
  import gradio as gr
7
 
8
+ class myChatMessage(chatglm_cpp.ChatMessage):
9
+ def __deepcopy__(self, **kwargs):
10
+ return chatglm_cpp.ChatMessage(self.role, self.content)
11
+
12
  init_history = [
13
+ myChatMessage(role="user", content='你讀過《故事課》嗎?'),
14
+ myChatMessage(role="assistant", content='''作為一個 AI 模型,我沒有「讀」過任何書籍,但我對《故事課》這本書有一定的了解。《故事課》是一本關於故事創作和 storytelling 的書籍,作者是美国作家 John D. Walsh。
15
 
16
  這本書提供了一些有用的建議和技巧,幫助讀者如何創作出引人入勝的故事。它涵蓋了故事創作的各個方面,包括故事結構、角色塑造、情節設計和語言表達等。此外,這本書還提供了一些實用的例子和案例分析,讓讀者可以更好地理解故事創作的過程和技巧。
17
 
18
  總的來說,《故事課》是一本對故事創作很有幫助的書籍,尤其對於那些想寫故事或想提高自己故事創作能力的人來說,這本書會是一本很有價值的參考資料。'''),
19
+ myChatMessage(role="user", content='《故事課》提到哪些故事公式?'),
20
+ myChatMessage(role="assistant", content='''《故事課》這本書提到了一些故事公式或故事結構,這些結構可以幫助創作故事。以下是其中一些常見的故事公式:
21
 
22
  1. 起承轉合:這是最基礎的故事結構,也稱為三幕結構。故事開始,然後有了一個轉折,接著是高潮,最後有了一個結局。
23
  2. 英雄之旅:這是一個很常見的故事結構,也被稱為綠傳或 gray area。它描述了一個英雄從平凡無奇的生活中開始,經歷了一系列挑戰和冒險,最終達成目標的故事。
 
26
  5. 寓言故事:這是一種用故事來說明一個道理或概念的故事,通常包含一個寓意或象徵性的元素。
27
 
28
  這些故事公式只是故事創作中的一部分,不同的故事可能会有不同的結構和情節,但這些公式可以作為一個起點,幫助你開始創作出一個引人入勝的故事。'''),
29
+ myChatMessage(role="user", content='''請為『發生在香港的現代版本《聖誕頌歌》電影,背景從西方的聖誕節換成中式的團年飯。
30
 
31
  原版《聖誕頌歌》講述了一位名叫厄尼斯特·斯克魯奇(Ebenezer Scrooge)的富有商人的故事。
32
  斯克魯奇是一個極度吝嗇和自私的人,在三個幽靈的拜訪下,斯克魯奇被帶回他的童年和青少年時期,看到了他曾經擁有的喜悅和幸福,也看到了他的貪婪和自私對他人造成的傷害。
 
103
 
104
 
105
  def reset_state():
106
+ history = gr.State(init_history)
107
  return '', '', [], gr.Dropdown.update(value=None, interactive=False)
108
 
109
 
 
127
  expand = gr.Dropdown(["1", "2", "3", "4", "5"], label="Step2:進一步擴展的範例", interactive=False)
128
  final_sample = gr.Textbox(show_label=False, placeholder="大綱")
129
 
130
+ history = gr.State(init_history)
131
 
132
  submitBtn.click(
133
  predict,