File size: 3,391 Bytes
2e77168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import os

import gradio as gr
import modelscope_studio.components.antdx as antdx
import modelscope_studio.components.base as ms
import modelscope_studio.components.pro as pro
from modelscope_studio.components.pro.chatbot import (
    ChatbotDataMessage, ChatbotDataMessageContent,
    ChatbotDataSuggestionContentItem, ChatbotDataSuggestionContentOptions)

with gr.Blocks() as demo, ms.Application(), antdx.XProvider():
    pro.Chatbot(
        value=[
            ChatbotDataMessage(role="user", content="Hello"),
            {
                "role": "assistant",
                "content": "World"
            },
            ChatbotDataMessage(
                role="user",
                # other content type
                content=ChatbotDataMessageContent(
                    type="file",
                    content=[
                        "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png",
                        os.path.join(os.path.dirname(__file__),
                                     "../resources/scenery.jpeg")
                    ])),
            ChatbotDataMessage(role="assistant",
                               content=ChatbotDataMessageContent(
                                   type="tool",
                                   content="Tool content",
                                   options={"title": "Tool"})),
            ChatbotDataMessage(role="assistant",
                               content=ChatbotDataMessageContent(
                                   type="suggestion",
                                   content=[
                                       ChatbotDataSuggestionContentItem(
                                           description="Option 1"),
                                       ChatbotDataSuggestionContentItem(
                                           description="Option 2"),
                                       ChatbotDataSuggestionContentItem(
                                           description="Option 3")
                                   ],
                                   options=ChatbotDataSuggestionContentOptions(
                                       title="Suggestion"))),
            ChatbotDataMessage(
                role="assistant",
                # multiple content type
                content=[
                    ChatbotDataMessageContent(type="tool",
                                              content="Thought content",
                                              options={"title": "Thinking"}),
                    ChatbotDataMessageContent(type="text",
                                              content="Hello World"),
                    ChatbotDataMessageContent(
                        type="suggestion",
                        content=[
                            ChatbotDataSuggestionContentItem(
                                description="Option 1"),
                            ChatbotDataSuggestionContentItem(
                                description="Option 2"),
                            ChatbotDataSuggestionContentItem(
                                description="Option 3")
                        ],
                        options=ChatbotDataSuggestionContentOptions(
                            title="Suggestion"))
                ]),
        ],
        height=600)

if __name__ == "__main__":
    demo.queue().launch()