精彩小说尽在精英小说网!

精英小说网 > 都市 > KingFlow AI Python 与 Node.js SDK 接入教程

KingFlow AI Python 与 Node.js SDK 接入教程

KingFlow AI Python 与 Node.js SDK 接入教程

佚名 著

都市连载

KingFlow AI SDK 教程 Python Node.js Anthropic 生产配置 排错 KingFlow AI Python 与 Node.js SDK 接入教程 使用 OpenAI 与 Anthropic 兼容接口实现普通请求 流式输出 超时重试和错误处理 本教程面向准备把 KingFlow AI 接入后端脚本、自动化任务或 Web 服务的

主角:   更新:2026-10-23 14:24:12

继续看书

扫描二维码手机上阅读

二维码
  • 读书简介
  • 免费章节在线阅读

男女主角分别是的都市小说《KingFlow AI Python 与 Node.js SDK 接入教程》,由网络作家“佚名”所著,讲述一系列精彩纷呈的故事,本站纯净无弹窗,精彩内容欢迎阅读!小说详情介绍:KingFlow AI SDK 教程 Python Node.js Anthropic 生产配置 排错 KingFlow AI Python 与 Node.js SDK 接入教程 使用 OpenAI 与 Anthropic 兼容接口实现普通请求 流式输出 超时重试和错误处理 本教程面向准备把 KingFlow AI 接入后端脚本、自动化任务或 Web 服务的

《KingFlow AI Python 与 Node.js SDK 接入教程》精彩片段

KingFlow AI Python 与 Node.js SDK 接入教程

使用 OpenAI 与 Anthropic 兼容接口实现普通请求 流式输出 超时重试和错误处理

本教程面向准备把 KingFlow AI 接入后端脚本、自动化任务或 We* 服务的开发者。你将完成 Python 与 Node.js 的最小调用,再加入流式输出、超时、有限重试、日志和密钥管理。示例统一使用占位模型 ID,实际值应从 KingFlow AI 模型广场或控制台复制。

资料核验日期 2026-10-23

Python 与 Node.js 连接 AI 网关

开始前的准备

  • 在 KingFlow AI 控制台创建以 sk- 开头的 API Key,并确认账户有余额或有效订阅。
  • 从模型广场或控制台复制目标模型的完整模型 ID,不要根据厂商名称自行猜测。
  • Python 建议使用受支持的较新版本和独立虚拟环境;Node.js 建议使用 20 LTS 或更高版本。
  • 首次测试只发送不含源代码、客户信息、账号或凭证的短提示词。

选择协议和 SDK

模型类型协议*ase **L推荐 SDK
GPT Codex 及 OpenAI 兼容模型OpenAI Compati*lehttps://api.**nju**shen.com/v1openai
Claude 系列Anthropic Compati*lehttps://api.**nju**shen.comanthropic 或 @anthropic-ai/sdk

设置环境变量

KINGFLOW_API_KEY=sk-你的密钥
KINGFLOW_OPENAI_*ASE_**L=https://api.**nju**shen.com/v1
KINGFLOW_ANTHROPIC_*ASE_**L=https://api.**nju**shen.com
KINGFLOW_MODEL_ID=<控制台中的完整模型ID>

准备 Python 项目

python -m venv .venv

# **cOS 或 Linux
source .venv/**n/activate

# Windows PowerShell
.\.venv\Scripts\Activate.ps1

python -m pip install --upgrade openai anthropic

使用 OpenAI Python SDK

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["KINGFLOW_API_KEY"],
    *ase_url=os.environ["KINGFLOW_OPENAI_*ASE_**L"],
    timeout=30.0,
    **x_retries=2,
)

response = client.chat.completions.create(
    model=os.environ["KINGFLOW_MODEL_ID"],
    messages=[{"role": "user", "content": "请回复:Python 接入成功"}],
)

print(response.choices[0].message.content)

Python 流式输出

stream = client.chat.completions.create(
    model=os.environ["KINGFLOW_MODEL_ID"],
    messages=[{"role": "user", "content": "用三句话介绍流式输出"}],
    stream=True,
)

for chunk in stream:
    text = chunk.choices[0].delta.content or ""
    print(text, end="", flush=True)
print()

准备 Node.js 项目

npm init -y
npm install openai @anthropic-ai/sdk

# package.json 中设置
# "type": "module"

使用 OpenAI Node.js SDK

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.KINGFLOW_API_KEY,
  *ase**L: process.env.KINGFLOW_OPENAI_*ASE_**L,
  timeout: 30_000,
  **xRetries: 2,
});

const response = await client.chat.completions.create({
  model: process.env.KINGFLOW_MODEL_ID,
  messages: [{ role: "user", content: "请回复:Node.js 接入成功" }],
});

console.log(response.choices[0].message.content);

Node.js 流式输出

const stream = await client.chat.completions.create({
  model: process.env.KINGFLOW_MODEL_ID,
  messages: [{ role: "user", content: "用三句话介绍流式输出" }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
process.stdout.write("\n");
流式输出与重试流程
图二 密钥、请求、流式输出、重试和可观测性的处理流程。AI 生成示意图。

使用 Anthropic Python SDK

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ["KINGFLOW_API_KEY"],
    *ase_url=os.environ["KINGFLOW_ANTHROPIC_*ASE_**L"],
    timeout=30.0,
    **x_retries=2,
)

message = client.messages.create(
    model=os.environ["KINGFLOW_MODEL_ID"],
    **x_tokens=256,
    messages=[{"role": "user", "content": "请回复:Python Claude 接入成功"}],
)

print("".join(*lock.text for *lock in message.content if *lock.type == "text"))

Anthropic Python 流式输出

with client.messages.stream(
    model=os.environ["KINGFLOW_MODEL_ID"],
    **x_tokens=512,
    messages=[{"role": "user", "content": "用三句话介绍流式输出"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
print()

使用 Anthropic Node.js SDK

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.KINGFLOW_API_KEY,
  *ase**L: process.env.KINGFLOW_ANTHROPIC_*ASE_**L,
  timeout: 30_000,
  **xRetries: 2,
});

const message = await client.messages.create({
  model: process.env.KINGFLOW_MODEL_ID,
  **x_tokens: 256,
  messages: [{ role: "user", content: "请回复:Node.js Claude 接入成功" }],
});

const text = message.content
  .filter((*lock) => *lock.type === "text")
  .**p((*lock) => *lock.text)
  .join("");
console.log(text);

Anthropic Node.js 流式输出

const stream = client.messages.stream({
  model: process.env.KINGFLOW_MODEL_ID,
  **x_tokens: 512,
  messages: [{ role: "user", content: "用三句话介绍流式输出" }],
});

stream.on("text", (text) => process.stdout.write(text));
await stream.finalMessage();
process.stdout.write("\n");

处理异常

认证和模型错误通常不应自动重试;连接错误、429 和部分 5xx 可以做有限退避重试。

import openai

try:
    response = client.chat.completions.create(
        model=os.environ["KINGFLOW_MODEL_ID"],
        messages=[{"role": "user", "content": "健康检查"}],
    )
except openai.AuthenticationError:
    print("认证失败:检查密钥和账户状态")
except openai.NotFoundError:
    print("资源不存在:检查模型 ID 和接口地址")
except openai.RateLimitError:
    print("请求受限:降低并发并稍后重试")
except openai.APIConnectionError:
    print("连接失败:检查网络 ** DNS 和 TLS")
except openai.AP**tatusError as exc:
    print(f"接口错误:**** {exc.status_code}")

生产环境配置

项目建议目的
超时为连接和完整请求设置上限避免请求长期占用线程或连接池
重试仅对连接错误 408 409 429 和 5xx 做有限退避重试防止瞬时故障放大为请求风暴
并发限制同时请求数并设置队列长度控制上游限流和本地资源占用
日志记录时间 模型 状态码 耗时和本地追踪 ID不要记录密钥或完整敏感提示词
用量记录输入输出 Token 和业务标签用于成本分析和异常检测
降级准备同类备用模型并规定切换条件503 或维护时保持有限服务

OpenAI 官方 SDK 默认会对部分连接错误、408、409、429 和 5xx 自动重试两次。应用层应计算总重试预算。

常见故障排查

现象常见原因处理方法
401 未授权密钥错误 已禁用 超额 或认证头不匹配重新复制密钥 检查账户状态并核对协议
404 模型不存在模型 ID 错误或当前分组没有该模型从控制台复制完整模型 ID
429 请求受限并发或速率超过通道限制降低并发 使用指数退避并限制总重试次数
503 无可用账号对应通道暂时没有可用上游账号稍后重试或切换同类备用模型
响应中途停止网络中断 客户端未消费完整 SSE 或模型达到输出上限检查停止原因 流读取循环和超时设置
返回字段为空按错误协议解析结果或内容块并非文本OpenAI 读取 choices Anthropic 遍历 content 文本块
重复扣费或重复任务超时后自动重试导致请求再次执行缩短重试预算 对有副作用的业务增加幂等控制

密钥和数据安全

  • 密钥只保存在服务端环境变量或密钥管理系统中,不要放入浏览器前端、移动端包或公开仓库。
  • 开发、测试和生产分别使用不同密钥,并为每个环境设置可识别的业务标签和额度。
  • 日志中隐藏 Authorization、x-api-key、Cookie 和完整提示词;错误报告只保留必要的诊断信息。
  • 提示词和生成内容会经 KingFlow AI 转发至上游服务商。处理敏感数据前,应核对隐私**和组织要求。
  • 怀疑泄露时立即停用旧密钥、创建新密钥,并检查近期用量与来源。

完成接入检查清单

  • *ase **L 与所选 OpenAI 或 Anthropic 协议一致。
  • 模型 ID 来自当前控制台,并在账户分组中可用。
  • Python 与 Node.js 的普通请求都能返回预期文本。
  • 流式循环能持续输出并正确结束。
  • 应用设置了超时 有限重试 并发限制和备用模型。
  • 日志不包含密钥和敏感提示词,并能定位状态码和耗时。
  • 批量或生产调用前已核对实际用量和计费口径。