Trang chủ / Tài liệu / TypeScript

TypeScript

Các ví dụ Node với @anthropic-ai/sdk và openai, bao gồm truyền luồng.

SDK Anthropic

npm install @anthropic-ai/sdk
import 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

const 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

import 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.