博主原文链接:https://www.yourmetaverse.cn/nlp/362/
在Gradio中创建交互式代码编辑器:介绍Code模块和其功能
在Gradio中,有一个名为Code的模块,它用于创建用于输入、编辑或查看代码的代码编辑器。下面是对Code模块及其languages、change和input方法的参数的总结:
Code模块参数
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
value | str | tuple[str] | None | None | 在代码编辑器中显示的默认值。 |
language | str | None | None | 要显示的代码语言。支持的语言列在gr.Code.languages 中。 |
lines | int | 5 | 代码编辑器的行数。 |
label | str | None | None | 组件在界面中的名称。 |
interactive | bool | None | None | 用户是否可以输入代码,而不仅仅是查看。 |
show_label | bool | True | 如果为True,将显示标签。 |
container | bool | True | 如果为True,将在容器中放置组件,提供一些额外的边框间距。 |
scale | int | None | None | 相对于相邻组件的宽度比例。 |
min_width | int | 160 | 最小像素宽度,如果屏幕空间不足,将自动换行。 |
visible | bool | True | 如果为False,组件将被隐藏。 |
elem_id | str | None | None | 可选的字符串,用作HTML DOM中此组件的id。 |
elem_classes | list[str] | str | None | None | 可选的字符串列表,用作HTML DOM中此组件的类。 |
languages方法
languages方法返回支持的代码语言列表。
change方法
change方法是当组件的值发生变化时触发的监听器,无论是由于用户输入还是函数更新。它适用于在Gradio Blocks中使用该组件。
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|
fn | Callable | None | 需要封装为接口的函数。 |
inputs | Component | None | 用作输入的组件列表。如果函数不需要输入,应该是一个空列表。 |
outputs | Component | None | 用作输出的组件列表。如果函数不返回输出,应该是一个空列表。 |
其他参数 |
input方法
input方法是当用户更改组件的值时触发的监听器。它适用于在Gradio Blocks中使用该组件。
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|
fn | Callable | None | 需要封装为接口的函数。 |
inputs | Component | None | 用作输入的组件列表。如果函数不需要输入,应该是一个空列表。 |
outputs | Component | None | 用作输出的组件列表。如果函数不返回输出,应该是一个空列表。 |
其他参数 |
这些参数描述了Code模块及其方法的详细信息,包括数据类型、默认值和每个参数的作用。通过理解这些参数,开发人员可以更好地使用Gradio的Code模块,并构建出交互性强、功能丰富的代码编辑器应用程序。
参数详解
Code
模块的参数
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
value | str / tuple[str] / None | None | 在代码编辑器中显示的默认值。如果是可调用对象,每次应用加载时将调用该函数以设置组件的初始值。 |
language | str / None | None | 要显示代码的语言。支持的语言在 gr.Code.languages 中列出。 |
lines | int | 5 | 行数 |
label | str / None | None | 界面中的组件名称。 |
interactive | bool / None | None | 用户是否可以输入代码或仅查看代码。 |
show_label | bool | True | 如果为 True,则显示标签。 |
container | bool | True | 如果为 True,则将组件放置在容器中,为边框提供额外的填充。 |
scale | int / None | None | 相对于相邻组件的宽度比例。例如,如果组件 A 的 scale=2,组件 B 的 scale=1,则组件 A 的宽度将是组件 B 的两倍。应为整数。 |
min_width | int | 160 | 最小像素宽度,如果屏幕空间不足以满足此值,将换行。如果某个 scale 值导致此组件比 min_width 更窄,则首先尊重 min_width 参数。 |
visible | bool | True | 如果为 False,则隐藏组件。 |
elem_id | str / None | None | 可选的字符串,作为此组件在 HTML DOM 中的 id。可用于定位 CSS 样式。 |
elem_classes | list[str] / str / None | None | 可选的字符串列表,作为此组件在 HTML DOM 中的类。可用于定位 CSS 样式。 |
change 方法中的参数
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
fn | Callable / None | 要封装成界面的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,并且函数应返回单个值或元组,元组中的每个元素对应一个输出组件。 | |
inputs | Component / list[Component] / set[Component] / None | None | 用作输入的 Gradio 组件列表。如果函数不需要输入,则应使用空列表。 |
outputs | Component / list[Component] / None | None | 用作输出的 Gradio 组件列表。如果函数不返回输出,则应使用空列表。 |
api_name | str / None | None | 定义此参数将在 API 文档中公开端点。 |
status_tracker | None | None | |
scroll_to_output | bool | False | 如果为 True,则在完成时将滚动到输出组件。 |
show_progress | ‘full’ / ‘minimal’ / ‘hidden’ | “full” | 如果为 True,则在等待期间显示进度动画。 |
queue | bool / None | None | 如果为 True,则将请求放入队列中(如果已启用队列)。如果为 False,则即使启用了队列,也不会将此事件放入队列。如果为 None,则使用 gradio 应用程序的队列设置。 |
batch | bool | False | 如果为 True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表应具有相等的长度(并且最多为 max_batch_size )。然后函数 必须 返回元组列表(即使只有 1 个输出组件),元组中的每个列表对应一个输出组件。 |
max_batch_size | int | 4 | 如果从队列中调用,则将一起批处理的最大输入数量(仅在 batch=True 时相关)。 |
preprocess | bool | True | 如果为 False,则在运行 ‘fn’ 之前不会运行组件数据的预处理(例如,如果使用 Image 组件,则保留为 base64 字符串)。 |
postprocess | bool | True | 如果为 False,则在将 ‘fn’ 的输出返回给浏览器之前不会运行组件数据的后处理。 |
cancels | dict[str, Any] / list[dict[str, Any]] / None | None | 要取消的其他事件列表,当此侦听器触发时。例如,设置 cancels=[click_event] 将取消 click_event,其中 click_event 是另一个组件的 .click 方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。 |
every | float / None | None | 当客户端连接打开时,以 ‘every’ 秒为单位运行此事件。队列必须已启用。 |
input 方法中的参数
参数 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
fn | Callable / None | 要封装成界面的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,并且函数应返回单个值或元组,元组中的每个元素对应一个输出组件。 | |
inputs | Component / list[Component] / set[Component] / None | None | 用作输入的 Gradio 组件列表。如果函数不需要输入,则应使用空列表。 |
outputs | Component / list[Component] / None | None | 用作输出的 Gradio 组件列表。如果函数不返回输出,则应使用空列表。 |
api_name | str / None | None | 定义此参数将在 API 文档中公开端点。 |
status_tracker | None | None | |
scroll_to_output | bool | False | 如果为 True,则在完成时将滚动到输出组件。 |
show_progress | ‘full’ / ‘minimal’ / ‘hidden’ | “full” | 如果为 True,则在等待期间显示进度动画。 |
queue | bool / None | None | 如果为 True,则将请求放入队列中(如果已启用队列)。如果为 False,则即使启用了队列,也不会将此事件放入队列。如果为 None,则使用 gradio 应用程序的队列设置。 |
batch | bool | False | 如果为 True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表应具有相等的长度(并且最多为 max_batch_size )。然后函数 必须 返回元组列表(即使只有 1 个输出组件),元组中的每个列表对应一个输出组件。 |
max_batch_size | int | 4 | 如果从队列中调用,则将一起批处理的最大输入数量(仅在 batch=True 时相关)。 |
preprocess | bool | True | 如果为 False,则在运行 ‘fn’ 之前不会运行组件数据的预处理(例如,如果使用 Image 组件,则保留为 base64 字符串)。 |
postprocess | bool | True | 如果为 False,则在将 ‘fn’ 的输出返回给浏览器之前不会运行组件数据的后处理。 |
cancels | dict[str, Any] / list[dict[str, Any]] / None | None | 要取消的其他事件列表,当此侦听器触发时。例如,设置 cancels=[click_event] 将取消 click_event,其中 click_event 是另一个组件的 .click 方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。 |
every | float / None | None | 当客户端连接打开时,以 ‘every’ 秒为单位运行此事件。队列必须已启用。 |