精彩小说尽在大海小说网!

大海小说网 > 都市 > KingFlow AI API中转站接入 Semantic Kernel 教程

KingFlow AI API中转站接入 Semantic Kernel 教程

KingFlow AI API中转站接入 Semantic Kernel 教程

佚名 著

都市连载

KingFlow AI API中转站接入 Semantic Kernel 教程 使用 OpenAI 兼容接口构建多轮对话与可治理的模型调用 Semantic Kernel 用服务、提示和会话历史组织模型调用。KingFlow AI 提供 OpenAI Chat Completions 兼容接口。Python 版接入时,可以把带有自定义 base_url 的

主角:   更新:2026-11-05 10:20:31

继续看书

扫描二维码手机上阅读

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

男女主角分别是的都市小说《KingFlow AI API中转站接入 Semantic Kernel 教程》,由网络作家“佚名”所著,讲述一系列精彩纷呈的故事,本站纯净无弹窗,精彩内容欢迎阅读!小说详情介绍:KingFlow AI API中转站接入 Semantic Kernel 教程 使用 OpenAI 兼容接口构建多轮对话与可治理的模型调用 Semantic Kernel 用服务、提示和会话历史组织模型调用。KingFlow AI 提供 OpenAI Chat Completions 兼容接口。Python 版接入时,可以把带有自定义 base_url 的

《KingFlow AI API中转站接入 Semantic Kernel 教程》精彩片段

KingFlow AI API中转站接入 Se**ntic Kernel 教程

使用 OpenAI 兼容接口构建多轮对话与可治理的模型调用

Se**ntic Kernel 用服务、提示和会话历史组织模型调用。KingFlow AI 提供 OpenAI Chat Completions 兼容接口。Python 版接入时,可以把带有自定义 *ase_url 的 AsyncOpenAI 客户端交给 OpenAIChatCompletion。本文从基础接口验证开始,完成单轮与多轮对话,并说明密钥、超时、重试、会话裁剪和上线验收。

Claude中转、Claude中转站、API中转和API中转站的实际接入均需核对协议与模型权限。

内容核验日期 2026-11-05

Semantic Kernel 接入 KingFlow AI 三维架构

常用接入术语

名称常见含义使用提示
Claude中转把请求转发到可用 Claude 模型的接入方式核对协议和模型权限
Claude中转站提供 Claude 密钥、额度和路由管理的平台Claude 客户端通常关注 Anthropic 协议
API中转通过兼容接口转发不同模型请求需要核对协议和端点格式
API中转站提供统一 API 接入、模型选择和用量管理的服务本文标题使用这一常见称呼

接入架构

环节职责注意事项
Python 应用保存业务逻辑、提示和会话入口密钥不写入源码
Se**ntic Kernel注册****并管理 ChatHistory使用明确的 service_id
AsyncOpenAI承载 API Key、*ase_url 和连接配置*ase **L 填写到 /v1
OpenAIChatCompletion把兼容客户端接入 Kernel模型 ID 以控制台为准
KingFlow AI认证密钥并路由模型请求*ase **L 填写到 /v1
目标模型生成单轮和多轮对话结果完整模型 ID 以控制台为准

接入优势

  • Se**ntic Kernel 用 service_id 区分不同模型服务,测试、生产或不同模型可以独立配置。
  • ChatHistory 明确保存系统、用户和助手消息,适合构建可检查的多轮对话。
  • 自定义 AsyncOpenAI 客户端可以显式设置兼容端点,也可以统一设置超时和有限重试。
  • Kernel 还能继续接入提示函数和插件;基础连接验证通过后再增加自动函数调用更容易排错。
  • KingFlow 控制台集中管理模型、密钥和用量,便于隔离不同环境。

开始前的准备

  • 准备 Python 3.10 或更高版本,并安装 uv。
  • 在 KingFlow AI 控制台创建以 sk- 开头的 API Key,确认余额和模型分组可用。
  • 复制目标模型的完整模型 ID,并确认上下文窗口满足待处理文档长度。
  • 准备少量脱敏测试文本,首次联调不要直接加载生产知识库。
  • 确认运行环境可以访问 api.**nju**shen.com。

创建 Se**ntic Kernel 测试项目

uv init se**ntic-kernel-kingflow-demo
cd se**ntic-kernel-kingflow-demo
uv add se**ntic-kernel openai python-dotenv

验证 KingFlow 基础接口

curl https://api.**nju**shen.com/v1/chat/completions \
  -H "Authorization: *earer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<KingFlow控制台中的完整模型ID>",
    "messages": [{"role": "user", "content": "只回复 SK_READY"}],
    "stream": false
  }'

配置环境变量

KINGFLOW_*ASE_**L=https://api.**nju**shen.com/v1
KINGFLOW_API_KEY=sk-你的密钥
KINGFLOW_MODEL=<KingFlow控制台中的完整模型ID>
.env
.venv/
__pycache__/
logs/

编写多轮对话示例

import asyncio
import os

from dotenv import load_dotenv
from openai import AsyncOpenAI
from se**ntic_kernel import Kernel
from se**ntic_kernel.connectors.ai.open_ai import (
    OpenAIChatCompletion,
    OpenAIChatPromptExecutionSettings,
)
from se**ntic_kernel.contents import ChatHistory

load_dotenv()

async def **in():
    client = AsyncOpenAI(
        api_key=os.environ["KINGFLOW_API_KEY"],
        *ase_url=os.environ["KINGFLOW_*ASE_**L"],
        timeout=60.0,
        **x_retries=2,
    )
    service = OpenAIChatCompletion(
        ai_model_id=os.environ["KINGFLOW_MODEL"],
        service_id="kingflow-chat",
        async_client=client,
    )
    kernel = Kernel()
    kernel.add_service(service)
    settings = OpenAIChatPromptExecutionSettings(
        service_id="kingflow-chat",
        temperature=0.2,
        **x_tokens=800,
    )

    history = ChatHistory(system_message="回答简洁;不确定时明确说明。")
    history.add_user_message("只回复 SEMANTIC_KERNEL_CONNECTED")
    first = await service.get_chat_message_content(
        chat_history=history, settings=settings, kernel=kernel
    )
    print(first.content)
    history.add_assistant_message(first.content or "")

    history.add_user_message("上一条要求你回复什么?")
    second = await service.get_chat_message_content(
        chat_history=history, settings=settings, kernel=kernel
    )
    print(second.content)

asyncio.run(**in())

观察流式输出

async for chunk in service.get_streaming_chat_message_content(
    chat_history=history,
    settings=settings,
    kernel=kernel,
):
    print(chunk.content or "", end="", flush=True)
Semantic Kernel 治理流程三维图
图二 Se**ntic Kernel 多轮会话、密钥、额度、重试和审计流程。AI 生成示意图。

运行和验证

uv run python **in.py
  1. 先执行 KingFlow 基础请求,确认返回 SK_READY。
  2. 创建 .env 和 .gitignore,再将完整示例保存为 **in.py。
  3. 运行程序,确认第一轮返回 SEMANTIC_KERNEL_CONNECTED。
  4. 检查第二轮是否能根据 ChatHistory 复述上一条要求。
  5. 在 KingFlow 控制台核对模型、密钥、调用次数和 Token 用量。
检查点预期结果判断依据
基础接口返回 SK_READY端点、密钥和模型可用
****返回 SEMANTIC_KERNEL_CONNECTED兼容客户端配置生效
会话历史第二轮能复述上一条要求用户和助手消息已写入历史
服务选择请求由 kingflow-chat 处理service_id 与设置一致
平台记录控制台出现对应调用模型、密钥与用量符合预期

正式环境配置

  • ChatHistory 会随轮次增长;生产环境应按 Token 预算裁剪、摘要或归档旧消息。
  • 不同环境使用独立 service_id、密钥和额度,避免测试流量进入生产账单。
  • 先验证聊天补全,再启用插件和自动函数调用;函数调用还需要模型支持与参数校验。
  • 工具或插件执行前检查用户权限,高风险操作需要人工确认并记录审计事件。
  • 为 429 和 503 设置有限退避重试,并同时限制并发、请求时长和 Token 预算。
  • 记录查询 ID、文档版本、模型、状态码、耗时和用量,但不要记录完整密钥和敏感原文。

文档与密钥安全

  • 只在 .env、密钥管理器或部署平台 Secret 中保存 API Key,并定期轮换。
  • 把系统提示、用户输入和工具返回值视为不可信数据,进入日志前完成脱敏。
  • 插件执行前验证参数、身份和权限,禁止模型直接拼接系统命令或数据库语句。
  • 多轮会话设置过期时间和删除机制,不把敏感历史长期保存在进程内存。
  • 为开发、测试和生产设置独立密钥、额度和告警,异常用量出现后立即停用旧密钥。

上线检查清单

  • 基础接口已经返回 SK_READY。
  • KINGFLOW_*ASE_**L 为 https://api.**nju**shen.com/v1。
  • KINGFLOW_MODEL 使用控制台中的完整模型 ID。
  • AsyncOpenAI 已设置 *ase_url、超时和有限重试。
  • .env 已被 .gitignore 排除,仓库中没有明文密钥。
  • Se**ntic Kernel 使用明确的 service_id 注册服务。
  • ChatHistory 已通过两轮对话验证上下文连续性。
  • KingFlow 控制台的模型、密钥和用量符合预期。

常见故障排查

现象常见原因处理方法
返回 401密钥错误、停用或 .env 未加载检查变量名与文件位置,必要时重新创建密钥
返回 404*ase **L 或模型 ID 错误保留 /v1,并复制控制台中的完整模型 ID
返回 429额度不足、余额不足或请求过快检查用量并降低并发,采用有限退避
返回 503模型通道暂时不可用稍后有限重试或切换已开通模型
*ase **L 不生效把 *ase_url 写给了错误的构造器在 AsyncOpenAI 中设置 *ase_url,再传入 async_client
返回 None服务无文本内容或请求异常检查状态码和 finish_reason,输出前处理空值
多轮失忆未把助手回复写回 ChatHistory每轮完成后追加 assistant 消息
上下文过长历史消息持续累积按 Token 预算裁剪、摘要或开启新会话
API Key 和模型 ID 均为占位示例。请替换为自己的配置,并先在测试环境验证。