← ClaudeAtlas

agf-wiring-multi-llm-sdklisted

Use when wiring up or switching between China-domestic LLM providers (DeepSeek, Doubao/Volc Ark, Qwen/DashScope, MiniMax). Provides OpenAI-compatible adapter pattern, env-var contracts, fallback strategy, cost guardrails, and minimum verifications before declaring integration done.
pcliangx/AppGenesisForge · ★ 9 · AI & Automation · score 76
Install: claude install-skill pcliangx/AppGenesisForge
# Wiring Multi-LLM SDK (DeepSeek / Doubao / Qwen / MiniMax) Use this skill when: - You add a new LLM provider to `backend/app/agents/` or any backend module - You switch the default provider (e.g. DeepSeek → Doubao for cost reasons) - You wire fallback / retry logic between providers - You suspect a provider mismatch is the cause of a bug ## Decision: which SDK style? All four providers expose **OpenAI-compatible endpoints**. Default to the `openai` Python SDK with a custom `base_url` rather than each vendor's bespoke SDK — fewer dependencies, easier to swap, less drift. Bespoke SDK exceptions: - Doubao multimodal (image/video gen): use `volcengine-python-sdk` for Ark image API - MiniMax video / TTS: use `minimax` official SDK - Streaming nuance: confirm OAI-compat client handles vendor's stream chunk format ## Env var contract (locked) All providers follow the same pattern. **Never hardcode keys.** Each is read from environment at module init; a missing key raises early. | Provider | Endpoint env | Key env | Default model env | |---|---|---|---| | DeepSeek | `DEEPSEEK_BASE_URL` (default `https://api.deepseek.com/v1`) | `DEEPSEEK_API_KEY` | `DEEPSEEK_MODEL` (e.g. `deepseek-chat`) | | Doubao (Volc Ark) | `ARK_BASE_URL` (default `https://ark.cn-beijing.volces.com/api/v3`) | `ARK_API_KEY` | `ARK_MODEL_ENDPOINT_ID` (vendor-specific endpoint id, NOT model name) | | Qwen (DashScope) | `DASHSCOPE_BASE_URL` (default `https://dashscope.aliyuncs.com/compatible-mode/v1`) | `DASH