# @arizeai/ax-client 中文文档

规范地址：https://npmcn.com/package/%40arizeai/ax-client/

版本：1\.31\.1
npm 元数据更新时间：2026-10-14T12:41:31.676Z
中文译文更新时间：2026-11-06T19:27:13.545Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40arizeai/ax-client
原文对照：https://npmcn.com/package/%40arizeai/ax-client/?lang=original
项目主页：https://github.com/Arize-ai/client_js
源码仓库：https://github.com/Arize-ai/client_js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：4.7 MB，1740 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2025-12-03T20:58:22.964Z
- 最新版本发布：2026-10-14T12:41:31.401Z
- 近 30 天下载量：9087（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：50（近 12 个月 50 个）

## 中文简介

Arize API 的打字客户端

## 安装

```sh
npm install @arizeai/ax-client
```

也可以使用：`pnpm add @arizeai/ax-client`、`yarn add @arizeai/ax-client`、`bun add @arizeai/ax-client`

## README

[![](https://storage.googleapis.com/arize-assets/arize-logo-white.jpg)](https://arize.com/ax)  
 [![](https://img.shields.io/npm/v/@arizeai/ax-client?color=blue)](https://www.npmjs.com/package/@arizeai/ax-client)[![](https://img.shields.io/node/v/@arizeai/ax-client) ](https://www.npmjs.com/package/@arizeai/ax-client)[![](https://img.shields.io/badge/slack-@arize-blue.svg?logo=slack)](https://arize-ai.slack.com/join/shared_invite/zt-2w57bhem8-hq24MB6u7yE_ZF_ilOYSBw#/shared-invite/email)

* * *

# 概览

`@arizeai/ax-client` 是Arize AX REST API 的 TypeScript 客户端。 它仍在积极发展之中,并可能发生变化.

Arize是一个AI工程平台. 它帮助工程师开发,评价和观察AI应用和代理.

阿里兹有企业和开放源码软件产品支持这一目标:

-   [调整 AX](https://arize.com/) ——企业AI工程平台从开发到生产,并有嵌入式AI Copilot
-   [凤凰](https://github.com/Arize-ai/phoenix) 轻量级开放源码项目,用于追踪、迅速工程和评估
-   [打开推论](https://github.com/Arize-ai/openinference) ——开源仪器包,以追踪跨模型和框架的LLM应用

# 关键特性

-   [**_追踪_**](https://arize.com/docs/ax/instrument/what-are-traces) - 追踪你的LLM应用的运行时间 使用基于OpenTelemetry的仪器.
-   [**_评价_**](https://arize.com/docs/ax/get-started/get-started-evaluations) - 利用 LLMs 来使用响应和检索 evals 来衡量您的应用程序的性能.
-   [**_数据集_**](https://arize.com/docs/ax/improve/build-a-dataset) - 建立用于实验、评价和微调的例子的版本数据集.
-   [**_实验_**](https://arize.com/docs/ax/improve/set-up-an-experiment) - 跟踪和评估对提示、LLMs和检索的更改.
-   [**_游戏场_**](https://arize.com/docs/ax/concepts/prompts/prompt-playground)\- 优化提示,比较模型,调整参数,并重放追踪的LLM呼叫.
-   [**_快速管理_**](https://arize.com/docs/ax/concepts/prompts/prompt-hub)\- 使用版本控制、标记和实验系统管理和测试快速变化.

# 目录

-   [概览](https://npmcn.com/package/%40arizeai/ax-client/#readme-overview)
-   [关键特性](https://npmcn.com/package/%40arizeai/ax-client/#readme-key-features)
-   [安装](https://npmcn.com/package/%40arizeai/ax-client/#readme-installation)
-   [配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-configuration)
-   [数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-datasets)
    -   [列出数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-datasets)
    -   [创建数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-dataset)
    -   [获取数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-dataset)
    -   [更新数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-dataset)
    -   [删除数据集](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-dataset)
    -   [列出数据集实例](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-dataset-examples)
    -   [补充数据集示例](https://npmcn.com/package/%40arizeai/ax-client/#readme-appending-dataset-examples)
    -   [更新数据集实例](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-dataset-examples)
    -   [注释数据集示例](https://npmcn.com/package/%40arizeai/ax-client/#readme-annotating-dataset-examples)
    -   [删除数据集示例](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-dataset-examples)
-   [实验](https://npmcn.com/package/%40arizeai/ax-client/#readme-experiments)
    -   [列出试验](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-experiments)
    -   [创建实验](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-experiment)
    -   [进行实验](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-experiment)
    -   [删除实验](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-experiment)
    -   [列表实验运行](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-experiment-runs)
    -   [辅助实验运行](https://npmcn.com/package/%40arizeai/ax-client/#readme-appending-experiment-runs)
    -   [注释实验运行](https://npmcn.com/package/%40arizeai/ax-client/#readme-annotating-experiment-runs)
-   [提示](https://npmcn.com/package/%40arizeai/ax-client/#readme-prompts)
    -   [创建提示](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-prompt)
    -   [获得及时](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-prompt)
    -   [列出提示](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-prompts)
    -   [更新提示](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-prompt)
    -   [删除提示](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-prompt)
    -   [提示版本](https://npmcn.com/package/%40arizeai/ax-client/#readme-prompt-versions)
    -   [提示标签](https://npmcn.com/package/%40arizeai/ax-client/#readme-prompt-labels)
-   [评价员](https://npmcn.com/package/%40arizeai/ax-client/#readme-evaluators)
    -   [列入评价人员名单](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-evaluators)
    -   [创建模板评估器](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-template-evaluator)
    -   [创建代码评估器](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-code-evaluator)
    -   [创建远程评价器](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-remote-evaluator)
    -   [聘用评估人员](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-evaluator)
    -   [更新评价员](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-an-evaluator)
    -   [删除评价员](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-evaluator)
    -   [评价员版本](https://npmcn.com/package/%40arizeai/ax-client/#readme-evaluator-versions)
    -   [删除评估器版本](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-evaluator-versions)
-   [任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-tasks)
    -   [列出任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-tasks)
    -   [创建评价任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-evaluation-task)
    -   [创建运行实验任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-run-experiment-task)
    -   [获得任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-task)
    -   [更新和删除任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-and-deleting-a-task)
    -   [触发和监测任务](https://npmcn.com/package/%40arizeai/ax-client/#readme-triggering-and-monitoring-task-runs)
-   [西班牙语](https://npmcn.com/package/%40arizeai/ax-client/#readme-spans)
    -   [列表跨度](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-spans)
        -   [列投影](https://npmcn.com/package/%40arizeai/ax-client/#readme-column-projection)
    -   [注释横跨](https://npmcn.com/package/%40arizeai/ax-client/#readme-annotating-spans)
    -   [删除跨度](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-spans)
-   [追踪](https://npmcn.com/package/%40arizeai/ax-client/#readme-traces)
    -   [列出痕迹](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-traces)
-   [注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-annotation-configs)
    -   [列出注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-annotation-configs)
    -   [创建注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-annotation-config)
    -   [获取注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-annotation-config)
    -   [更新注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-an-annotation-config)
    -   [删除注释配置](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-annotation-config)
-   [注释队列](https://npmcn.com/package/%40arizeai/ax-client/#readme-annotation-queues)
    -   [列出注释队列](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-annotation-queues)
    -   [创建注释队列](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-annotation-queue)
    -   [获取、更新和删除队列](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-updating-and-deleting-a-queue)
    -   [管理队列记录](https://npmcn.com/package/%40arizeai/ax-client/#readme-managing-queue-records)
-   [AI 一体化](https://npmcn.com/package/%40arizeai/ax-client/#readme-ai-integrations)
    -   [列出AI集成](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-ai-integrations)
    -   [建立AI一体化](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-ai-integration)
    -   [获得AI整合](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-ai-integration)
    -   [更新AI集成](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-an-ai-integration)
    -   [删除AI集成](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-ai-integration)
-   [一体化](https://npmcn.com/package/%40arizeai/ax-client/#readme-integrations)
    -   [列出合并情况](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-integrations)
    -   [建立一体化](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-integration)
    -   [实现一体化](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-integration)
    -   [更新整合](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-an-integration)
    -   [删除整合](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-integration)
-   [项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-projects)
    -   [创建项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-project)
    -   [获取项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-project)
    -   [列出项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-projects)
    -   [更新项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-project)
    -   [删除项目](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-project)
-   [API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-api-keys)
    -   [创建 API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-api-key)
    -   [列出 API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-api-keys)
    -   [撤销 API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-revoking-an-api-key)
    -   [刷新 API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-refreshing-an-api-key)
-   [作用](https://npmcn.com/package/%40arizeai/ax-client/#readme-roles)
    -   [创造作用](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-role)
    -   [列出角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-roles)
    -   [获得角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-role)
    -   [更新角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-role)
    -   [删除一个角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-role)
-   [作用约束](https://npmcn.com/package/%40arizeai/ax-client/#readme-role-bindings)
    -   [创建具有约束力的角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-role-binding)
    -   [列出角色约束](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-role-bindings)
    -   [获得角色约束](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-role-binding)
    -   [更新角色约束](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-role-binding)
    -   [删除装订的角色](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-role-binding)
-   [资源限制](https://npmcn.com/package/%40arizeai/ax-client/#readme-resource-restrictions)
-   [组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-organizations)
    -   [列名组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-organizations)
    -   [建立组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-an-organization)
    -   [建立组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-organization)
    -   [更新一个组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-an-organization)
    -   [删除一个组织](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-an-organization)
-   [组织成员](https://npmcn.com/package/%40arizeai/ax-client/#readme-organization-memberships)
    -   [向一个组织添加用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-adding-a-user-to-an-organization)
    -   [从一个组织中删除一个用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-removing-a-user-from-an-organization)
-   [用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-users)
    -   [列出用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-users)
    -   [获取用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-user)
    -   [创建用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-user)
    -   [更新用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-user)
    -   [删除用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-user)
    -   [重新发送用户邀请](https://npmcn.com/package/%40arizeai/ax-client/#readme-resending-a-user-invitation)
    -   [重置用户密码](https://npmcn.com/package/%40arizeai/ax-client/#readme-resetting-a-users-password)
    -   [批量删除用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-bulk-deleting-users)
-   [空间](https://npmcn.com/package/%40arizeai/ax-client/#readme-spaces)
    -   [列出空格](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-spaces)
    -   [获得空间](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-a-space)
    -   [创建空格](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-space)
    -   [更新空格](https://npmcn.com/package/%40arizeai/ax-client/#readme-updating-a-space)
    -   [删除空格](https://npmcn.com/package/%40arizeai/ax-client/#readme-deleting-a-space)
-   [空间成员](https://npmcn.com/package/%40arizeai/ax-client/#readme-space-memberships)
    -   [将用户添加到空格](https://npmcn.com/package/%40arizeai/ax-client/#readme-adding-a-user-to-a-space)
    -   [从空格中删除用户](https://npmcn.com/package/%40arizeai/ax-client/#readme-removing-a-user-from-a-space)
-   [网络呼号](https://npmcn.com/package/%40arizeai/ax-client/#readme-webhooks)
    -   [列出网点](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-webhooks)
    -   [创建网点](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-a-webhook)
    -   [获取、更新、测试和删除一个 Webhook](https://npmcn.com/package/%40arizeai/ax-client/#readme-getting-updating-testing-and-deleting-a-webhook)
    -   [列出交货尝试](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-delivery-attempts)
-   [Webhook 订阅](https://npmcn.com/package/%40arizeai/ax-client/#readme-webhook-subscriptions)
    -   [订阅一个事件的 Webhook](https://npmcn.com/package/%40arizeai/ax-client/#readme-subscribing-a-webhook-to-an-event)
    -   [列出、获取和删除订阅](https://npmcn.com/package/%40arizeai/ax-client/#readme-listing-getting-and-deleting-subscriptions)
-   [REST 终点](https://npmcn.com/package/%40arizeai/ax-client/#readme-rest-endpoints)

# 安装

```bash
# or yarn, pnpm, bun, etc.
npm install @arizeai/ax-client
```

# 配置

如果有的话,客户端会自动读取环境变量.

使用了下列环境变量:

-   `ARIZE_API_KEY` - 用于认证的 API 密钥 .
-   `ARIZE_BASE_URL` - 阿里泽AX API的基础URL.

或者,你可以直接将配置选项传递给客户端, 并且它们将优先于环境变量和默认值.

# 数据集

这个 `@arizeai/ax-client` 软件包允许您创建和管理数据集及其示例.

## 列出数据集

```typescript
import { listDatasets } from "@arizeai/ax-client";

const datasets = await listDatasets({ space: "my-space" });
console.log(datasets);
```

## 创建数据集

通过提供一个空格(名称或ID),名称,和示例阵列(每个都包含至少一个属性)来创建数据集.

```typescript
import { createDataset } from "@arizeai/ax-client";

const dataset = await createDataset({
  name: "my-dataset",
  space: "my-space",
  examples: [{ question: "What is 2+2?", answer: "4", topic: "math" }],
});
```

## 获取数据集

```typescript
import { getDataset } from "@arizeai/ax-client";

const dataset = await getDataset({ dataset: "my-dataset", space: "my-space" });
console.log(dataset);
```

## 更新数据集

```typescript
import { updateDataset } from "@arizeai/ax-client";

const dataset = await updateDataset({
  dataset: "my-dataset",
  space: "my-space",
  name: "my-renamed-dataset",
});
```

## 删除数据集

```typescript
import { deleteDataset } from "@arizeai/ax-client";

await deleteDataset({ dataset: "my-dataset", space: "my-space" });
```

## 列出数据集实例

列出数据集的实例. `filter` 是可选 SQL 类表达式 用于更复杂的查询.

```typescript
import { listDatasetExamples } from "@arizeai/ax-client";

const examples = await listDatasetExamples({
  dataset: "my-dataset",
  space: "my-space",
});
console.log(examples);

const filtered = await listDatasetExamples({
  dataset: "my-dataset",
  space: "my-space",
  filter: "question = 'What is 2+2?'",
});
console.log(filtered);
```

## 补充数据集示例

```typescript
import { appendExamples } from "@arizeai/ax-client";

const result = await appendExamples({
  dataset: "my-dataset",
  space: "my-space",
  examples: [{ question: "What is 2+2?", answer: "4", topic: "math" }],
});
console.log(result.exampleIds); // IDs of the inserted examples
```

## 更新数据集实例

更新示例创建了数据集的新版本.

```typescript
import { updateExamples } from "@arizeai/ax-client";

const dataset = await updateExamples({
  dataset: "my-dataset",
  space: "my-space",
  examples: [{ id: "your_example_id", question: "What is 2+2?", answer: "4" }],
  newVersionName: "your_new_version_name",
});
```

## 注释数据集示例

```typescript
import { annotateDatasetExamples } from "@arizeai/ax-client";

await annotateDatasetExamples({
  space: "my-space",
  dataset: "my-dataset",
  annotations: [
    {
      recordId: "example_id_abc123",
      values: [
        { name: "quality", score: 0.9 },
        { name: "topic", label: "science" },
      ],
    },
  ],
});
```

## 删除数据集示例

实例从给定版本中删除;没有创建出新版本. 删除是部分容忍的,是一意孤行的——结果报告删除了身份证,但没有.

```typescript
import { deleteDatasetExamples } from "@arizeai/ax-client";

const result = await deleteDatasetExamples({
  dataset: "my-dataset",
  space: "my-space",
  datasetVersionId: "your_dataset_version_id",
  examples: ["example_id_1", "example_id_2"],
});
console.log(
  result.completed,
  result.deletedExampleIds,
  result.notDeletedExampleIds,
);
```

# 实验

这个 `@arizeai/ax-client` 软件包允许您创建和管理实验及其运行.

## 列出试验

```typescript
import { listExperiments } from "@arizeai/ax-client";

const experiments = await listExperiments({
  dataset: "my-dataset",
  space: "my-space",
});
console.log(experiments);
```

## 创建实验

```typescript
import { createExperiment } from "@arizeai/ax-client";

const experiment = await createExperiment({
  experimentName: "my-experiment",
  dataset: "my-dataset",
  space: "my-space",
  experimentRuns: [],
});
console.log(experiment);
```

## 进行实验

```typescript
import { getExperiment } from "@arizeai/ax-client";

// Using names
const experiment = await getExperiment({
  experiment: "my-experiment",
  dataset: "my-dataset",
  space: "my-space",
});

// Using an ID directly
const byId = await getExperiment({ experiment: "your_experiment_id" });
```

## 删除实验

```typescript
import { deleteExperiment } from "@arizeai/ax-client";

await deleteExperiment({
  experiment: "my-experiment",
  dataset: "my-dataset",
  space: "my-space",
});
```

## 列表实验运行

通过提供实验名称或ID(在使用名称时需要空间和数据集上下文)进行列表运行的实验,可选择由类似 SQL 的缩入 `filter` 超编栏、评价`eval.<name>.score`)和说明(a/cn.9/wg.iii/wp.30)`annotation.<name>.*`) (中文(简体) ). 运行以稳定的ID升序返回——通过 `pagination.nextCursor` 恢复为 `cursor` 以获取下页,在呼求时保持过滤器不变.

```typescript
import { listExperimentRuns } from "@arizeai/ax-client";

const experimentRuns = await listExperimentRuns({
  experiment: "my-experiment",
  dataset: "my-dataset",
  space: "my-space",
});

const filtered = await listExperimentRuns({
  experiment: "my-experiment",
  dataset: "my-dataset",
  space: "my-space",
  filter: "eval.quality.score < 0.5",
  limit: 50,
});
console.log(filtered.data);
```

## 辅助实验运行

将1到1000个新运行的线路附加到现有的实验中. 每次运行必须包括 `exampleId` (实验数据集示例的标识)和 `output`。响应包括更新的实验和以输入顺序生成的运行的ID.

```typescript
import { appendExperimentRuns } from "@arizeai/ax-client";

const result = await appendExperimentRuns({
  space: "my-space",
  dataset: "my-dataset",
  experiment: "my-experiment",
  experimentRuns: [{ exampleId: "ex_abc123", output: "The answer is 42" }],
});
console.log(result.runIds); // IDs of the appended runs
```

## 注释实验运行

```typescript
import { annotateExperimentRuns } from "@arizeai/ax-client";

await annotateExperimentRuns({
  space: "my-space",
  dataset: "my-dataset",
  experiment: "my-experiment",
  annotations: [
    {
      recordId: "run_id_abc123",
      values: [
        { name: "accuracy", label: "correct", score: 1.0 },
        { name: "notes", text: "Well-structured output" },
      ],
    },
  ],
});
```

# 提示

这个 `@arizeai/ax-client` 软件包允许您创建和管理提示、其版本和标签.

## 创建提示

一个提示与其初始版本一起创建.

```typescript
import { createPrompt } from "@arizeai/ax-client";

const prompt = await createPrompt({
  space: "my-space",
  name: "customer-support",
  description: "A prompt for customer support interactions",
  version: {
    commitMessage: "Initial version",
    inputVariableFormat: "F_STRING",
    provider: "OPEN_AI",
    model: "gpt-4",
    messages: [
      { role: "SYSTEM", content: "You are a helpful assistant." },
      { role: "USER", content: "Hello, {name}!" },
    ],
  },
});
```

## 获得及时

默认情况下返回最新版本 。 过 `versionId` 或者说 `label` 用于解决特定版本.

```typescript
import { getPrompt } from "@arizeai/ax-client";

// Latest version
const prompt = await getPrompt({
  prompt: "customer-support",
  space: "my-space",
});

// Version tagged with the "production" label
const productionPrompt = await getPrompt({
  prompt: "customer-support",
  space: "my-space",
  label: "production",
});
```

## 列出提示

```typescript
import { listPrompts } from "@arizeai/ax-client";

const { data, pagination } = await listPrompts({ space: "my-space" });
console.log(data.map((p) => p.name));
```

## 更新提示

```typescript
import { updatePrompt } from "@arizeai/ax-client";

const updated = await updatePrompt({
  prompt: "customer-support",
  space: "my-space",
  description: "Updated description for the prompt",
});
```

## 删除提示

```typescript
import { deletePrompt } from "@arizeai/ax-client";

await deletePrompt({ prompt: "customer-support", space: "my-space" });
```

## 提示版本

您可以列出一个快件的所有版本,通过它的ID检索一个特定版本,并创建新版本.

```typescript
import {
  listPromptVersions,
  getPromptVersion,
  createPromptVersion,
} from "@arizeai/ax-client";

// List versions
const { data: versions } = await listPromptVersions({
  prompt: "customer-support",
  space: "my-space",
});

// Get a specific version by its ID (pure ID, no name resolution)
const version = await getPromptVersion({ versionId: "your-version-id" });

// Create a new version
const newVersion = await createPromptVersion({
  prompt: "customer-support",
  space: "my-space",
  commitMessage: "Updated system prompt",
  inputVariableFormat: "F_STRING",
  provider: "OPEN_AI",
  model: "gpt-4",
  messages: [
    { role: "SYSTEM", content: "You are a helpful assistant." },
    { role: "USER", content: "Hello, {name}!" },
  ],
});
```

## 提示标签

标签允许您标记一个带有所命名的别名的特定即时版本(例如. `"production"`, (中文(简体) ), `"staging"`) (中文(简体) ).

```typescript
import {
  getPromptVersionByLabel,
  setPromptVersionLabels,
  deletePromptVersionLabel,
} from "@arizeai/ax-client";

// Resolve the version a label currently points to
const version = await getPromptVersionByLabel({
  prompt: "customer-support",
  space: "my-space",
  labelName: "production",
});

// Set labels on a version (replaces all existing labels)
const { labels } = await setPromptVersionLabels({
  versionId: "your-version-id",
  labels: ["production", "staging"],
});

// Remove a single label from a version
await deletePromptVersionLabel({
  versionId: "your-version-id",
  labelName: "staging",
});
```

# 评价员

这个 `@arizeai/ax-client` 软件包允许您创建和管理 LLM-as-a-judge(模板),代码,远程评估者及其版本.

## 列入评价人员名单

```typescript
import { listEvaluators } from "@arizeai/ax-client";

const evaluators = await listEvaluators({ space: "my-space" });
console.log(evaluators);
```

## 创建模板评估器

```typescript
import { createTemplateEvaluator } from "@arizeai/ax-client";

const evaluator = await createTemplateEvaluator({
  name: "Relevance",
  space: "my-space",
  commitMessage: "Initial version",
  templateConfig: {
    name: "Relevance",
    template:
      "Is the response relevant?\nQuery: {{query}}\nResponse: {{response}}",
    includeExplanations: true,
    useFunctionCalling: true,
    classificationChoices: { relevant: 1, irrelevant: 0 },
    direction: "MAXIMIZE",
    llmConfig: {
      aiIntegrationId: "QUlJbnRlZ3JhdGlvbjphYmMxMjM=",
      modelName: "gpt-4o",
      invocationParameters: { temperature: 0 },
      providerParameters: {},
    },
  },
});
```

## 创建代码评估器

```typescript
import { createCodeEvaluator } from "@arizeai/ax-client";

const evaluator = await createCodeEvaluator({
  name: "JSON Parseable",
  space: "my-space",
  commitMessage: "Initial version",
  codeConfig: {
    type: "MANAGED",
    name: "json_parseable",
    managedEvaluator: "JSON_PARSEABLE",
    variables: ["output"],
  },
});
```

## 创建远程评价器

一名远程评价员通过EVALUATOR集成调用客户托管的HTTP端点. 要求 `enableRemoteEvalTasks` 账户上的特征标记.

```typescript
import { createRemoteEvaluator } from "@arizeai/ax-client";

const evaluator = await createRemoteEvaluator({
  name: "My Remote Eval",
  space: "my-space",
  commitMessage: "Initial version",
  integrationId: "<evaluator-integration-id>",
});
```

## 聘用评估人员

```typescript
import { getEvaluator } from "@arizeai/ax-client";

const evaluator = await getEvaluator({
  evaluator: "Relevance",
  space: "my-space",
});
console.log(evaluator);
```

## 更新评价员

```typescript
import { updateEvaluator } from "@arizeai/ax-client";

const evaluator = await updateEvaluator({
  evaluator: "Relevance",
  space: "my-space",
  name: "Updated Evaluator Name",
});
```

## 删除评价员

```typescript
import { deleteEvaluator } from "@arizeai/ax-client";

await deleteEvaluator({ evaluator: "Relevance", space: "my-space" });
```

## 评价员版本

您可以列出一个评估者的所有版本,通过它的ID检索一个特定版本,并创建新版本.

```typescript
import {
  listEvaluatorVersions,
  getEvaluatorVersion,
  createTemplateEvaluatorVersion,
} from "@arizeai/ax-client";

// List versions
const versions = await listEvaluatorVersions({
  evaluator: "Relevance",
  space: "my-space",
});

// Get a specific version by its ID
const version = await getEvaluatorVersion({ versionId: "your-version-id" });

// Create a new template version (use createCodeEvaluatorVersion for code evaluators,
// or createRemoteEvaluatorVersion for remote evaluators)
const newVersion = await createTemplateEvaluatorVersion({
  evaluator: "Relevance",
  space: "my-space",
  commitMessage: "Updated prompt template",
  templateConfig: {
    name: "Relevance",
    template: "Rate the relevance.\nQuery: {{query}}\nResponse: {{response}}",
    includeExplanations: true,
    useFunctionCalling: true,
    classificationChoices: { relevant: 1, irrelevant: 0 },
    direction: "MAXIMIZE",
    llmConfig: {
      aiIntegrationId: "QUlJbnRlZ3JhdGlvbjphYmMxMjM=",
      modelName: "gpt-4o",
      invocationParameters: { temperature: 0 },
      providerParameters: {},
    },
  },
});

// Create a new remote version (switches to a different EVALUATOR integration)
import { createRemoteEvaluatorVersion } from "@arizeai/ax-client";

const remoteVersion = await createRemoteEvaluatorVersion({
  evaluator: "My Remote Eval",
  space: "my-space",
  commitMessage: "Switch endpoint",
  integrationId: "<evaluator-integration-id>",
});
```

## 删除评估器版本

```typescript
import { deleteEvaluatorVersions } from "@arizeai/ax-client";

await deleteEvaluatorVersions({
  evaluator: "Relevance",
  space: "my-space",
  versionIds: ["your_version_id_1", "your_version_id_2"],
});
```

# 任务

这个 `@arizeai/ax-client` 软件包允许您创建和管理预定任务或点播任务(服务器侧评价和实验)并监视其运行.

> **提示 :** 偏爱狭义的型号 `createEvaluationTask` 财务报告和审定财务报表 `createRunExperimentTask` 以下为助手。 低级 `createTask` 如果需要直接构造请求的有效载荷,也输出.

## 列出任务

```typescript
import { listTasks } from "@arizeai/ax-client";

const tasks = await listTasks({ space: "my-space", name: "prod" });
console.log(tasks);
```

## 创建评价任务

每个评估员要么是一个跨形状的条目(与 `columnMappings` 编号 : `queryFilter`或一个 微量/会话形状条目(与 `queryMappings`) (中文(简体) ). 每个评价者提供一种形状 双方通过 `SpanEvaluatorInput | TraceOrSessionEvaluatorInput` 工会.

**宽角任务 :**

```typescript
import { createEvaluationTask } from "@arizeai/ax-client";

const task = await createEvaluationTask({
  name: "Weekly Quality Check",
  type: "TEMPLATE_EVALUATION",
  space: "my-space",
  project: "my-project",
  queryFilter: "span_kind = 'LLM'",
  evaluators: [
    {
      evaluatorId: "your_evaluator_id",
      columnMappings: {
        input: "attributes.input.value",
        output: "attributes.output.value",
      },
    },
  ],
});
```

**追踪/ 会话- 宽度任务( 多宽度查询) :**

```typescript
const task = await createEvaluationTask({
  name: "Trace Quality Check",
  type: "TEMPLATE_EVALUATION",
  space: "my-space",
  project: "my-project",
  queryFilters: {
    filters: [
      { id: "A", filter: "span_kind = 'LLM'" },
      { id: "B", filter: "span_kind = 'RETRIEVER'" },
    ],
    expression: "A AND B",
  },
  evaluators: [
    {
      evaluatorId: "your_evaluator_id",
      queryMappings: [
        {
          variableName: "input",
          queryIds: ["A"],
          attributePath: "attributes.input.value",
        },
        {
          variableName: "output",
          queryIds: ["B"],
          attributePath: "attributes.output.value",
        },
      ],
    },
  ],
});
```

## 创建运行实验任务

```typescript
import { createRunExperimentTask } from "@arizeai/ax-client";

const task = await createRunExperimentTask({
  name: "GPT-4o Baseline Task",
  dataset: "my-dataset",
  space: "my-space",
  runConfiguration: {
    experiment_type: "LLM_GENERATION",
    aiIntegration: "my-openai-integration",
    model_name: "gpt-4o",
    input_variable_format: "F_STRING",
    messages: [
      { role: "SYSTEM", content: "You are a helpful assistant." },
      { role: "USER", content: "Answer: {question}" },
    ],
  },
});
```

## 获得任务

```typescript
import { getTask } from "@arizeai/ax-client";

// By ID
const task = await getTask({ task: "your_task_id" });

// By name (requires space)
const byName = await getTask({ task: "My Task", space: "my-space" });
```

## 更新和删除任务

```typescript
import { updateTask, deleteTask } from "@arizeai/ax-client";

// Basic update — rename and adjust sampling rate
await updateTask({
  task: "your_task_id",
  name: "Renamed Task",
  samplingRate: 0.5,
});

// Switch to trace/session shape (multi-span query)
await updateTask({
  task: "your_task_id",
  queryFilters: {
    filters: [{ id: "A", filter: "span_kind = 'LLM'" }],
    expression: "A",
  },
  evaluators: [
    {
      evaluatorId: "your_evaluator_id",
      queryMappings: [
        {
          variableName: "input",
          queryIds: ["A"],
          attributePath: "attributes.input.value",
        },
      ],
    },
  ],
});

await deleteTask({ task: "your_task_id" });
```

## 触发和监测任务

```typescript
import {
  triggerTaskRun,
  waitForTaskRun,
  listTaskRuns,
  getTaskRun,
  cancelTaskRun,
} from "@arizeai/ax-client";

// Trigger a run, then poll until it finishes
const run = await triggerTaskRun({ task: "My Task", space: "my-space" });
const finalRun = await waitForTaskRun({
  runId: run.id,
  pollInterval: 3_000, // poll every 3 seconds
  timeout: 5 * 60_000, // give up after 5 minutes
});
console.log(finalRun.status); // "COMPLETED" | "FAILED" | "CANCELLED"

// List, inspect, or cancel runs
const { data: runs } = await listTaskRuns({
  task: "My Task",
  space: "my-space",
});
const single = await getTaskRun({ runId: run.id });
await cancelTaskRun({ runId: run.id });
```

# 西班牙语

这个 `@arizeai/ax-client` 软件包允许您在工程中列出、注释并删除跨度.

## 列表跨度

```typescript
import { listSpans } from "@arizeai/ax-client";

// By project ID
const spans = await listSpans({ project: "your_project_id" });

// By project name (requires space)
const byName = await listSpans({ project: "My Project", space: "my-space" });
```

### 列投影

设定 `includedColumns` 仅返回选定的列。 设定 `excludedColumns` 以省去选定的列,例如大型嵌入向量。 不设置两者. 固定的间距字段总是返回。 设定 `truncateStringLength` 缩短 每个跨度内的长字符串值 `attributes` 对象。 字符串更长 而不是限制被剪接并结束 `…`这点很重要 宽度 身份证、姓名、状况、时间戳、说明、评价和事件不是 被截断了.

```typescript
const spans = await listSpans({
  project: "your_project_id",
  excludedColumns: ["attributes.embedding.vectors"],
  truncateStringLength: 200,
});
```

## 注释横跨

`granularity` 选择每个 `recordId` 表示: 跨度 (`SPAN`,则 默认值),一个痕量的根跨度(`TRACE`),或某会(`SESSION`,写给 (b) 届会最早追踪的根段。 最多可达1000个记录 按请求说明 `SPAN`编号 :`TRACE`; 最多100个 `SESSION`。 。 。 .

```typescript
import { annotateSpans } from "@arizeai/ax-client";

await annotateSpans({
  space: "my-space",
  project: "my-project",
  annotations: [
    {
      recordId: "c3Bhbl9pZF9hYmMxMjM=", // base64-encoded span ID
      values: [
        { name: "quality", score: 0.9 },
        { name: "topic", label: "science" },
      ],
    },
  ],
});
```

`startTime`编号 :`endTime` 绑定搜索窗口, 并且都是可选的: 当 删去, `endTime` 默认为现在和 `startTime` 默认时间为31天前 (7天用于 `SESSION`) (中文(简体) ). 如果记录比默认窗口长, 通过 `startTime` 明确或不会找到记录.

```typescript
// Session-granularity example
await annotateSpans({
  space: "my-space",
  project: "my-project",
  granularity: "SESSION",
  startTime: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
  endTime: new Date(),
  annotations: [
    {
      recordId: "20144", // session ID
      values: [{ name: "quality", label: "good" }],
    },
  ],
});
```

## 删除跨度

```typescript
import { deleteSpans } from "@arizeai/ax-client";

// By project name (requires space)
await deleteSpans({
  project: "My Project",
  space: "my-space",
  spanIds: ["a1b2c3d4e5f6a7b8", "f8e7d6c5b4a39281"],
});
```

# 追踪

这个 `@arizeai/ax-client` 软件包允许您在工程中列出痕迹。 每个跟踪都包含其完整的(平面)跨度列表加上轻量级滚动元数据;利用每个跨度重建跟踪树客户端 `parentId`。 。 。 .

## 列出痕迹

```typescript
import { listTraces } from "@arizeai/ax-client";

// By project ID
const { data: traces, pagination } = await listTraces({
  project: "your_project_id",
});

// By project name (requires space), with a filter and time range
const filtered = await listTraces({
  project: "My Project",
  space: "my-space",
  filter: "status_code = 'ERROR'",
  startTime: new Date("2024-01-01T00:00:00Z"),
  endTime: new Date("2024-01-02T00:00:00Z"),
  limit: 50,
});

// Page through results using the opaque cursor
const next = await listTraces({
  project: "your_project_id",
  cursor: pagination.nextCursor,
});
```

这个 `filter` 使用与 SQL 相似的语法 `listSpans`但语义是 痕量相匹配: 当 **任意** 周期与 过滤器(匹配跨度通常是一个孩子,而不是根).

每个响应页也有总的跨度限制,所以追踪的跨度列表可以 即使在 `spansTruncated` 实值 `false`。缩小时间窗口或 调用 `listSpans` 带有 `trace_id` 过滤器可以直接取回追踪的跨度 .

# 注释配置

这个 `@arizeai/ax-client` 软件包允许您创建和管理注释配置,它定义了可用于跨度和示例的说明.

## 列出注释配置

```typescript
import { listAnnotationConfigs } from "@arizeai/ax-client";

const annotationConfigs = await listAnnotationConfigs({ space: "my-space" });
console.log(annotationConfigs);
```

## 创建注释配置

```typescript
import { createAnnotationConfig } from "@arizeai/ax-client";

const annotationConfig = await createAnnotationConfig({
  name: "Accuracy",
  space: "my-space",
  type: "CATEGORICAL",
  values: [
    { label: "accurate", score: 1 },
    { label: "inaccurate", score: 0 },
  ],
  optimizationDirection: "MAXIMIZE",
});
```

## 获取注释配置

```typescript
import { getAnnotationConfig } from "@arizeai/ax-client";

const annotationConfig = await getAnnotationConfig({
  annotationConfig: "Accuracy",
  space: "my-space",
});
```

## 更新注释配置

每个注释配置类型都有专门的更新功能. 每一个 必须使用存储的配置类型调用 无法改变。 您省略的任何字段都保持不变.

```typescript
import { updateCategoricalAnnotationConfig } from "@arizeai/ax-client";

const annotationConfig = await updateCategoricalAnnotationConfig({
  annotationConfig: "Accuracy",
  space: "my-space",
  name: "Accuracy v2",
  values: [
    { label: "accurate", score: 1 },
    { label: "inaccurate", score: 0 },
  ],
  optimizationDirection: "MAXIMIZE",
});
```

```typescript
import { updateContinuousAnnotationConfig } from "@arizeai/ax-client";

const annotationConfig = await updateContinuousAnnotationConfig({
  annotationConfig: "Accuracy",
  space: "my-space",
  name: "Accuracy v2",
  minimumScore: 0,
  maximumScore: 10,
  optimizationDirection: "MAXIMIZE",
});
```

```typescript
import { updateFreeformAnnotationConfig } from "@arizeai/ax-client";

const annotationConfig = await updateFreeformAnnotationConfig({
  annotationConfig: "Notes",
  space: "my-space",
  name: "Notes v2",
});
```

## 删除注释配置

```typescript
import { deleteAnnotationConfig } from "@arizeai/ax-client";

await deleteAnnotationConfig({
  annotationConfig: "Accuracy",
  space: "my-space",
});
```

# 注释队列

这个 `@arizeai/ax-client` 软件包允许您创建并管理注释队列,在其中添加记录,并对这些记录进行注释或指定.

## 列出注释队列

```typescript
import { listAnnotationQueues } from "@arizeai/ax-client";

const annotationQueues = await listAnnotationQueues({ space: "my-space" });
console.log(annotationQueues);
```

## 创建注释队列

```typescript
import { createAnnotationQueue } from "@arizeai/ax-client";

const queue = await createAnnotationQueue({
  name: "Quality Review Queue",
  spaceId: "your_space_id",
  annotationConfigIds: ["ac_abc123"],
  assignmentMethod: "ALL",
});
```

## 获取、更新和删除队列

```typescript
import {
  getAnnotationQueue,
  updateAnnotationQueue,
  deleteAnnotationQueue,
} from "@arizeai/ax-client";

const queue = await getAnnotationQueue({
  annotationQueue: "my_queue",
  space: "my-space",
});
await updateAnnotationQueue({
  annotationQueue: "my_queue",
  space: "my-space",
  name: "Updated Queue Name",
});
await deleteAnnotationQueue({ annotationQueue: "my_queue", space: "my-space" });
```

## 管理队列记录

```typescript
import {
  addAnnotationQueueRecords,
  listAnnotationQueueRecords,
  deleteAnnotationQueueRecords,
  annotateAnnotationQueueRecord,
  assignAnnotationQueueRecord,
} from "@arizeai/ax-client";

// Add records to the queue from span and session sources
await addAnnotationQueueRecords({
  annotationQueue: "my_queue",
  space: "my-space",
  recordSources: [
    {
      recordType: "SPAN",
      projectId: "proj_abc123",
      startTime: "2024-01-15T00:00:00Z",
      endTime: "2024-01-15T23:59:59Z",
      spanIds: ["span_abc123"],
    },
    {
      recordType: "SESSION",
      projectId: "proj_abc123",
      startTime: "2024-01-15T00:00:00Z",
      endTime: "2024-01-15T23:59:59Z",
      sessionIds: ["session_abc123"],
    },
  ],
});

// List records
const records = await listAnnotationQueueRecords({
  annotationQueue: "my_queue",
  space: "my-space",
});

// Assign a record to the current user
await assignAnnotationQueueRecord({
  annotationQueue: "my_queue",
  space: "my-space",
  annotationQueueRecordId: "aqr_abc123",
});

// Submit annotations for a record
await annotateAnnotationQueueRecord({
  annotationQueue: "my_queue",
  space: "my-space",
  annotationQueueRecordId: "aqr_abc123",
  annotations: [
    { name: "accuracy", label: "correct", score: 1.0 },
    { name: "quality", text: "Well-structured response" },
  ],
});

// Remove records
await deleteAnnotationQueueRecords({
  annotationQueue: "my_queue",
  space: "my-space",
  recordIds: ["aqr_abc123", "aqr_def456"],
});
```

# AI 一体化

这个 `@arizeai/ax-client` 软件包允许您创建和管理AI集成(评估人员使用的LLM提供者证书、任务和操场).

## 列出AI集成

```typescript
import { listAiIntegrations } from "@arizeai/ax-client";

const integrations = await listAiIntegrations({ space: "my-space" });
console.log(integrations);
```

## 建立AI一体化

```typescript
import { createAiIntegration } from "@arizeai/ax-client";

const integration = await createAiIntegration({
  name: "Production OpenAI",
  provider: "OPEN_AI",
  apiKey: "sk-...",
  modelNames: ["gpt-4o", "gpt-4o-mini"],
  enableDefaultModels: true,
});
```

## 获得AI整合

```typescript
import { getAiIntegration } from "@arizeai/ax-client";

// By ID
const integration = await getAiIntegration({
  integration: "your_integration_id",
});

// By name (requires space)
const byName = await getAiIntegration({
  integration: "Production OpenAI",
  space: "my-space",
});
```

## 更新AI集成

```typescript
import { updateAiIntegration } from "@arizeai/ax-client";

const integration = await updateAiIntegration({
  integration: "Production OpenAI",
  space: "my-space",
  name: "Updated OpenAI",
  modelNames: ["gpt-4o"],
});
```

## 删除AI集成

```typescript
import { deleteAiIntegration } from "@arizeai/ax-client";

await deleteAiIntegration({
  integration: "Production OpenAI",
  space: "my-space",
});
```

# 一体化

这个 `@arizeai/ax-client` 软件包允许您在多态上创建和管理集成 `/v2/integrations` 表面,涵盖LLM(模型提供者)和AGENT(客户托管的终点)集成。 整合名称是每个账户和类型独有的,所以 `type` 在解决某个名字时需要; ID总是靠自己。 这些功能在α中并发出一次性的释放前警告.

## 列出合并情况

`type` 是一个可选的过滤器。 让它在一次呼叫中列出各种类型的集成;每个项目都带有其 `type` 歧视者.

```typescript
import { listIntegrations } from "@arizeai/ax-client";

// Only agent integrations
const agents = await listIntegrations({ type: "AGENT", space: "my-space" });

// Every type, discriminated by `integration.type`
const all = await listIntegrations({});
```

## 建立一体化

这个 `type` 字段选择配置形状.

```typescript
import { createIntegration } from "@arizeai/ax-client";

// LLM integration
const llm = await createIntegration({
  type: "LLM",
  name: "Production OpenAI",
  config: { provider: "OPEN_AI", apiKey: "sk-..." },
});

// Agent integration
const agent = await createIntegration({
  type: "AGENT",
  name: "My Support Agent",
  config: {
    endpoint: "https://agent.example.com/replay",
    inputSchema: { type: "object", properties: { input: { type: "string" } } },
    requestPresets: [{ name: "default", config: { input: "hello" } }],
  },
});
```

`config.provider` 选择 LLM 配置形状。 秘密是只写着的,再也没有回来.

| 提供者 | 所需字段 | 可选字段 |
| --- | --- | --- |
| `OPEN_AI`, (中文(简体) ), `ANTHROPIC`, (中文(简体) ), `GEMINI` | `apiKey` | `isFunctionCallingEnabled` |
| `AWS_BEDROCK` | `auth` | `modelNames`, (中文(简体) ), `isDefaultModelsEnabled` |
| `VERTEX_AI` | `projectId`, (中文(简体) ), `location`, (中文(简体) ), `projectAccessLabel` |  |
| `CUSTOM` | `baseUrl` | `apiKey`, (中文(简体) ), `headers`, (中文(简体) ), `modelNames`, (中文(简体) ), `isDefaultModelsEnabled`, (中文(简体) ), `isFunctionCallingEnabled` |
| `NVIDIA_NIM` | 无 | `baseUrl`, (中文(简体) ), `apiKey`, (中文(简体) ), `headers`, (中文(简体) ), `modelNames`, (中文(简体) ), `isDefaultModelsEnabled`, (中文(简体) ), `isFunctionCallingEnabled` |
| `LITELLM` | `baseUrl`, (中文(简体) ), `apiKey` | `headers`, (中文(简体) ), `modelNames`, (中文(简体) ), `isFunctionCallingEnabled` |
| `FIREWORKS`, (中文(简体) ), `TOGETHER_AI` | `apiKey` | `modelNames`, (中文(简体) ), `isDefaultModelsEnabled`, (中文(简体) ), `isFunctionCallingEnabled` |

```typescript
// Self-hosted LiteLLM proxy: the endpoint and virtual key are both required.
const litellm = await createIntegration({
  type: "LLM",
  name: "Team LiteLLM",
  config: {
    provider: "LITELLM",
    baseUrl: "https://litellm.internal:4000",
    apiKey: "sk-...",
  },
});

// Hosted providers such as Fireworks AI and Together AI need only the API key.
// Arize resolves the models the key can reach; list `modelNames` for
// fine-tunes or dedicated deployments that cannot be discovered.
const together = await createIntegration({
  type: "LLM",
  name: "Together AI",
  config: { provider: "TOGETHER_AI", apiKey: "..." },
});
```

## 实现一体化

```typescript
import { getIntegration } from "@arizeai/ax-client";

// By ID
const integration = await getIntegration({
  integration: "your_integration_id",
});

// By name (requires type)
const byName = await getIntegration({
  integration: "Production OpenAI",
  type: "LLM",
});
```

## 更新整合

`type` 需要(它选择更新形状),并且是不可改变的服务器侧。 提供至少一个可更新字段; 省略字段被保存 .

```typescript
import { updateIntegration } from "@arizeai/ax-client";

const integration = await updateIntegration({
  integration: "Production OpenAI",
  type: "LLM",
  config: { provider: "OPEN_AI", apiKey: "sk-new-key" },
});
```

## 删除整合

```typescript
import { deleteIntegration } from "@arizeai/ax-client";

await deleteIntegration({
  integration: "My Support Agent",
  type: "AGENT",
});
```

# 项目

这个 `@arizeai/ax-client` 软件包允许您创建和管理项目.

## 创建项目

```typescript
import { createProject } from "@arizeai/ax-client";

const project = await createProject({
  space: "my-space",
  name: "my-project",
});
console.log(project);
```

## 获取项目

```typescript
import { getProject } from "@arizeai/ax-client";

const project = await getProject({
  project: "my-project",
  space: "my-space",
});
console.log(project);
```

## 列出项目

```typescript
import { listProjects } from "@arizeai/ax-client";

const { projects } = await listProjects({ space: "my-space" });
console.log(projects);
```

## 更新项目

```typescript
import { updateProject } from "@arizeai/ax-client";

const project = await updateProject({
  project: "my-project",
  space: "my-space",
  name: "my-renamed-project",
});
console.log(project);
```

## 删除项目

```typescript
import { deleteProject } from "@arizeai/ax-client";

await deleteProject({ project: "my-project", space: "my-space" });
```

# API 密钥

这个 `@arizeai/ax-client` 软件包允许您创建、列表、删除、撤销和刷新 API 密钥.

## 创建 API 密钥

```typescript
import { createApiKey } from "@arizeai/ax-client";

const apiKey = await createApiKey({ keyType: "USER", name: "CI pipeline key" });
// Store apiKey.key securely — the full key value is only returned once
console.log(apiKey.key);
```

服务密钥由一个或多个组织和空间的专用机器人用户支持:

```typescript
const apiKey = await createApiKey({
  keyType: "SERVICE",
  name: "service-key",
  organizations: [
    {
      orgId: "T3JnMTIz",
      spaces: [{ spaceId: "U3BhY2UxMjM", role: { name: "MEMBER" } }],
    },
  ],
  expiresAt: new Date("2027-01-01"),
});
// apiKey.botUser — the bot user created for this key, with resolved role assignments
```

## 列出 API 密钥

```typescript
import { listApiKeys } from "@arizeai/ax-client";

const { data } = await listApiKeys();
console.log(data.map((k) => k.name));

// Filter by key type or status
const { data: userKeys } = await listApiKeys({ keyType: "USER" });

// List service keys for a specific space
const { data: serviceKeys } = await listApiKeys({
  keyType: "SERVICE",
  spaceId: "U3BhY2U6MTIzNDU=",
});

// List service keys created by a specific user (any caller with space access)
const { data: byUser } = await listApiKeys({
  spaceId: "U3BhY2U6MTIzNDU=",
  userId: "VXNlcjoxMjM0NQ==",
});

// Each service key entry carries the same botUser detail createApiKey returns —
// use botUser.id as the userId when creating a role binding for the key.
for (const key of serviceKeys) {
  console.log(key.botUser?.id);
}
```

## 撤销 API 密钥

设置密钥状态为 `revoked` 并立即关闭它。 这个操作是不可逆的;撤销一个已经撤销的密钥是不可操作的,仍然成功.

```typescript
import { revokeApiKey } from "@arizeai/ax-client";

await revokeApiKey({ apiKeyId: "your-api-key-id" });
```

## 刷新 API 密钥

原子取消一个已存在的密钥,并用相同的元数据(名称,描述,密钥类型)进行替换. 旧密钥被作废,新密钥在一个单项交易中被激活.

```typescript
import { refreshApiKey } from "@arizeai/ax-client";

const refreshed = await refreshApiKey({ apiKeyId: "your-api-key-id" });
// Store refreshed.key securely — the full key value is only returned once
console.log(refreshed.key);
```

供应 `expiresAt` 以替换键设定过期 :

```typescript
const refreshed = await refreshApiKey({
  apiKeyId: "your-api-key-id",
  expiresAt: new Date("2027-01-01"),
});
```

供应 `gracePeriodSeconds` 在刷新后保持旧密钥对窗口有效, 在旧密钥失效前给予您使用新密钥的时间 :

```typescript
const refreshed = await refreshApiKey({
  apiKeyId: "your-api-key-id",
  gracePeriodSeconds: 3600, // old key stays valid for 1 hour
});
// Store refreshed.key securely — the full key value is only returned once
console.log(refreshed.key);
```

# 作用

这个 `@arizeai/ax-client` 软件包允许您创建和管理自定义角色.

## 创造作用

```typescript
import { createRole } from "@arizeai/ax-client";

const role = await createRole({
  name: "AI Engineer",
  permissions: ["PROJECT_READ", "DATASET_READ", "DATASET_CREATE"],
  description: "Can read and create datasets and experiments.",
});
```

## 列出角色

```typescript
import { listRoles } from "@arizeai/ax-client";

const { data } = await listRoles();
console.log(data.map((r) => r.name));

// Filter to only predefined (system) roles
const { data: predefined } = await listRoles({ isPredefined: true });
```

## 获得角色

```typescript
import { getRole } from "@arizeai/ax-client";

const role = await getRole({ roleId: "your-role-id" });
```

## 更新角色

```typescript
import { updateRole } from "@arizeai/ax-client";

const role = await updateRole({
  roleId: "your-role-id",
  permissions: ["PROJECT_READ", "DATASET_READ"],
});
```

## 删除一个角色

```typescript
import { deleteRole } from "@arizeai/ax-client";

await deleteRole({ roleId: "your-role-id" });
```

# 作用约束

这个 `@arizeai/ax-client` 软件包允许您在一个特定资源(如工程或空间)上绑定一个角色给用户.

## 创建具有约束力的角色

```typescript
import { createRoleBinding } from "@arizeai/ax-client";

const binding = await createRoleBinding({
  userId: "VXNlcjoxMjM0NQ==",
  roleId: "Um9sZTphYmMxMjM=",
  resourceType: "PROJECT",
  resourceId: "UHJvamVjdDphYmMxMjM=",
});
console.log(binding);
```

`userId` 是用户将角色绑定的ID。 绑定 **服务密钥**,通过它的机器人 用户的ID 而不是自己的 —— 返回为 `botUser.id` 从 `createApiKey` (见 [创建 API 密钥](https://npmcn.com/package/%40arizeai/ax-client/#readme-creating-an-api-key) (见上文).

## 列出角色约束

```typescript
import { listRoleBindings } from "@arizeai/ax-client";

const bindings = await listRoleBindings({ resourceType: "SPACE" });
console.log(bindings);
```

## 获得角色约束

```typescript
import { getRoleBinding } from "@arizeai/ax-client";

const binding = await getRoleBinding({ bindingId: "Um9sZUJpbmRpbmc6YWJjMTIz" });
```

## 更新角色约束

```typescript
import { updateRoleBinding } from "@arizeai/ax-client";

const binding = await updateRoleBinding({
  bindingId: "Um9sZUJpbmRpbmc6YWJjMTIz",
  roleId: "Um9sZTphYmMxMjM=",
});
```

## 删除装订的角色

```typescript
import { deleteRoleBinding } from "@arizeai/ax-client";

await deleteRoleBinding({ bindingId: "Um9sZUJpbmRpbmc6YWJjMTIz" });
```

# 资源限制

这个 `@arizeai/ax-client` 软件包允许您限制对资源的访问,这样只有明确绑定的用户才能访问,并解除该限制.

```typescript
import { restrictResource, unrestrictResource } from "@arizeai/ax-client";

// Restrict a resource
const restriction = await restrictResource({ resourceId: "your_project_id" });
console.log(restriction);

// Lift the restriction
await unrestrictResource({ resourceId: "your_project_id" });
```

# 组织

这个 `@arizeai/ax-client` 软件包允许您管理组织.

## 列名组织

```typescript
import { listOrganizations } from "@arizeai/ax-client";

const result = await listOrganizations();
console.log(result.organizations);
```

## 建立组织

```typescript
import { getOrganization } from "@arizeai/ax-client";

const org = await getOrganization({ organization: "your-organization-name" });
console.log(org);
```

## 建立组织

```typescript
import { createOrganization } from "@arizeai/ax-client";

const org = await createOrganization({
  name: "your-organization-name",
  description: "Optional description",
});
console.log(org);
```

## 更新一个组织

```typescript
import { updateOrganization } from "@arizeai/ax-client";

const org = await updateOrganization({
  organization: "your-organization-name",
  name: "your-organization-name-updated",
});
console.log(org);
```

## 删除一个组织

> **警告:** 此操作不可逆并删除组织 以及属于它的所有资源,包括所有空间及其内容.

```typescript
import { deleteOrganization } from "@arizeai/ax-client";

await deleteOrganization({ organization: "your-organization-name" });
```

# 组织成员

## 向一个组织添加用户

```typescript
import { addOrganizationUser } from "@arizeai/ax-client";

const membership = await addOrganizationUser({
  organizationId: "org_abc123",
  userId: "VXNlcjoxMjM0NQ==",
  role: { type: "PREDEFINED", name: "MEMBER" },
});
console.log(membership);
```

## 从一个组织中删除一个用户

```typescript
import { removeOrganizationUser } from "@arizeai/ax-client";

await removeOrganizationUser({
  organizationId: "org_abc123",
  userId: "VXNlcjoxMjM0NQ==",
});
```

# 用户

这个 `@arizeai/ax-client` 软件包允许您管理用户.

> **说明:** 与组织不同的是,用户仅通过不透明的ID识别,而不是 以名为相. 用户显示名称在账户中并不独有, 因此所有函数 需要用户的ID.

## 列出用户

```typescript
import { listUsers } from "@arizeai/ax-client";

const result = await listUsers();
console.log(result.data);
```

## 获取用户

```typescript
import { getUser } from "@arizeai/ax-client";

const user = await getUser({ userId: "VXNlcjoxMjM0NQ==" });
console.log(user);
```

## 创建用户

这个 `inviteMode` 参数控制如何邀请用户 :

-   `"EMAIL_LINK"` – 向用户发送带有验证链接的电子邮件.
-   `"TEMPORARY_PASSWORD"` ——发布一次性密码回回回回复.
-   `"NONE"` —— 直接提供SSO用户;没有发出邀请 用户立即通过配置的身份提供者活动.

回返a `UserCreated` 用于新用户的对象(HTTP 201),或 `User` 对象 (HTTP 200) 当存在时 `invited` 用户返回为- is(dimpolitent – the) 请柬不是怨恨).

```typescript
import { createUser } from "@arizeai/ax-client";

const user = await createUser({
  name: "Jane Smith",
  email: "jane.smith@example.com",
  role: { type: "PREDEFINED", name: "MEMBER" },
  inviteMode: "EMAIL_LINK",
});
console.log(user);
```

## 更新用户

```typescript
import { updateUser } from "@arizeai/ax-client";

const user = await updateUser({
  userId: "VXNlcjoxMjM0NQ==",
  name: "Jane Smith Updated",
  isDeveloper: true,
});
console.log(user);
```

## 删除用户

> **警告:** 此操作永久地将用户从账户中阻断 . 被屏蔽的用户不能再次被邀请——不活动是一个终端状态. 这个 操作级联为组织成员、空间成员、API键、, 和角色约束.

```typescript
import { deleteUser } from "@arizeai/ax-client";

await deleteUser({ userId: "VXNlcjoxMjM0NQ==" });
```

## 重新发送用户邀请

```typescript
import { resendInvitation } from "@arizeai/ax-client";

await resendInvitation({ userId: "VXNlcjoxMjM0NQ==" });
```

## 重置用户密码

```typescript
import { resetPassword } from "@arizeai/ax-client";

await resetPassword({ userId: "VXNlcjoxMjM0NQ==" });
```

## 批量删除用户

通过ID和/或电子邮件删除多个用户。 每个条目的结果都单独退回.

```typescript
import { bulkDeleteUsers } from "@arizeai/ax-client";

const results = await bulkDeleteUsers({
  userIds: ["VXNlcjoxMjM0NQ=="],
  emails: ["jane.smith@example.com"],
});
for (const r of results) {
  console.log(r.userId, r.status, r.error ?? "");
}
```

# 空间

这个 `@arizeai/ax-client` 软件包允许您创建和管理空格.

列表中的空间响应、获取、创建和更新包括 `organizationId`, (中文(简体) ), 当服务器支持此字段时,由母组织的ID. 旧服务器版本可能会省略.

## 列出空格

```typescript
import { listSpaces } from "@arizeai/ax-client";

const spaces = await listSpaces({
  organizationId: "QWNjb3VudE9yZ2FuaXphdGlvbjox",
});
console.log(spaces);
```

奥米 `organizationId` 以列出所有组织的无障碍空间。 SDK这个 作为 REST 查询参数发送此值 `org_id`。 。 。 .

## 获得空间

```typescript
import { getSpace } from "@arizeai/ax-client";

const space = await getSpace({ space: "my-space" });
console.log(space);
```

## 创建空格

```typescript
import { createSpace } from "@arizeai/ax-client";

const space = await createSpace({
  organizationId: "T3JnYW5pemF0aW9uOmFiYzEyMw==",
  name: "your_space_name",
  isPrivate: true, // omit or set false for a public space (default)
});
```

私人空间只能为其成员和账户/org/space admins所看到. 警告被记录到 `isPrivate: true` 提醒您先添加成员 其他用户无法访问该空间.

## 更新空格

```typescript
import { updateSpace } from "@arizeai/ax-client";

const space = await updateSpace({
  space: "my-space",
  name: "updated_space_name",
  isPrivate: false, // omit to preserve the current visibility
});
```

## 删除空格

```typescript
import { deleteSpace } from "@arizeai/ax-client";

await deleteSpace({ space: "my-space" });
```

# 空间成员

## 将用户添加到空格

```typescript
import { addSpaceUser } from "@arizeai/ax-client";

const membership = await addSpaceUser({
  spaceId: "spc_abc123",
  userId: "VXNlcjoxMjM0NQ==",
  role: { type: "PREDEFINED", name: "MEMBER" },
});
console.log(membership);
```

## 从空格中删除用户

```typescript
import { removeSpaceUser } from "@arizeai/ax-client";

await removeSpaceUser({
  spaceId: "spc_abc123",
  userId: "VXNlcjoxMjM0NQ==",
});
```

# 网络呼号

Webhooks为alpha:每个调用日志都会发出一次性警告,API可能会被更改. 一个Webhook是一个组织拥有的HTTPS目的地. 传递一个网签ID,或一个名字一起 `organization`。 。 。 .

## 列出网点

```typescript
import { listWebhooks } from "@arizeai/ax-client";

const webhooks = await listWebhooks({ organization: "my-org" });
console.log(webhooks.data);
```

## 创建网点

```typescript
import { createWebhook } from "@arizeai/ax-client";

const webhook = await createWebhook({
  organization: "my-org",
  name: "deploy-notifier",
  url: "https://example.com/hooks/arize",
  authType: "HMAC_SHA256",
});
// Only returned here. Store it now; afterwards only signingSecretHint is readable.
console.log(webhook.signingSecret);
```

`authToken` 财务报告和审定财务报表 `headers` 只写字,再也没有回音.

## 获取、更新、测试和删除一个 Webhook

```typescript
import {
  getWebhook,
  updateWebhook,
  testWebhook,
  deleteWebhook,
} from "@arizeai/ax-client";

const webhook = await getWebhook({
  webhook: "deploy-notifier",
  organization: "my-org",
});
// Omitted fields keep their value; pass `description: null` to clear it.
await updateWebhook({
  webhook: "deploy-notifier",
  organization: "my-org",
  timeoutMs: 10000,
});
const outcome = await testWebhook({
  webhook: "deploy-notifier",
  organization: "my-org",
});
console.log(outcome.statusCode, outcome.errorMessage);
await deleteWebhook({ webhook: "deploy-notifier", organization: "my-org" });
```

## 列出交货尝试

```typescript
import { listWebhookDeliveryAttempts } from "@arizeai/ax-client";

const attempts = await listWebhookDeliveryAttempts({
  webhook: "deploy-notifier",
  organization: "my-org",
  limit: 100, // up to 500
});
console.log(attempts.data);
```

# Webhook 订阅

订阅可提供一次活动,从一次即时或评价者到一次网约车。 订阅没有名称,用身份证办理.

## 订阅一个事件的 Webhook

```typescript
import { createWebhookSubscription } from "@arizeai/ax-client";

const subscription = await createWebhookSubscription({
  webhook: "deploy-notifier",
  organization: "my-org",
  sourceType: "PROMPT",
  sourceId: "your_prompt_id",
  event: "PROMPT_VERSION_CREATED",
});
```

## 列出、获取和删除订阅

```typescript
import {
  listWebhookSubscriptions,
  getWebhookSubscription,
  deleteWebhookSubscription,
} from "@arizeai/ax-client";

// sourceType and sourceId go together; omit both to list every readable subscription.
const subscriptions = await listWebhookSubscriptions({
  sourceType: "PROMPT",
  sourceId: "your_prompt_id",
});
const subscription = await getWebhookSubscription({
  subscriptionId: "your_subscription_id",
});
await deleteWebhookSubscription({ subscriptionId: "your_subscription_id" });
```

# REST 终点

建议采用这一套中的方法。 如果需要更多的控制,可以直接使用客户端. 该客户端为整个Arize AX REST API提供了一种类型安全获取.

```typescript
import { createClient } from "@arizeai/ax-client";

const client = createClient();

// Get all datasets
const response = await client.GET("/v2/datasets");
```

## 常见问题

### @arizeai/ax-client 是什么？

Arize API 的打字客户端

### 如何安装 @arizeai/ax-client？

在项目目录运行 npm install @arizeai/ax-client，或使用 pnpm add / yarn add / bun add。

### @arizeai/ax-client 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @arizeai/ax-client 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @arizeai/ax-client 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @arizeai/ax-client 可以商用吗？

@arizeai/ax-client 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @arizeai/ax-client 的下载量有多少？

根据 npm 官方下载统计，@arizeai/ax-client 在 2026/10/07 – 2026/11/05 这 30 天内被下载 9,087 次，日均约 303 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @arizeai/ax-client 还在维护吗？

最新版本 1\.31\.1 发布于 2026/10/14（24 天前）；至今共发布 50 个版本，其中过去 12 个月发布了 50 个；首次发布于 2025/12/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

