Core AI
    正在准备搜索索引...

    Core AI

    Core AI SDK

    提供了对接 Core AI Service API 的客户端开发包。

    需要同时安装两个包:

    pnpm add @choiceform/core-ai-sdk pnpm add @choiceform/core-ai-shared-schema

    前者是 SDK 本体,后者是客户端与服务端共享的 Schema 和 Types。都需要确保安装最新的版本,以避免类型不匹配。

    首先创建一个单独的文件来初始化 SDK Client,例如 /lib/core-ai-sdk.ts

    import { createClient } from "@choiceform/core-ai-sdk"

    export client = createClient({
    apiHostURL: <Core AI 服务端的地址不加任何路径>
    accessToken?: <登陆后获得的访问令牌可选)>
    })

    - `apiHostURL`当前提供测试环境地址为 https://core-ai.choiceform.io(建议保存为环境变量)
    - `accessToken`初始化 SDK Client 时可以直接附加访问令牌但这是可选的详见下文

    由于 SDK Client 只需要实例化一次,而在实例化的时候往往不能保证此时一定会有令牌;又或者在 SPA 应用中登出之后再登陆会刷新令牌且 SDK Client 无需重新初始化——这可能会导致令牌实效。

    因此 SDK Client 提供了一个 attachAccessToken 的方法用于在需要的时候更新令牌。建议在应用初始化阶段能确保获得用户 session 数据之后立即调用该方法更新令牌。这样无论是首次初始化还是登出再登陆都可以保障 SDK Client 始终能使用最新的有效令牌来发起网络请求。例如:

    // 在应用初始化阶段能获得 session 的时候(意味着 token 是有效的)
    client.attachAccessToken(newToken) // <- 新的令牌,是否编码不重要,SDK 会处理重复编码等问题。

    SDK Client 是分不同模块来调用的,具体有哪些模块请参考附录中提供的文档地址。

    例如,如果要调用 Application 模块的获取应用列表方法:

    // applications 即返回的应用列表,默认只会查询当前用户创建的应用且不包括 archived
    const { data: applications } = await client.application.listByCreator()

    // archived 返回当前用户创建且以被软删除的应用列表
    const { data: archived } = await client.application.listByCreator({ archived: true })

    SDK Client 提供的各种方法已经是类型完备的,包括入参的类型和返回值的类型,具体定义可参见文档内容。

    如果需要单独使用某些类型,可以通过 @choiceform/core-ai-shared-schema 来导入,例如:

    import type { Application } from "@choiceform/core-ai-shared-schema"
    // ^? -> 此为 Application 的完整类型定义

    如果需要单独使用某些 Schema 也照此处理即可,所有的 Schema 都是 zod v4 编写的。

    SDK 在线文档:https://core-ai.choiceform.io/public/index.html

    API 在线文档:https://core-ai.choiceform.io/openapi 注:SDK 已包含所有可用的 API 接口封装,一般不需要参考 API 文档。API 文档主要供调试问题或者无法使用 SDK 的场景使用。