diff --git a/bricks/llm.js b/bricks/llm.js index b37770e..60f1b86 100644 --- a/bricks/llm.js +++ b/bricks/llm.js @@ -281,6 +281,10 @@ bricks.LlmIO = class extends bricks.VBox { tip:'add new model', css:'clickable' }); + this.inputshower = new bricks.UserInputView({ + input_fields:this.input_fields, + width: '100%' + }); this.input_fields.forEach(f => { if (f.name == 'model') this.model_inputed = True; }); @@ -435,25 +439,12 @@ bricks.LlmIO = class extends bricks.VBox { } async handle_input(event){ var params = event.params; - await this.show_input(params); + this.inputshower.show_input(params) for(var i=0;i{ + if (data[f.name]){ + if (f.name.startsWith('video')){ + this.v_w = new bricks.VideoPlayer({ + url:data[f.name], + autoplay:true + width: '100%' + }); + } else if (f.name.startsWith('audio'){ + this.a_w = new bricks.AudioPlayer({ + url:data[f.name], + autoplay:true + width: '100%' + }); + } else if (f.name.startsWidth('image'){ + mdtext += '\n![' + f.label || f.name + ']('+ data[f.name] + ')\n'; + } else { + mdtext += '\n# ' + f.label || f.name + '\n```' + data[f.name] + '\n```\n'; + } + } + }); + this.clear_widgets(); + var w = new bricks.MdWidget({ + width: '100%', + mdtext:mdtext + }); + this.add_widget(w); + if (this.v_w){ + this.add_widget(this.v_w); + } + if (this.a_w){ + this.add_widget(this.a_w); + } + } +} bricks.LlmOut = class extends bricks.VBox { constructor(opts){ super(opts);