zoukankan      html  css  js  c++  java
  • flask例子

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

  • 相关阅读:
    在C#中子线程如何操作主窗口线程上的控件
    创建数据透视表数据包含合并单元格
    sql,nosql
    Enthought科学计算,数据分析
    程序员常去的14个顶级开发社区
    Windows查看进程taskList,终止进程tskill
    Pandas库之DataFrame
    centos下chm阅读器
    c++回调函数
    __NSAutoreleaseNoPool(): ... utoreleased with no pool in place
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/11326147.html
Copyright © 2011-2022 走看看