Name | pybragi JSON |
Version |
0.0.21.post1
JSON |
| download |
home_page | None |
Summary | pybragi is web server framework for fast&simple usage |
upload_time | 2025-07-12 04:46:17 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# pybragi is web server framework
- tronado http&websocket impl
- flask way
- fastapi way
- service-discovery and service-register
- mongo way
- consul way
- graceful shutdown
- prometheus metrics
- benchmark tools for openai_api and http_api
- kafka producer and consumer
- sliding window
## commandline
```bash
# simple server
python -m pybragi.base.base_handler --port=1122
# system info eth0 ipv4/disk/memory/gpu
python -m pybragi.base.ps
```
```bash
# http prof
python -m pybragi.bench.http_prof --url http://10.121.0.11:18000/healthcheck --num=100 --qps=40
python -m pybragi.bench.http_prof --url http://10.121.0.11:19000/v1/chat/completions --method=POST -H "Content-Type: application/json" --body='{"model": "Qwen3-235B-A22B", "messages": [{"role": "user", "content": "你好"}], "stream": false}' --num=10 --qps=3
# llm openai
python -m pybragi.bench.llm_openai --qps=2 --url=http://localhost:30000 --api-key=aaabbb --jsonl-file=https://xxx.com/queue-2025-05-12.jsonl --num=10 --model=qwen3_235b_0419_25k --metrics-dir='/home/cxj/self/py3_server/output'
python -m pybragi.bench.llm_openai --show-metrics-pkl='/output/llm_openai_2025-05-12T15-48-27.pkl'
| 统计类型 | prompt_len | output_len | 端到端 | ttft | itl |
|---------|-----------|-----------|-------|------|-----|
| 平均值 | 8172.300 | 235.500 | 5170.644 | 306.232 | 95.763 |
| 中位数 | 8327.000 | 237.500 | 5211.785 | 305.749 | 89.392 |
| 99分位 | 9312.820 | 270.640 | 6036.196 | 339.780 | 125.736 |
| 最大值 | 9331.000 | 271.000 | 6069.074 | 340.317 | 127.126 |
# server dao_server_discovery
python -m pybragi.server.dao_server_discovery --mongo-url "mongodb://aa:bb@127.0.0.1:3717/?authSource=llm&retryWrites=true" --mongo-db=llm --action=show_type --model-type=openai
# --mongo-db=llm --action=show --model-type=openai # openai同步流式调用
# --mongo-db=llm --action=show_type_online # api+回调
# --mongo-db=llm --action=show_type_online --model-type=openai # openai同步流式调用
# --mongo-db=llm --action=show_type # api+回调
# --mongo-db=llm --action=show_type --model-type=openai # openai同步流式调用
# --mongo-db=llm --action=show_all_online # 完全所有
# --mongo-db=llm --action=show_all # 完全所有
```
Raw data
{
"_id": null,
"home_page": null,
"name": "pybragi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "DeJoker <localjie@163.com>",
"download_url": null,
"platform": null,
"description": "\n# pybragi is web server framework\n- tronado http&websocket impl\n - flask way\n - fastapi way\n- service-discovery and service-register\n - mongo way\n - consul way\n- graceful shutdown\n- prometheus metrics\n- benchmark tools for openai_api and http_api\n- kafka producer and consumer\n - sliding window \n\n\n\n## commandline\n\n```bash\n# simple server\npython -m pybragi.base.base_handler --port=1122 \n\n# system info eth0 ipv4/disk/memory/gpu\npython -m pybragi.base.ps\n\n```\n\n```bash\n# http prof\npython -m pybragi.bench.http_prof --url http://10.121.0.11:18000/healthcheck --num=100 --qps=40\npython -m pybragi.bench.http_prof --url http://10.121.0.11:19000/v1/chat/completions --method=POST -H \"Content-Type: application/json\" --body='{\"model\": \"Qwen3-235B-A22B\", \"messages\": [{\"role\": \"user\", \"content\": \"\u4f60\u597d\"}], \"stream\": false}' --num=10 --qps=3\n\n\n# llm openai\npython -m pybragi.bench.llm_openai --qps=2 --url=http://localhost:30000 --api-key=aaabbb --jsonl-file=https://xxx.com/queue-2025-05-12.jsonl --num=10 --model=qwen3_235b_0419_25k --metrics-dir='/home/cxj/self/py3_server/output'\n\npython -m pybragi.bench.llm_openai --show-metrics-pkl='/output/llm_openai_2025-05-12T15-48-27.pkl'\n\n\n| \u7edf\u8ba1\u7c7b\u578b | prompt_len | output_len | \u7aef\u5230\u7aef | ttft | itl |\n|---------|-----------|-----------|-------|------|-----|\n| \u5e73\u5747\u503c | 8172.300 | 235.500 | 5170.644 | 306.232 | 95.763 |\n| \u4e2d\u4f4d\u6570 | 8327.000 | 237.500 | 5211.785 | 305.749 | 89.392 |\n| 99\u5206\u4f4d | 9312.820 | 270.640 | 6036.196 | 339.780 | 125.736 |\n| \u6700\u5927\u503c | 9331.000 | 271.000 | 6069.074 | 340.317 | 127.126 |\n\n\n\n# server dao_server_discovery\n\npython -m pybragi.server.dao_server_discovery --mongo-url \"mongodb://aa:bb@127.0.0.1:3717/?authSource=llm&retryWrites=true\" --mongo-db=llm --action=show_type --model-type=openai\n\n# --mongo-db=llm --action=show --model-type=openai # openai\u540c\u6b65\u6d41\u5f0f\u8c03\u7528\n\n# --mongo-db=llm --action=show_type_online # api+\u56de\u8c03\n# --mongo-db=llm --action=show_type_online --model-type=openai # openai\u540c\u6b65\u6d41\u5f0f\u8c03\u7528\n\n# --mongo-db=llm --action=show_type # api+\u56de\u8c03\n# --mongo-db=llm --action=show_type --model-type=openai # openai\u540c\u6b65\u6d41\u5f0f\u8c03\u7528\n\n# --mongo-db=llm --action=show_all_online # \u5b8c\u5168\u6240\u6709\n# --mongo-db=llm --action=show_all # \u5b8c\u5168\u6240\u6709\n\n\n\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "pybragi is web server framework for fast&simple usage",
"version": "0.0.21.post1",
"project_urls": {
"Repository": "https://github.com/DeJoker/pybragi",
"homepage": "https://github.com/DeJoker/pybragi"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6907600dd05253d870fca310a91c55fdd7c92af9b744fac7673dc29057816959",
"md5": "34d8ec54de09f63f46d412a27fcc97b4",
"sha256": "09bbe3bba5a3945c9278d28e6034e9fc31e95b661a4c7e295c901f94d114e71e"
},
"downloads": -1,
"filename": "pybragi-0.0.21.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34d8ec54de09f63f46d412a27fcc97b4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 71640,
"upload_time": "2025-07-12T04:46:17",
"upload_time_iso_8601": "2025-07-12T04:46:17.449226Z",
"url": "https://files.pythonhosted.org/packages/69/07/600dd05253d870fca310a91c55fdd7c92af9b744fac7673dc29057816959/pybragi-0.0.21.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 04:46:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DeJoker",
"github_project": "pybragi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pybragi"
}