使用gradio生成检索机器人界面

可以使用gradio生成一个简单的检索机器人界面,当用户输入问题后经过检索后将最接近的3个选项的标题及内容显示出来。
其效果类似如下:

image

将相应的模型加载进来后,接收到用户输入的问题后将其进行嵌入并向量化后,经过召回和重排序后直接显示:

image

相应数据集来自百度知道,可以访问进行下载。
其相应界面代码如下:

import gradio as gr

def process_fn(question):
	...
	response = ["1111","22222","","3333","4444","","5555","6666"]
	return response

demo = gr.Interface(
	process_fn,
	inputs=gr.Textbox(label="问题"),
	outputs=[
	   gr.Textbox(label="问题"),gr.Textbox(label="回复",lines=3,max_lines=3),
	   gr.HTML("""<div style="width: 60px"></div>"""),
	   gr.Textbox(label="问题"),gr.Textbox(label="回复",lines=3,max_lines=3),
	   gr.HTML("""<div style="width: 60px"></div>"""),
	   gr.Textbox(label="问题"),gr.Textbox(label="回复",lines=3,max_lines=3)
	])
demo.launch()

由于gradio输出没有相应组合的组件,因此直接用6个文本框和2个空行进行分隔开来。

posted @ 2025-04-04 21:44  月薪几千的牛马  阅读(42)  评论(0)    收藏  举报