Coloring commited on
Commit
6c3eb98
·
1 Parent(s): d8c513f

feat: update

Browse files
app.py CHANGED
@@ -66,7 +66,7 @@ index_docs = {"overview": Docs(__file__), **layout_templates}
66
 
67
  base_docs = get_docs("base")
68
  antd_docs = get_docs("antd")
69
- # antdx_docs = get_docs("antdx")
70
 
71
  default_active_tab = "index"
72
  index_menu_items = [{
@@ -411,6 +411,15 @@ antdx_menu_items = [{
411
  "label": get_text("Prompts", "Prompts 提示集"),
412
  "key": "prompts"
413
  }]
 
 
 
 
 
 
 
 
 
414
  }]
415
 
416
 
@@ -484,7 +493,7 @@ site = Site(
484
  # match the key of tabs
485
  "index": index_docs,
486
  "antd": antd_docs,
487
- # "antdx": antdx_docs,
488
  "base": base_docs
489
  },
490
  default_active_tab=default_active_tab,
 
66
 
67
  base_docs = get_docs("base")
68
  antd_docs = get_docs("antd")
69
+ antdx_docs = get_docs("antdx")
70
 
71
  default_active_tab = "index"
72
  index_menu_items = [{
 
411
  "label": get_text("Prompts", "Prompts 提示集"),
412
  "key": "prompts"
413
  }]
414
+ }, {
415
+ "label":
416
+ get_text("Express", "表达"),
417
+ "type":
418
+ "group",
419
+ "children": [{
420
+ "label": get_text("Attachments", "Attachments 输入附件"),
421
+ "key": "attachments"
422
+ }]
423
  }]
424
 
425
 
 
493
  # match the key of tabs
494
  "index": index_docs,
495
  "antd": antd_docs,
496
+ "antdx": antdx_docs,
497
  "base": base_docs
498
  },
499
  default_active_tab=default_active_tab,
components/antdx/attachments/README-zh_CN.md ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # Attachments
2
+
3
+ Display the collection of attachment information. See [Ant Design X](https://x.ant.design/components/attachments/) for more information.
4
+
5
+ ## Examples
6
+
7
+ <demo name="basic"></demo>
8
+ <demo name="combination" title="Combination"></demo>
components/antdx/attachments/README.md ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # Attachments
2
+
3
+ Display the collection of attachment information. See [Ant Design X](https://x.ant.design/components/attachments/) for more information.
4
+
5
+ ## Examples
6
+
7
+ <demo name="basic"></demo>
8
+ <demo name="combination" title="Combination"></demo>
components/antdx/attachments/app.py ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ from helper.Docs import Docs
2
+
3
+ docs = Docs(__file__)
4
+
5
+ if __name__ == "__main__":
6
+ docs.render().queue().launch()
components/antdx/attachments/demos/basic.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import modelscope_studio.components.antd as antd
3
+ import modelscope_studio.components.antdx as antdx
4
+ import modelscope_studio.components.base as ms
5
+
6
+
7
+ def upload_file(attachments_value):
8
+ print(attachments_value)
9
+
10
+
11
+ default_fullscreen_drop = False
12
+
13
+ with gr.Blocks() as demo:
14
+ with ms.Application():
15
+ with antdx.XProvider():
16
+ with antd.Flex(vertical=True,
17
+ gap="middle",
18
+ align="flex-start",
19
+ elem_id="attachments-container"):
20
+ fullscreen_drop_switch = antd.Switch(
21
+ value=default_fullscreen_drop,
22
+ checked_children="Full screen drop",
23
+ un_checked_children="Full screen drop")
24
+ with antdx.Sender():
25
+ with ms.Slot("prefix"):
26
+ with antdx.Attachments(
27
+ placeholder=dict(
28
+ title="Drag & Drop files here",
29
+ description=
30
+ "Support file type: image, video, audio, document, etc."
31
+ ),
32
+ get_drop_container=
33
+ "() => document.querySelector('#attachments-container')",
34
+ ) as attachments:
35
+ with antd.Button(value=None, type="text"):
36
+ with ms.Slot("icon"):
37
+ antd.Icon("LinkOutlined")
38
+ with ms.Slot("placeholder.icon"):
39
+ antd.Icon("CloudUploadOutlined")
40
+
41
+ attachments.change(fn=upload_file, inputs=[attachments])
42
+ fullscreen_drop_switch.change(fn=lambda x: gr.update(
43
+ get_drop_container="() => document.body" if x else
44
+ "() => document.querySelector('#attachments-container')",
45
+ ),
46
+ inputs=[fullscreen_drop_switch],
47
+ outputs=[attachments])
48
+
49
+ if __name__ == "__main__":
50
+ demo.queue().launch()
components/antdx/attachments/demos/combination.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import modelscope_studio.components.antd as antd
3
+ import modelscope_studio.components.antdx as antdx
4
+ import modelscope_studio.components.base as ms
5
+
6
+
7
+ def toggle_open(state_value, attachments_value):
8
+ state_value["open"] = not state_value["open"]
9
+ return gr.update(open=state_value["open"]), gr.update(
10
+ dot=len(attachments_value) > 0 and not state_value["open"]), gr.update(
11
+ value=state_value)
12
+
13
+
14
+ def submit(sender_value, attachments_value):
15
+ print(sender_value, attachments_value)
16
+ return gr.update(value=None), gr.update(value=None), gr.update(dot=False)
17
+
18
+
19
+ with gr.Blocks() as demo:
20
+ state = gr.State({"open": True})
21
+ with ms.Application():
22
+ with antdx.XProvider():
23
+ antd.Typography.Paragraph(
24
+ "Work with Sender.Header to insert file into the conversation."
25
+ )
26
+ with antdx.Sender() as sender:
27
+ with ms.Slot("prefix"):
28
+ with antd.Badge(dot=False) as prefix_badge:
29
+ with antd.Button(value=None) as prefix_button:
30
+ with ms.Slot("icon"):
31
+ antd.Icon("LinkOutlined")
32
+ with ms.Slot("header"):
33
+ with antdx.Sender.Header(title="Attachments",
34
+ open=True,
35
+ styles={
36
+ "content": {
37
+ "padding": 0,
38
+ },
39
+ }) as sender_header:
40
+ with antdx.Attachments() as attachments:
41
+ with ms.Slot(
42
+ "placeholder.title",
43
+ params_mapping=
44
+ """(type) => type === 'drop' ? 'Drop file here' : 'Upload files'"""
45
+ ):
46
+ ms.Span()
47
+ with ms.Slot(
48
+ "placeholder.description",
49
+ params_mapping=
50
+ "(type) => ({ style: { display: type === 'drop'? 'none' : undefined } })"
51
+ ):
52
+ ms.Span(
53
+ "Click or drag files to this area to upload"
54
+ )
55
+ with ms.Slot(
56
+ "placeholder.icon",
57
+ params_mapping=
58
+ "(type) => ({ style: { display: type === 'drop'? 'none' : undefined } })"
59
+ ):
60
+ antd.Icon("CloudUploadOutlined")
61
+
62
+ sender_header.open_change(
63
+ fn=toggle_open,
64
+ inputs=[state, attachments],
65
+ outputs=[sender_header, prefix_badge, state])
66
+ prefix_button.click(fn=toggle_open,
67
+ inputs=[state, attachments],
68
+ outputs=[sender_header, prefix_badge, state])
69
+ sender.submit(fn=submit,
70
+ inputs=[sender, attachments],
71
+ outputs=[sender, attachments, prefix_badge])
72
+
73
+ if __name__ == "__main__":
74
+ demo.queue().launch()
components/antdx/attachments/demos/file_card.py ADDED
File without changes
layout_templates/coder_artifacts/demos/app.py CHANGED
@@ -15,6 +15,7 @@ MODELSCOPE_ACCESS_TOKEN = os.getenv('MODELSCOPE_ACCESS_TOKEN')
15
  client = OpenAI(api_key=MODELSCOPE_ACCESS_TOKEN,
16
  base_url="https://api-inference.modelscope.cn/v1")
17
 
 
18
  # =========== Configuration
19
 
20
  DEFAULT_SYSTEM_PROMPT = """You are a web development engineer, writing web pages according to the instructions below. You are a powerful code editing assistant capable of writing code and creating artifacts in conversations with users, or modifying and updating existing artifacts as requested by users.
@@ -87,10 +88,9 @@ class GradioEvents:
87
 
88
  messages.append({'role': "user", 'content': input_value})
89
 
90
- generator = client.chat.completions.create(
91
- model="Qwen/Qwen2.5-Coder-32B-Instruct",
92
- messages=messages,
93
- stream=True)
94
  response = ""
95
  for chunk in generator:
96
  content = chunk.choices[0].delta.content
 
15
  client = OpenAI(api_key=MODELSCOPE_ACCESS_TOKEN,
16
  base_url="https://api-inference.modelscope.cn/v1")
17
 
18
+ model = "Qwen/Qwen2.5-Coder-32B-Instruct"
19
  # =========== Configuration
20
 
21
  DEFAULT_SYSTEM_PROMPT = """You are a web development engineer, writing web pages according to the instructions below. You are a powerful code editing assistant capable of writing code and creating artifacts in conversations with users, or modifying and updating existing artifacts as requested by users.
 
88
 
89
  messages.append({'role': "user", 'content': input_value})
90
 
91
+ generator = client.chat.completions.create(model=model,
92
+ messages=messages,
93
+ stream=True)
 
94
  response = ""
95
  for chunk in generator:
96
  content = chunk.choices[0].delta.content
requirements.txt CHANGED
@@ -1,2 +1,2 @@
1
- modelscope_studio==1.1.1
2
  openai
 
1
+ modelscope_studio==1.1.2
2
  openai
src/pyproject.toml CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
 
9
  [project]
10
  name = "modelscope_studio"
11
- version = "1.1.1"
12
  description = "A third-party component library based on Gradio."
13
  readme = "README.md"
14
  license = "Apache-2.0"
 
8
 
9
  [project]
10
  name = "modelscope_studio"
11
+ version = "1.1.2"
12
  description = "A third-party component library based on Gradio."
13
  readme = "README.md"
14
  license = "Apache-2.0"