import Query import BertEmbedding import gradio as gr def queryVideoInfoByTitle(title): if title is None or len(title) == 0: return '查询失败' results = Query.queryCollection(BertEmbedding.text_to_vector(title)) if results is None or len(results) == 0: return '未找到结果' videoInfos = [] videoInfos.append( '标题\t曝光人数\t曝光次数\t播放人数\t播放次数\t分享人数\t分享次数\t回流人数\t回流次数\t相似度得分\n') distances = results[0].distances for i in range(len(results[0])): hit = results[0][i] distance = distances[i] videoInfo = hit.entity title = videoInfo.get('title') preview_users = videoInfo.get('preview_users') preview_times = videoInfo.get('preview_times') view_users = videoInfo.get('view_users') view_times = videoInfo.get('view_times') play_users = videoInfo.get('play_users') play_times = videoInfo.get('play_times') share_users = videoInfo.get('share_users') share_times = videoInfo.get('share_times') return_users = videoInfo.get('return_users') return_times = videoInfo.get('return_times') str = f"{title}\t{preview_users}\t{preview_times}\t{view_users}\t{view_times}\t{play_users}\t{play_times}\t{share_users}\t{share_times}\t{return_users}\t{return_times}\t{distance}\n" videoInfos.append(str) videoInfos.append( f'{title}\t{preview_users}\t{preview_times}\t{view_users}\t{view_times}\t{play_users}\t{play_times}\t{share_users}\t{share_times}\t{return_users}\t{return_times}\t{distance}\n') return '\n'.join(videoInfos) iface = gr.Interface(fn=queryVideoInfoByTitle, inputs=gr.components.Textbox( lines=7, label="请输入文本内容"), outputs="text", title="视频内容向量检索,相似度匹配") iface.launch(share=False)