解读FastAPI异步化为transformers模型打造高性能接口解析

devtools/2024/9/19 23:07:15/ 标签: fastapi, python
from fastapi import FastAPI
from transformers import AutoModel, AutoTokenizer
import numpy as np
from starlette.responses import JSONResponseapp = FastAPI()

加载模型和分词器

model = AutoModel.from_pretrained("distilbert-base-uncased")tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")

异步函数用于将输入文本转换为模型需要的格式

  async def prepare_input_for_model(text: str):inputs = tokenizer.encode(text, return_tensors='pt')return inputs

异步函数用于模型预测

 async def get_prediction(inputs):outputs = model(inputs)return outputs.logits

异步接口用于处理HTTP请求并返回预测结果

   @app.post("/predict")async def predict(text: str):inputs = await prepare_input_for_model(text)outputs = await get_prediction(inputs)predictions = np.argmax(outputs.numpy(), axis=-1)return JSONResponse(content={"prediction": predictions[0]})

这段代码展示了如何使用FastAPI框架的异步功能来提高性能。通过异步函数prepare_input_for_model和get_prediction,我们能够处理并行任务,有效利用服务器资源。这样的设计模式对于需要处理大量并发请求的应用程序非常有用。


http://www.ppmy.cn/devtools/100464.html

相关文章

SQL 简易建库和增删改查

创建数据库 : create database 数据库名称 声明要编写的数据库:use 数据库 创建数据表:create table 查询数据:select * from 数据表 :*表示要查询所有数据 条件查询:select* from Students where Memo lik…

旧物上门回收系统架构分析

随着环保意识的增强和资源循环利用的重视,旧物上门回收系统逐渐成为现代城市生活的一部分。这些系统通过先进的技术架构,实现了废品的高效回收与再利用,为环境保护和可持续发展做出了积极贡献。本文将从系统架构的角度,对旧物上门…

vue实现卡片遮罩层交互式功能

前言 在前端开发中&#xff0c;卡片遮罩层是一种常见的交互设计元素&#xff0c;用于强调某个区域或内容&#xff0c;并提供用户操作的入口。本文将带大家在 vue 中结合实际案例实现此功能。 实现效果 完整代码 html <template><!-- 主容器 --><div class&quo…

华为:IT系统的演进与数字时代IT系统的重新定位

往期回顾&#xff1a; 企业4A架构&#xff1a;数字化转型的底层方法论&#xff08;附TOGAF资料下载&#xff09; PPT分享&#xff1a;数据治理的方法论、设计思路与方案&#xff08;干货&#xff09; 浅谈数字化转型方法论 110页PPT:xx业务流程优化&#xff08;BPR&#xff…

【Python脚本】爬取网络小说

原文链接&#xff1a;https://www.cnblogs.com/aksoam/p/18378309 作为重度小说爱好者, 小说下载网站经常被打击,比如:笔趣阁,奇书网,爱书网,80电子书.这些网站的下载链接经常会失效, 所以, 我想自己动手写一个爬虫程序, 抓取网络小说, 并下载到本地. 给出两种思路的python脚…

2-71 基于matlab的小波分析在心电信号去噪中的应用

基于matlab的小波分析在心电信号去噪中的应用&#xff0c;主要针对心电信号中的肌电干扰/基线漂移/工频干扰进行的算法研究&#xff0c;输出了三类去噪结果。程序已调通&#xff0c;可直接运行。 2-71 基线漂移去噪 工频干扰去噪 - 小红书 (xiaohongshu.com)

【区块链 + 智慧文旅】版权区块链系统 | FISCO BCOS应用案例

区块链技术的出现&#xff0c;给数字内容版权保护带来创新模式。如何将区块链多中心化、防篡改和可溯源等特性与版权 保护结合&#xff0c;是实现版权存证确权、版权交易授权与侵权监测维权的关键。版权区块链系统基于FISCO BCOS区块链 平台开发&#xff0c;实现了版权确权存证…

水库水文监测站

水库水文监测站的作用是对水库进行实时监测和数据收集&#xff0c;以评估和管理水库的水文情况。具体的作用包括&#xff1a; 监测水位&#xff1a;水库水文监测站可以实时监测水库的水位变化&#xff0c;用于掌握水库的蓄水情况和水位变化趋势。这对于水库的运营管理、灌溉和防…

企业级NoSql数据库Redis集群

关系型数据库和 NoSQL 数据库 数据库主要分为两大类&#xff1a; 关系型数据库与 NoSQL 数据库 关系型数据库是建立在关系模型基础上的数据库&#xff0c;其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL、Oracle、MS SQL Server 和 DB2 都属于这类传统数…

树莓派制成的 — 带运动检测和摄像头的安防系统

自动布防/撤防、运动检测、带图片的移动通知 项目所用物品 硬件组件 Raspberry Pi 1 Model A 一个&#xff1a;任何支持摄像头模块的 Raspberry Pi 均可 Raspberry Pi 摄像头模块一个 USB WLAN/WiFi适配器一个&#xff1a;必须支持监控模式&#xff0c;推荐使用RT5370 M…

单例模式和多例模式

一.单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;用于确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式在需要控制资源访问&#xff0c;如配置文件读取、数据库连接、线程池等场景中非常…

SSL连接出错原因有哪些?

在当今数字化时代&#xff0c;网络安全至关重要。SSL&#xff08;Secure Sockets Layer&#xff0c;安全套接层&#xff09;协议作为一种为网络通信提供安全及数据完整性的安全协议&#xff0c;被广泛应用于各种网络场景中&#xff0c;如网页浏览、电子邮件、在线支付等。然而&…

汉服文化平台网站

您好&#xff01;本篇论文将详细介绍汉服文化平台网站的设计与实现&#xff0c;该项目基于Java语言&#xff0c;采用SSM框架&#xff0c;结合MySQL数据库完成开发。如果您对汉服文化或本项目有任何兴趣或疑问&#xff0c;欢迎随时与我联系。 开发语言 Java 数据库 MySQL 技…

Python中使用pip换源的详细指南

在Python开发过程中&#xff0c;我们经常需要安装各种第三方库。pip是Python的包管理工具&#xff0c;用于安装和管理Python库。然而&#xff0c;由于网络原因&#xff0c;有时访问默认的Python包索引&#xff08;PyPI&#xff09;可能会比较慢。这时&#xff0c;我们可以通过更…

强化学习5:策略梯度推导

1 介绍 Q-learning、SARSA 等算法都是基于值的学习方法。基于值的方法主要用于离散动作空间。如果动作空间是连续的&#xff0c;离散化可能会导致精度下降或增加计算复杂度。基于值的方法通常要求对每个状态-动作对估计值函数&#xff0c;这限制了策略的复杂性和灵活性。为了使…

抖音收购“联动优势”,存量客户将清退

持牌支付机构联动优势电子商务有限公司&#xff08;以下简称“联动支付”&#xff09;母公司海联金汇科技股份有限公司&#xff08;以下简称“海联金汇”&#xff09;发布公告:将联动支付作价14亿元转让天津同融电子商务有限公司&#xff08;以下简称“同融电子”&#xff09; …

Flink CDC Standalone模式部署及Flink CDC Job提交

目录 部署规划 Flink CDC下载 Flink CDC安装 安装包解压 添加connector包 添加MySQL驱动 提交Flink CDC任务 独立模式(Standalone mode)是Flink最简单的部署模式。本文将介绍如何下载、安装和运行Flink CDC。 Flink CDC是基于Flink开发的一个流式数据…

SpringBoot笔记01

第1章 Spring Boot概要 1.1 SpringBoot介绍 随着动态语言的流行&#xff08;Ruby、Scala、Node.js&#xff09;, Java的开发显得格外的笨重&#xff1b;繁多的配置、低下的开 发效率、复杂的部署流程以及第三方技术整合难度大。 在上述环境下&#xff0c;Spring Boot由此诞生…

Linux云计算 |【第二阶段】SECURITY-DAY1

主要内容&#xff1a; 监控基础&#xff08;系统监控命令、监控软件&#xff09;、Zabbix监控服务端部署、Zabbix监控客户端部署、创建监控主机、调用监控模板、自定义key、创建模板、应用集、监控项、绑定模板&#xff1b; 一、监控概述 1&#xff09;监控的目的 ① 实时报…

Hostease的Windows虚拟主机如何设置错误页面

404错误设置主要用于定义当访问网站上不存在的页面时服务器应该如何响应。通常&#xff0c;404错误表示请求的页面或资源不存在。在Plesk面板中&#xff0c;你可以通过404错误设置来配置服务器对这种情况的处理方式。下面我就介绍如何在Hostease的Windows虚拟主机中设置404错误…