Source: https://aiprimetech.io/vi/docs/sdks/typescript/ [Trang chủ](/vi/) / [Tài liệu](/vi/docs/) / TypeScript # TypeScript Các ví dụ Node với @anthropic-ai/sdk và openai, bao gồm truyền luồng. Sao chép trang [ Xem dưới dạng Markdown](/vi/docs/sdks/typescript.md) [ Hỏi ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/sdks/typescript.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Hỏi trong Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/sdks/typescript.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) ## SDK Anthropic ``` Copynpm install @anthropic-ai/sdk ``` ``` Copyimport Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ apiKey: process.env.CLAUDEAPIKEY!, baseURL: "https:">//aiprimetech.io", // no /v1 }); const msg = await client.messages.create({ model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Explain event loops briefly." }], }); const block = msg.content[0]; if (block.type === "text") console.log(block.text); ``` content là một kiểu hợp phân biệt. Hãy thu hẹp kiểu dựa trên block.type === "text" thay vì truy cập theo chỉ mục mà không kiểm tra — phản hồi sử dụng công cụ không có .text và sẽ có giá trị undefined khi chạy. ## Truyền dữ liệu theo luồng ``` Copyconst stream = await client.messages.stream({ model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Count to five." }], }); for await (const event of stream) { if (event.type === "content_block_delta" && event.delta.type === "text_delta") { process.stdout.write(event.delta.text); } } const final = await stream.finalMessage(); console.log(final.usage); ``` ## SDK OpenAI ``` Copyimport OpenAI from "openai"; const client = new OpenAI({ apiKey: process.env.CLAUDEAPIKEY!, baseURL: "https:">//aiprimetech.io/v1", // with /v1 }); const r = await client.chat.completions.create({ model: "claude-sonnet-4-6", messages: [{ role: "user", content: "Hello" }], }); console.log(r.choices[0].message.content); ``` Tuyệt đối không đưa khóa vào mã phía trình duyệt. Hãy gọi cổng API từ máy chủ của bạn và cung cấp điểm cuối riêng cho giao diện người dùng — mọi thứ trong gói mã đều công khai. [Chat CompletionsTài liệu tham chiếu định dạng OpenAI](/vi/docs/api-reference/chat-completions/)[Các phương pháp hay nhấtNhững vấn đề cần lưu ý khi vận hành thực tế](/vi/docs/guides/best-practices/) [TrướcPython](/vi/docs/sdks/python/)[Tiếp theocURL](/vi/docs/sdks/curl/)