Skip to main content

Vibe Edition LLM SDK

Project description

English | 中文

License Python

My LLM SDK

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

🤝 贡献

  1. Fork 本仓库
  2. src/my_llm_sdk/providers/ 添加新 Provider
  3. 提交 PR

📄 License

Apache 2.0

Project details


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_llm_sdk-0.9.2-py3-none-any.whl (62.9 kB view details)

Uploaded Python 3

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

Hashes for my_llm_sdk-0.9.2.tar.gz
Algorithm Hash digest
SHA256 8e279c3401820fcd6a58d3f330f7059fc147b640ed5648f49d937b7dee86745b
MD5 37a4968326521772b4b3ffac52c2a430
BLAKE2b-256 c43d048dab7cdf353a41ebaffe717afe7564d1672535e754632690bb8094accc

See more details on using hashes here.

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

Hashes for my_llm_sdk-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6d1489380cb280b59b5f8b6e26df742fe84a610bcda0b335ccfc1d3261f98b90
MD5 dcfca366995a6d12abbe2c4254788251
BLAKE2b-256 68313f6ef9a8a5443bb9c65e61e46a3ce1b12ca0b726fe77a05da68866be3890

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page