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. Hadoop概念学习系列之Hadoop、Spark学习路线

    1 Java基础: 视频方面:          推荐<毕向东JAVA基础视频教程>.学习hadoop不需要过度的深入,java学习到javase,在Java虚拟机的内存管理.以及多线程. ...

  2. 【VS开发】【miscellaneous】 Windows下配置Git

    [转自]http://blog.csdn.net/exlsunshine/article/details/18939329 1.从git官网下载windows版本的git:http://git-scm ...

  3. 【数据库开发】MySQL修改root密码

    方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass ...

  4. 最新 海看java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.海看等10家互联网公司的校招Offer,因为某些自身原因最终选择了海看.6.7月主要是做系统复习.项目复盘.LeetCode ...

  5. Mstering QT5 chapter1

    涉及到c++ 14新特性: lambda,autovariables. A basic .pro file generally contains: 1) Qt modules used (core, ...

  6. [CF293B]Distinct Paths_搜索_剪枝

    Distinct Paths 题目链接:http://codeforces.com/problemset/problem/293/B 数据范围:略. 题解: 带搜索的剪枝.... 想不到吧..... ...

  7. 用户字符串操作,这里面包括字符串的decode、encode、substract等等操作

    工具类描述:用户字符串操作,这里面包括字符串的decode.encode.substract等等操作 package cn.hgnulb; import java.io.UnsupportedEnco ...

  8. 串口调试助手--Qt

    串口调试助手----------该程序使用Qt框架,C ++语言编译而成 项目文件介绍: main.cpp 该文件为该程序的入口程序 mainwindow.h 该文件为该程序的主要声明部分 mainw ...

  9. WebElement的方法:

    这个类代表HTML页面元素 id_ #当前元素的ID tag_name #获取元素标签名的属性 text #获取该元素的文本. click() #单击(点击)元素 submit() #提交表单 cle ...

  10. JS 06 bom 框窗_页面_定时任务

    BOM(Broswer Object Model) 凡是 window 的属性和方法,均可以省略“window.” 方法: 框窗 1.警告框 window.alert("msg") ...