65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
# Copyright (c) ModelScope Contributors. All rights reserved.
|
|
import gradio as gr
|
|
from typing import Type
|
|
|
|
from ..base import BaseUI
|
|
|
|
|
|
class Generate(BaseUI):
|
|
|
|
group = 'llm_infer'
|
|
|
|
locale_dict = {
|
|
'max_new_tokens': {
|
|
'label': {
|
|
'zh': '生成序列最大长度',
|
|
'en': 'Max new tokens'
|
|
},
|
|
},
|
|
'temperature': {
|
|
'label': {
|
|
'zh': '采样温度',
|
|
'en': 'Temperature'
|
|
},
|
|
},
|
|
'top_k': {
|
|
'label': {
|
|
'zh': 'Top-k',
|
|
'en': 'Top-k'
|
|
},
|
|
},
|
|
'top_p': {
|
|
'label': {
|
|
'zh': 'Top-p',
|
|
'en': 'Top-p'
|
|
},
|
|
},
|
|
'repetition_penalty': {
|
|
'label': {
|
|
'zh': '重复惩罚',
|
|
'en': 'Repetition Penalty'
|
|
},
|
|
},
|
|
'system': {
|
|
'label': {
|
|
'zh': 'System字段',
|
|
'en': 'System'
|
|
},
|
|
'info': {
|
|
'zh': 'System字段支持在加载模型后修改',
|
|
'en': 'System can be modified after the model weights loaded'
|
|
}
|
|
},
|
|
}
|
|
|
|
@classmethod
|
|
def do_build_ui(cls, base_tab: Type['BaseUI']):
|
|
with gr.Row():
|
|
gr.Textbox(elem_id='max_new_tokens', lines=1, value='2048')
|
|
gr.Slider(elem_id='temperature', minimum=0.0, maximum=10, step=0.1, value=0.3)
|
|
gr.Slider(elem_id='top_k', minimum=1, maximum=100, step=5, value=20)
|
|
gr.Slider(elem_id='top_p', minimum=0.0, maximum=1.0, step=0.05, value=0.7)
|
|
gr.Slider(elem_id='repetition_penalty', minimum=0.0, maximum=10, step=0.05, value=1.05)
|
|
with gr.Row():
|
|
gr.Textbox(elem_id='system', lines=4, scale=20)
|