Compare commits

..

No commits in common. "b1f122e874d2f8945ae2b598c066f590bec4096c" and "cd8e272e034682260652fea3b8870e4df66ed869" have entirely different histories.

2 changed files with 14 additions and 53 deletions

View File

@ -281,10 +281,6 @@ bricks.LlmIO = class extends bricks.VBox {
tip:'add new model', tip:'add new model',
css:'clickable' css:'clickable'
}); });
this.inputshower = new bricks.UserInputView({
input_fields:this.input_fields,
width: '100%'
});
this.input_fields.forEach(f => { this.input_fields.forEach(f => {
if (f.name == 'model') this.model_inputed = True; if (f.name == 'model') this.model_inputed = True;
}); });
@ -439,12 +435,25 @@ bricks.LlmIO = class extends bricks.VBox {
} }
async handle_input(event){ async handle_input(event){
var params = event.params; var params = event.params;
this.inputshower.show_input(params) await this.show_input(params);
for(var i=0;i<this.llmmodels.length;i++){ for(var i=0;i<this.llmmodels.length;i++){
var lm = this.llmmodels[i]; var lm = this.llmmodels[i];
schedule_once(lm.model_inputed.bind(lm, params), 0.01); 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); bricks.Factory.register('LlmIO', bricks.LlmIO);

View File

@ -1,53 +1,5 @@
var bricks = window.bricks || {}; var bricks = window.bricks || {};
/*
bricks.UserInputView
将所有输入转换成一个Markdown音视频媒体数据独立显示
*/
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![' + 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);
}
}
}
/* /*
根据大模型返回数据自动构造显示内容 根据大模型返回数据自动构造显示内容
大模型返回json格式数据下面的属性可选 大模型返回json格式数据下面的属性可选