1.例子:

    https://blog.csdn.net/z564359805/article/details/83474387

def get_embedding(bc,query_list,batch_size = 128,seq_length = 25,embedding_size = 768):
query_embedding = np.zeros((len(query_list), seq_length, embedding_size))
num_data = len(query_list)
num_batches_per_epoch = int((len(query_list) - 1) / batch_size) + 1
for batch_num in range(num_batches_per_epoch):
start_index = batch_num * batch_size
end_index = min((batch_num + 1) * batch_size, num_data)
query_embedding[start_index:end_index] = bc.encode(query_list[start_index:end_index])
return query_embedding def create_app(self):
app = Flask(__name__) @app.route('/query/', methods=['POST', 'GET'])
def inference():
try:
#用get方式传入,url带?的传参方式,如果传入多个参数,用逗号分割
if request.method == "GET":
query = request.args.to_dict()
query_list = []
for v in query.values():
query_list.extend(v.split(','))
#用post方式传入,用curl命令传参.
else:
query = request.get_data()
json_query = json.loads(query.decode("utf-8"))
query_list = json_query['query']
#传入的文本通过get_embedding 方式获取batch_size个bert embedding
batch_size = 128
query_embedding = get_embedding(self.bert_client, query_list, batch_size)
#训练的模型预测方法scorer.predict,inference获取query的分数.
scores = scorer.predict(query_embedding)
#用json方式打印分数
res = json.dumps(zip(query_list, map(lambda x: str(x[0]), scores))).decode('unicode_escape')
return str(res)
except Exception as ex:
print(ex)
return "please use post or get request to retry"
return app def run(self):
app = self.create_app()
app.run(port=self.port, host=self.host, threaded=True)

测试时:

get方式:

比如port = 127.0.0.1,host = 5000

输入网址: http://127.0.0.1:5000/queryr/?query=汶川大地震,gpu,为什么

输出:[["汶川大地震", "0.21342309"], ["gpu", "0.37715292"], ["为什么", "0.11760186"]]

post方式:

  在命令行中输入:

curl -X POST -H "Content-Type: application/json" \
 -d '{"query":["2019年黑龙江公务员培训辅导课程",
 "明星祛斑方法:15天快速祛斑,不手术不花冤枉钱,超管用!",
 "祛斑只需用这1个方法,每天5分钟,快速祛斑,超管用",
 "{地域}48岁大叔讲述追涨停技巧,方法仅如此简单,股市堪比印钞机。"]}' \
http://127.0.0.1:5000/query/

  在命令行会打印出:[query:分数]

flask例子的更多相关文章

  1. 无用之flask学习

    一.认识flask 1.短小精悍.可扩展性强 的一个web框架 注意:上下文管理机制 2.依赖wsgi:werkzurg from werkzeug.wrappers import Request, ...

  2. 例子: 自制Flask首页导航.

    # -*- coding:utf-8 -*- ''' Created on 2015年10月19日 ''' from flask import Flask, render_template impor ...

  3. Flask---第一个例子--使用Flask写的【Hello World !】的web程序

    from flask import Flask;------->引入Flask插件,pip install Flask; app=Flask(__name__) #变量app是Flask的一个实 ...

  4. python 全栈开发,Day119(Flask初识,Render Redirect HttpResponse,request,模板语言 Jinja2,用户登录例子,内置Session)

    一.Flask初识 首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 三大主流Web框架对比 ...

  5. windows下测试flask的例子tuorial报错flask KeyError: 'DATABASE'

    windows下测试flask的例子tuorial报错flask KeyError: 'DATABASE' flask KeyError: 'DATABASE' 提示是 变量 database错误 由 ...

  6. flask的第一个例子

    对django有了一些基础了解,现在看看flask,然后如果有时间可以看看 web.py 那么咱们开始flask的第一个例子 先安装flask pip install flask 看官方的教程 我也把 ...

  7. Flask最强攻略 - 跟DragonFire学Flask - 第五篇 做一个用户登录之后查看学员信息的小例子

    需求: 1. 用户名: oldboy 密码: oldboy123 2. 用户登录成功之后跳转到列表页面 3. 失败有消息提示,重新登录 4.点击学生名称之后,可以看到学生的详细信息 后端: from ...

  8. flask登录注册简单的例子

    1.主程序 # app.py # Auther: hhh5460 # Time: 2018/10/05 # Address: DongGuan YueHua from functools import ...

  9. flask第二十九篇——一个例子+【更新内容通知】

    请关注公众号:自动化测试实战 大家先自己写一下,船长写这个花了半个小时,因为我和大家一样,也是新手: 写一个页面如下,点击书名以后跳转到书的详情页 书的信息如下: books = [ { 'id': ...

随机推荐

  1. gocheck框架

    1.  引用包 :  gocheck "gopkg.in/check.v1" 2. 自动化测试入口   :Test_run(t *testing.T) 3. 将自定义的测试用例集, ...

  2. 【VS开发】Wix 安装教程

    original link :  http://www.cnblogs.com/stoneniqiu/p/3355086.html 因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix ...

  3. 如何找到linux centos7 中 redis.conf

    我们假设redis正在运行,但是我们找不带redis的配置文件redis.conf. 正确的示范: (1)systemctl status redis ● redis.service - LSB: s ...

  4. SecureCRT 配色方案

    整体效果: 一:Options -- Global Options 1.Normal colors     2.Bold colors 二 :Options -- Session Options 1. ...

  5. 剑指offer30:连续子数组的最大和

    1 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果 ...

  6. LC 33. Search in Rotated Sorted Array

    问题描述 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. ...

  7. python_openCV例程遇到error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale的简单解决方法

    需要把haar分类器训练的结果xml数据放在名为haarcascades的文件夹下进行调用. 将: face_cascade = cv2.CascadeClassifier('haarcascade_ ...

  8. 数据库设计_ERMaster安装使用_PowerDesigner数据设计工具

    数据库设计 1. 说在前面 项目开发的流程包括哪些环节 需求调研[需求调研报告]-- 公司决策层 (1) 根据市场公司需求分析公司是否需要开发软件来辅助日常工作 (2) 公司高层市场考察,市场分析,决 ...

  9. 待续:s5p6818移植 uboot 2014.07 移植

    前言: 之前半年一直在嵌入式Linux移植中挣扎,不知道该从哪个方面开始入手,也失败了很多次,苦思了很久最终决定先从uboot开始. uboot版本的不同会导致添加板子的时候的配置方法会不一样.由于手 ...

  10. 原生js分页器插件

    window.page = function page(ele, para) { this.ele = document.querySelector(ele); this.options = { co ...