做宠物网站还有前景嘛,营销推广有哪些公司,可信的专业网站建设,网页制作与网站建设宝典pdf技术名词#xff1a;
1、Starlette#xff1a;
它是一个轻量级、高度可用性和可扩展性的Web框架#xff0c;它专门为异步应用程序设计。 Starlette基于Python 3.6的异步/协程语法#xff0c;具有快速响应性能和低延迟。你可以将它理解为Java的Spring。
安装#xff1a;…技术名词
1、Starlette
它是一个轻量级、高度可用性和可扩展性的Web框架它专门为异步应用程序设计。 Starlette基于Python 3.6的异步/协程语法具有快速响应性能和低延迟。你可以将它理解为Java的Spring。
安装pip install starlette
2、uvicorn
它是一个Python Web服务器用于实现基于ASGI异步服务器网关接口的异步Web应用程序。它是用Python编写的可高效、高性能地处理HTTP请求和响应而且很容易配置和部署。你可以将它理解为Java的Tomcat。
安装pip install uvicorn
编写一个web服务server.py
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route
from transformers import pipeline
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import asyncioasync def homepage(request):payload await request.body()string payload.decode(utf-8)response_q asyncio.Queue()await request.app.model_queue.put((string, response_q))output await response_q.get()return JSONResponse(output)async def server_loop(q):model_name /data/checkpoint-10598tokenizer AutoTokenizer.from_pretrained(model_name)tokenizer.deprecation_warnings[Asking-to-pad-a-fast-tokenizer] Truemodel AutoModelForSequenceClassification.from_pretrained(model_name, num_labels4)pipe pipeline(text-classification, modelmodel, tokenizertokenizer)while True:(string, response_q) await q.get()out pipe(string)await response_q.put(out)app Starlette(routes[Route(/, homepage, methods[POST]),],
)app.on_event(startup)
async def startup_event():q asyncio.Queue()app.model_queue qasyncio.create_task(server_loop(q))
启动服务
uvicorn server:app --port 8000
测试
[ipacomm]$ curl -X POST -d 我爱你 http://127.0.0.1:6788
结果
[{label:LABEL_3,score:0.8000535368919373}]
总结
利用transformers的pipeline来搭建一个Python的web服务这样我们微调的大模型就能很简单的发布给他人使用非常的方便便捷。
当然这个样例程序还有需要待完善的地方你觉得该如何完善