TypeScript SDK
前提条件
第 1 步:安装
$ npm install @joytoken/client-sdk-ts
第 2 步:创建客户端
1 import { JoyTokenClient } from "@joytoken/client-sdk-ts"; 2 3 const joytoken = new JoyTokenClient({ 4 apiKey: process.env.JOY_TOKEN_API_KEY, 5 apiBaseUrl: process.env.JOY_TOKEN_API_BASE_URL, 6 openAIBaseUrl: process.env.JOY_TOKEN_OPENAI_BASE_URL, 7 timeoutMs: 60_000, 8 });
第 3 步:聊天补全
1 const completion = await joytoken.chat.completions.create({ 2 model: "auto", 3 messages: [{ role: "user", content: "Reply with exactly: pong" }], 4 }); 5 6 console.log(completion.choices[0]?.message?.content);
第 4 步:流式响应
1 for await (const chunk of joytoken.chat.completions.stream({ 2 model: "auto", 3 messages: [{ role: "user", content: "Write one short paragraph." }], 4 })) { 5 process.stdout.write(chunk.choices[0]?.delta?.content ?? ""); 6 }
第 5 步:模型列表
1 const models = await joytoken.models.list(); 2 console.log(models.data.map((model) => model.id));
常见错误
| 错误 | 处理方式 |
|---|---|
No fetch implementation available | 使用 Node.js 18+,或在 JoyTokenClient({ fetch }) 传入 fetch |
401 Unauthorized | 检查 JOY_TOKEN_API_KEY |
JoyTokenAPIError | 读取 status、requestId、body 定位请求 |