Vibe Edition LLM SDK
Project description
English | 中文
My LLM SDK
一套代码,调用多家模型。
用同一套
client.generate()调用 Gemini / Qwen / Doubao / DeepSeek。
内置预算控制、429 自动重试、Ledger 记账与用量统计。
🚀 快速上手
# 1. 安装
pip install my-llm-sdk
# 2. 初始化项目 (生成 config.yaml)
llm-sdk init
# 3. 编辑 config.yaml,填入你的 API Key
# api_keys:
# google: "YOUR_KEY"
# 4. 快速调用
llm-sdk generate --model gemini-2.5-flash --prompt "Hello World"
✨ 核心功能
| 功能 | 说明 |
|---|---|
| 统一接口 | 一套 client.generate() 调用所有厂商 |
| 多模型支持 | Gemini, Qwen, Doubao, DeepSeek |
| 多模态 | 图片生成 / TTS / ASR / Vision |
| 预算控制 | 请求前检查消费,超额自动拒绝 |
| 自动重试 | 429/超时退避重试 |
| Async + Streaming | generate_async / stream_async |
📚 详细用法
| Provider | 支持能力 | 文档 |
|---|---|---|
| Google Gemini | 文本 / Vision / 图片生成 / TTS | guide/providers/google.md |
| Qwen (DashScope) | 文本 / Vision / 图片 / TTS / ASR | guide/providers/qwen.md |
| Volcengine (Doubao) | 文本 / DeepSeek / 图片 / 视频 | guide/providers/volcengine.md |
🔧 配置
config.yaml(本地,勿提交 Git)
api_keys:
google: "AIzaSy..."
dashscope: "sk-..."
volcengine: "your-key"
daily_spend_limit: 5.0
模块化配置
SDK 自动加载 llm.project.d/*.yaml 中的模型定义:
my-project/
├── llm.project.yaml # 主配置
└── llm.project.d/
├── google.yaml # Gemini 模型
├── qwen.yaml # Qwen 模型
└── volcengine.yaml # Doubao 模型
📊 CLI 命令
# 今日消耗
llm-sdk budget status
# 消耗趋势
llm-sdk budget report --days 7
# 消耗排行
llm-sdk budget top --by model
🧪 测试
# 回归测试(跳过音频测试)
pytest tests/
# 包含音频测试
pytest tests/ -m "audio"
# E2E 完整测试(图像生成 + Vision + 翻译)
python tests/e2e_full_suite.py
# 统一 Benchmark(文本 + 延迟 + 图像)
python scripts/benchmark_unified.py
# 仅文本 Benchmark
python scripts/benchmark_unified.py --skip-image
🗺️ Roadmap
- 核心管控与预算拦截
- Async + Streaming
- 多模态支持 (Vision / TTS / ASR / Image Gen)
- Volcengine Provider (Doubao / DeepSeek)
- 运维报表与 CLI 工具
- 发布到 PyPI
🤝 贡献
- Fork 本仓库
- 在
src/my_llm_sdk/providers/添加新 Provider - 提交 PR
📄 License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
my_llm_sdk-0.9.2.tar.gz
(512.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file my_llm_sdk-0.9.2.tar.gz.
File metadata
- Download URL: my_llm_sdk-0.9.2.tar.gz
- Upload date:
- Size: 512.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e279c3401820fcd6a58d3f330f7059fc147b640ed5648f49d937b7dee86745b
|
|
| MD5 |
37a4968326521772b4b3ffac52c2a430
|
|
| BLAKE2b-256 |
c43d048dab7cdf353a41ebaffe717afe7564d1672535e754632690bb8094accc
|
File details
Details for the file my_llm_sdk-0.9.2-py3-none-any.whl.
File metadata
- Download URL: my_llm_sdk-0.9.2-py3-none-any.whl
- Upload date:
- Size: 62.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d1489380cb280b59b5f8b6e26df742fe84a610bcda0b335ccfc1d3261f98b90
|
|
| MD5 |
dcfca366995a6d12abbe2c4254788251
|
|
| BLAKE2b-256 |
68313f6ef9a8a5443bb9c65e61e46a3ce1b12ca0b726fe77a05da68866be3890
|