首页 技术 正文
技术 2022年11月10日
0 收藏 386 点赞 5,066 浏览 1797 个字

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:分数]

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,495
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,909
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,741
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,496
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,134
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,298