alonsosilva commited on
Commit
12da214
·
1 Parent(s): 6d352f5
Files changed (3) hide show
  1. README.md +1 -0
  2. app.py +46 -0
  3. requirements.txt +1 -0
README.md CHANGED
@@ -6,6 +6,7 @@ colorTo: pink
6
  sdk: docker
7
  pinned: false
8
  license: mit
 
9
  ---
10
 
11
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
6
  sdk: docker
7
  pinned: false
8
  license: mit
9
+ app_port: 7860
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import solara
2
+ from typing import List
3
+ from typing_extensions import TypedDict
4
+
5
+ class MessageDict(TypedDict):
6
+ role: str
7
+ content: str
8
+
9
+ messages: solara.Reactive[List[MessageDict]] = solara.reactive([])
10
+ @solara.component
11
+ def Page():
12
+ with solara.Column(style={"padding": "30px"}):
13
+ solara.Title("EchoBot")
14
+ solara.Markdown("#EchoBot")
15
+ user_message_count = len([m for m in messages.value if m["role"] == "user"])
16
+
17
+ def send(message):
18
+ messages.value = [
19
+ *messages.value,
20
+ {"role": "user", "content": message},
21
+ ]
22
+
23
+ def response(message):
24
+ messages.value = [
25
+ *messages.value,
26
+ {"role": "assistant", "content": message}
27
+ ]
28
+
29
+ def result():
30
+ if messages.value !=[]: response(messages.value[-1]["content"])
31
+
32
+ result = solara.use_memo(result, [user_message_count])
33
+
34
+ print(messages.value)
35
+
36
+ with solara.Column(style={"width": "70%"}):
37
+ with solara.lab.ChatBox():
38
+ for item in messages.value:
39
+ with solara.lab.ChatMessage(
40
+ user=item["role"] == "user",
41
+ name="Echobot" if item["role"] == "assistant" else "User",
42
+ avatar_background_color="#33cccc" if item["role"] == "assistant" else "#ff991f",
43
+ border_radius="20px",
44
+ ):
45
+ solara.Markdown(item["content"])
46
+ solara.lab.ChatInput(send_callback=send)
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ solara==1.25.0