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工具的详细功能,快来阅读原文

相关推荐
Ayanami_Reii3 小时前
区间不同数的个数-树状数组/线段树/莫队/主席树
数据结构·c++·算法·线段树·树状数组·主席树·莫队
李玮豪Jimmy3 小时前
Day37:动态规划part10(300.最长递增子序列、674.最长连续递增序列 、718.最长重复子数组)
算法·动态规划
歌_顿3 小时前
Embedding 模型word2vec/glove/fasttext/elmo/doc2vec/infersent学习总结
人工智能·算法
Echo_NGC22373 小时前
【KL 散度】深入理解 Kullback-Leibler Divergence:AI 如何衡量“像不像”的问题
人工智能·算法·机器学习·散度·kl
CoderYanger3 小时前
C.滑动窗口-求子数组个数-越长越合法——3325. 字符至少出现 K 次的子字符串 I
c语言·数据结构·算法·leetcode·职场和发展·哈希算法·散列表
sin_hielo3 小时前
leetcode 3606
数据结构·算法·leetcode
Xの哲學4 小时前
Linux DRM 架构深度解析
linux·服务器·算法·架构·边缘计算
qq_433554544 小时前
C++树形DP(树上分组背包)
c++·算法·深度优先
电子_咸鱼5 小时前
常见面试题——滑动窗口算法
c++·后端·python·算法·leetcode·哈希算法·推荐算法
mit6.8245 小时前
hash+presum判等|幻方0
算法