LLMER必会技能:一行代码将任意python函数部署成http服务

LLMER必会技能:一行代码将任意python函数部署成http服务

LLMER: 一个化繁为简的大模型(LLM)应用开发者神器

llmer 是一个轻量级的 Python 库,旨在简化大型语言模型(LLMs)应用中的复杂过程。它提供了用于并行处理、运行时管理、文件处理和Prompt格式化等常用的高级 API 和实用工具,从而不用每次都需要重复开发相关代码,简化工作。

更多关于LLMER工具的详细功能,阅读原文

Notice: LLMER增加新功能,任意python函数,只需一行代码即可部署成FastAPI服务

一行代码帮你搞定 FastAPI 服务部署

LLMER 工具包 @deploy(host, port) 装饰器能快速便捷将任意函数部署成FastAPI服务。

安装LLMER

shell 复制代码
pip install llmer

使用举例:

在任意函数前加上装饰器@deploy(host=, port=),即可立即部署成FastAPI服务。

然后可通过 <函数名>.serve() 启动服务。

目前支持普通函数、异步函数、流式函数(生成器)、异步流式函数(异步生成器)

python 复制代码
from llmer.server import deploy
import time
import asyncio

# 普通服务
@deploy(host="127.0.0.1", port=9510)
def add(a: int, b: int):
    return a + b
# add.serve()

# 异步服务
@deploy(host="127.0.0.1", port=9510)
async def async_add(a: int, b: int):
    return a + b
# async_add.serve()

# 流式服务
@deploy(host="127.0.0.1", port=9511)
def stream_numbers(start: int, end: int):
    for i in range(start, end + 1):
        time.sleep(1)
        yield f'{{"number": {i}}}'
# stream_numbers.serve()

# 异步流式服务
@deploy(host="127.0.0.1", port=9511)
async def async_stream_numbers(start: int, end: int):
    for i in range(start, end + 1):
        await asyncio.sleep(1)
        yield {"number": i}
# async_stream_numbers.serve()

以最后一个异步流式服务为例,通过 async_stream_numbers.serve() 启动后

shell 复制代码
INFO:     Started server process [26081]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:9511 (Press CTRL+C to quit)

调用举例

shell 复制代码
curl -X POST "http://127.0.0.1:9511/async_stream_numbers" \
    -H "Content-Type: application/json" \
    -d '{"start": 1, "end": 5}'

流式输出

text 复制代码
data: {'number': 1}
data: {'number': 2}
data: {'number': 3}
data: {'number': 4}
data: {'number': 5}

更多关于LLMER工具的详细功能,快来阅读原文

相关推荐
插件开发23 分钟前
矢量路径运算如何选GPU技术?——适用算法对比及OpenGL/Direct3D/CUDA选型指南
算法·3d
8Qi833 分钟前
LeetCode 72:编辑距离(Edit Distance)—— 题解
算法·leetcode·职场和发展·动态规划
SoftLipaRZC40 分钟前
顺序表的应用:通讯录项目与经典算法实战
算法
8Qi840 分钟前
LeetCode 583. 两个字符串的删除操作
算法·leetcode·职场和发展·动态规划
tigershang44 分钟前
卡尔曼滤波:不确定世界中的最优估计
人工智能·算法·机器学习
一个儒雅随和的男子1 小时前
限流算法详细剖析
java·服务器·算法
工业胶粘剂技术2 小时前
单组分高温环氧结构胶 K-EP280 完整技术参数与工程选型分析
算法·制造
小欣加油3 小时前
Leetcode31 下一个排列
数据结构·c++·算法·leetcode·职场和发展
_日拱一卒3 小时前
LeetCode:39组合总和
java·算法·leetcode·职场和发展
无限进步_3 小时前
【Linux】进程状态、僵尸与孤儿、进程调度
linux·运维·服务器·开发语言·数据结构·算法