-
Notifications
You must be signed in to change notification settings - Fork 283
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* slowapi rate limit support * Add tpm && fix multi-target log * 🔥 Cancel extra log * 💫 Adaptation * chore: update docs and print info * clean up
- Loading branch information
Showing
23 changed files
with
535 additions
and
142 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,40 @@ | ||
# 示例见 .env.example | ||
# 示例与解释见 .env.example | ||
|
||
# LOG_CHAT: 是否开启日志 | ||
# `LOG_CHAT`: 是否记录日志 | ||
LOG_CHAT=false | ||
|
||
# OPENAI_BASE_URL: 转发openai风格的任何服务地址,允许指定多个, 以逗号隔开。 | ||
# `OPENAI_BASE_URL`: 转发openai风格的任何服务地址,允许指定多个, 以逗号隔开。 | ||
# 如果指定超过一个,则任何OPENAI_ROUTE_PREFIX/EXTRA_ROUTE_PREFIX都不能为根路由/ | ||
OPENAI_BASE_URL=https://api.openai.com | ||
|
||
# OPENAI_ROUTE_PREFIX: 可指定所有openai风格(为记录日志)服务的转发路由前缀 | ||
OPENAI_ROUTE_PREFIX=/ | ||
# `OPENAI_ROUTE_PREFIX`: 可指定所有openai风格(为记录日志)服务的转发路由前缀 | ||
OPENAI_ROUTE_PREFIX= | ||
|
||
OPENAI_API_KEY= | ||
FORWARD_KEY= | ||
|
||
# EXTRA_BASE_URL: 可指定任意服务转发 | ||
# `EXTRA_BASE_URL`: 可指定任意服务转发 | ||
EXTRA_BASE_URL= | ||
# EXTRA_ROUTE_PREFIX: 与 EXTRA_BASE_URL 匹配的路由前缀 | ||
# `EXTRA_ROUTE_PREFIX`: 与 EXTRA_BASE_URL 匹配的路由前缀 | ||
EXTRA_ROUTE_PREFIX= | ||
|
||
# `RATE_LIMIT`: i.e. RPM 对指定路由的请求速率限制 | ||
# format: {route: ratelimit-string} | ||
# ratelimit-string format [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] :ref:`ratelimit-string`: https://limits.readthedocs.io/en/stable/quickstart.html#rate-limit-string-notation | ||
RATE_LIMIT='{ | ||
"/healthz": "1000/2minutes", | ||
"/v1/chat/completions": "300/minute" | ||
}' | ||
|
||
#`RATE_LIMIT_STRATEGY` Options: (fixed-window, fixed-window-elastic-expiry, moving-window) ref: https://limits.readthedocs.io/en/latest/strategies.html | ||
# `fixed-window`: most memory efficient strategy; `moving-window`:most effective for preventing bursts but higher memory cost. | ||
RATE_LIMIT_STRATEGY=moving-window | ||
|
||
# `GLOBAL_RATE_LIMIT`: 所有`RATE_LIMIT`没有指定的路由. 不填默认无限制 | ||
GLOBAL_RATE_LIMIT= | ||
|
||
# TPM: 返回的token速率限制 | ||
TOKEN_RATE_LIMIT=50/second | ||
|
||
# 设定时区 | ||
TZ=Asia/Shanghai |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,45 @@ | ||
# LOG_CHAT: 是否开启日志 | ||
LOG_CHAT=true | ||
|
||
|
||
# OPENAI_BASE_URL: 转发openai风格的任何服务地址,允许指定多个, 以逗号隔开。 | ||
# 如果指定超过一个,则任何OPENAI_ROUTE_PREFIX/EXTRA_ROUTE_PREFIX都不能为根路由/ | ||
OPENAI_BASE_URL=https://api.openai.com, http:localhost:8080 | ||
OPENAI_BASE_URL='https://api.openai.com, http:localhost:8080' | ||
|
||
# OPENAI_ROUTE_PREFIX: 可指定所有openai风格(为记录日志)服务的转发路由前缀 | ||
OPENAI_ROUTE_PREFIX=/openai, /localai | ||
OPENAI_ROUTE_PREFIX='/openai, /localai' | ||
|
||
# OPENAI_API_KEY:允许输入多个api key, 以逗号隔开, 形成轮询池 | ||
OPENAI_API_KEY=sk-xxx1,sk-xxx2,sk-xxx3 | ||
OPENAI_API_KEY='sk-xxx1, sk-xxx2, sk-xxx3' | ||
|
||
# FORWARD_KEY: 当前面的OPENAI_API_KEY被设置,就可以设置这里的FORWARD_KEY,客户端调用时可以使用FORWARD_KEY作为api key | ||
FORWARD_KEY=fk-xxx1 | ||
|
||
|
||
# EXTRA_BASE_URL: 可指定任意服务转发 | ||
EXTRA_BASE_URL=http://localhost:8882, http://localhost:8881 | ||
EXTRA_BASE_URL='http://localhost:8882, http://localhost:8881' | ||
|
||
# EXTRA_ROUTE_PREFIX: 与 EXTRA_BASE_URL 匹配的路由前缀 | ||
EXTRA_ROUTE_PREFIX=/tts,/translate | ||
EXTRA_ROUTE_PREFIX='/tts, /translate' | ||
|
||
# RATE LIMIT: 指定路由的请求速率限制(不区分客户) | ||
# format: {route: ratelimit-string} | ||
# ratelimit-string format [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] :ref:`ratelimit-string`: https://limits.readthedocs.io/en/stable/quickstart.html#rate-limit-string-notation | ||
RATE_LIMIT='{ | ||
"/healthz": "50/3minutes", | ||
"/openai/v1/chat/completions": "1/10seconds", | ||
"/localai/v1/chat/completions": "2/second"}' | ||
|
||
# PROXY 配置代理 | ||
# `GLOBAL_RATE_LIMIT`: 所有`RATE_LIMIT`没有指定的路由. 不填默认无限制 | ||
GLOBAL_RATE_LIMIT=2/5seconds | ||
|
||
#`RATE_LIMIT_STRATEGY` Options: (fixed-window, fixed-window-elastic-expiry, moving-window) ref: https://limits.readthedocs.io/en/latest/strategies.html | ||
# `fixed-window`: most memory efficient strategy; `moving-window`:most effective for preventing bursts but higher memory cost. | ||
RATE_LIMIT_STRATEGY=fixed-window | ||
|
||
# `PROXY` http代理 | ||
PROXY=http://localhost:7890 | ||
|
||
# `TOKEN_RATE_LIMIT` 对每一份流式返回的token速率限制 (注:这里的token并不严格等于gpt中定义的token,而是SSE的chunk) | ||
TOKEN_RATE_LIMIT=16/second | ||
|
||
# 设定时区 | ||
TZ=Asia/Shanghai |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
__version__ = "0.4.1" | ||
__version__ = "0.5.0-alpha" | ||
|
||
from dotenv import load_dotenv | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.