> 技术文档 > python3写一个异步http接口服务调用大模型(async, sanic)---6.1

python3写一个异步http接口服务调用大模型(async, sanic)---6.1


python3写一个异步http接口服务调用大模型(async, sanic)

python3写一个异步http接口服务调用大模型(async, sanic)

python3写一个异步http接口服务调用大模型(async, sanic),异步适合处理I/O密集型操作(文件/网络请求),特别地,调用大模型等待时间特别长。记录一下!

一、Sanic介绍

Sanic是一个Python3的web服务器和web框架,旨在快速运行。它允许使用Python 3.5中添加的async/await语法。

安装

pip install sanic

二、异步接口代码实现

# !/usr/bin/python# -*- coding: utf-8 -*-# @time : 2025/07/19 18:34# @author : Mo# @function: async httpimport tracebackimport timeimport sysimport ospath_sys = os.path.abspath(os.path.join(os.path.dirname(__file__), \"..\"))sys.path.append(path_sys)print(path_sys)from sanic.views import HTTPMethodViewfrom sanic.log import loggerfrom sanic import responsefrom sanic import Sanicimport asyncioapp = Sanic(\"add_async\")app.config.RESPONSE_TIMEOUT = 96 # 超时时间配置async def add_ab(a, b): \"\"\" 异步程序xxx \"\"\" await asyncio.sleep(1) c = a + b return cclass AddView(HTTPMethodView): def __init__(self) -> None: super().__init__() async def post(self, request): data = {} try: if \"application/json\" in request.content_type: data = request.json else: data = request.form a = data.get(\"a\") b = data.get(\"b\") c = await add_ab(a, b) data[\"c\"] = c except Exception as e: logger.info(\"text error is {}\".format(traceback.print_exc())) return response.json(data)app.add_route(AddView.as_view(),  uri=\"/add\",  methods=[\"POST\", \"GET\"],  version=1,  name=\"add\")# ### 测试异步, async# import time# time_start = time.time()# resp = asyncio.run(add_ab(a=2, b=3))# print(resp)# time_end = time.time()# print(time_end - time_start)if __name__ == \'__main__\': app.run(host=\"0.0.0.0\", port=8032, workers=1, access_log=True )

接口访问

接口: http://127.0.0.1:8032/v1/add
入参:

{\"a\": 100, \"b\": 1000}

在这里插入图片描述

参考

  • sanic

希望对你有所帮助!
转存中…(img-zl6UcerJ-1753261884431)]

参考

  • sanic

希望对你有所帮助!