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

发布于:2025-07-25 ⋅ 阅读:(16) ⋅ 点赞:(0)

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 http


import traceback
import time
import sys
import os

path_sys = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
sys.path.append(path_sys)
print(path_sys)

from sanic.views import HTTPMethodView
from sanic.log import logger
from sanic import response
from sanic import Sanic
import asyncio


app = Sanic("add_async")
app.config.RESPONSE_TIMEOUT = 96   # 超时时间配置


async def add_ab(a, b):
    """  异步程序xxx   """
    await asyncio.sleep(1)
    c = a + b
    return c


class 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}

在这里插入图片描述

参考

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

参考

希望对你有所帮助!


网站公告

今日签到

点亮在社区的每一天
去签到