bugfix
This commit is contained in:
parent
b0b6d914e9
commit
cc288dcb8f
@ -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<this.llmmodels.length;i++){
|
||||
var lm = this.llmmodels[i];
|
||||
schedule_once(lm.model_inputed.bind(lm, params), 0.01);
|
||||
};
|
||||
}
|
||||
async show_input(params){
|
||||
var box = new bricks.HBox({width:'100%'});
|
||||
var data = inputdata2dic(params);
|
||||
console.log('data=', data, 'input_view=', this.input_view);
|
||||
var w = await bricks.widgetBuild(this.input_view, this.o_w, data);
|
||||
w.set_css(this.msg_css||'user_msg');
|
||||
w.set_css('filler');
|
||||
var img = new bricks.Svg({rate:2,url:this.user_icon||bricks_resource('imgs/chat-user.svg')});
|
||||
// box.add_widget(new bricks.BlankIcon({rate:2, flexShrink:0}));
|
||||
box.add_widget(w);
|
||||
box.add_widget(img);
|
||||
this.o_w.add_widget(box);
|
||||
}
|
||||
}
|
||||
|
||||
bricks.Factory.register('LlmIO', bricks.LlmIO);
|
||||
|
||||
@ -10,6 +10,50 @@ video:视频url或base64视频
|
||||
image:如果是个数组,则多个图片url
|
||||
*/
|
||||
|
||||
bricks.UserInputView = class extends bricks.VBox {
|
||||
constructor(opts){
|
||||
super(opts);
|
||||
this.v_w = null;
|
||||
this.a_v = null;
|
||||
this.images = [];
|
||||
}
|
||||
show_input(data){
|
||||
var mdtext = '';
|
||||
this.input_fields.forEach(f =>{
|
||||
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\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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user