# @arizeai/openinference-tanstack-ai 中文文档

规范地址：https://npmcn.com/package/%40arizeai/openinference-tanstack-ai/

版本：0\.3\.3
npm 元数据更新时间：2026-10-23T22:15:24.282Z
中文译文更新时间：2026-11-06T19:25:33.061Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：186 kB，34 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：@tanstack/ai \>=0\.10\.0
- 首次发布：2026-04-28T00:01:17.761Z
- 最新版本发布：2026-10-23T22:15:23.888Z
- 近 30 天下载量：12932（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 24 个）

## 中文简介

TanStack AI 的 OpenInference 中间软件

## 安装

```sh
npm install @arizeai/openinference-tanstack-ai
```

也可以使用：`pnpm add @arizeai/openinference-tanstack-ai`、`yarn add @arizeai/openinference-tanstack-ai`、`bun add @arizeai/openinference-tanstack-ai`

## README

# OpenInference TanStack AI 打开推论 谭斯塔克AI

[![npm version](https://badge.fury.io/js/@arizeai%2Fopeninference-tanstack-ai.svg)](https://badge.fury.io/js/@arizeai%2Fopeninference-tanstack-ai)

此软件包提供了用于 [谭斯塔克AI](https://tanstack.com/ai/latest/docs/getting-started/overview)。它发出OpenTeleometry 跨度,按照 OpenInference 规格定型,因此 TanStack AI 运行可以在像 : [调整 AX](https://arize.com/products/ax?utm_source=docs&utm_medium=web&utm_content=openinference) 财务报告和审定财务报表 [凤凰](https://phoenix.arize.com/)。 。 。 .

## 安装

```shell
npm install --save @arizeai/openinference-tanstack-ai @tanstack/ai
```

您还需要在应用程序中设置 OpenTeleometry 。 例如:

```shell
npm install --save @arizeai/phoenix-otel
```

或:

```shell
npm install --save @opentelemetry/api @opentelemetry/sdk-trace-node @opentelemetry/exporter-trace-otlp-proto
```

安装您计划使用 TanStack AI 的提供者适配器, 例如:

```shell
npm install --save @tanstack/ai-openai
```

## 使用量

`@arizeai/openinference-tanstack-ai` 出口 `openInferenceMiddleware`,直接插入 TanStack AI的 `middleware` 选项.

```ts
import { chat } from "@tanstack/ai";
import { openaiText } from "@tanstack/ai-openai";

import { openInferenceMiddleware } from "@arizeai/openinference-tanstack-ai";

const stream = chat({
  adapter: openaiText("gpt-4o-mini"),
  messages: [{ role: "user", content: "What is OpenInference?" }],
  middleware: [openInferenceMiddleware()],
});
```

中相器既为流相也为非流相所通的TanStack AI调用.

```ts
const text = await chat({
  adapter: openaiText("gpt-4o-mini"),
  stream: false,
  systemPrompts: ["You are a concise technical explainer."],
  messages: [{ role: "user", content: "Explain OpenInference in one sentence." }],
  middleware: [openInferenceMiddleware()],
});
```

## 追踪器设置

此软件包使用您应用程序中已有的 OpenTeleometry tracker 提供者和导出者 。 它本身不出口.

> \[注\] 您的仪表代码应该在中间软件应用前运行. 这保证了追踪器提供者在中间软件开始放出跨度前得到适当配置.

推荐的快速启动是将其与 `@arizeai/phoenix-otel`。 。 。 .

```ts
import { register } from "@arizeai/phoenix-otel";

register({
  projectName: "my-tanstack-ai-app",
  endpoint: process.env["PHOENIX_COLLECTOR_ENDPOINT"] ?? "http://localhost:6006/v1/traces",
  apiKey: process.env["PHOENIX_API_KEY"],
});
```

如果你已经有一个标准的 OpenTeleometry 设置, 那也是有效的。 例如,一个当地的凤凰城收藏家,一个最低限度的手动设置看起来是这样的:

```ts
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
import { Resource } from "@opentelemetry/resources";
import { SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { SEMRESATTRS_PROJECT_NAME } from "@arizeai/openinference-semantic-conventions";

const tracerProvider = new NodeTracerProvider({
  resource: new Resource({
    [SEMRESATTRS_PROJECT_NAME]: "my-tanstack-ai-app",
  }),
  spanProcessors: [
    new SimpleSpanProcessor(
      new OTLPTraceExporter({
        url: process.env["PHOENIX_COLLECTOR_ENDPOINT"] ?? "http://localhost:6006/v1/traces",
        headers:
          process.env["PHOENIX_API_KEY"] == null
            ? undefined
            : {
                Authorization: `Bearer ${process.env["PHOENIX_API_KEY"]}`,
              },
      }),
    ),
  ],
});

tracerProvider.register();
```

## 自定义跟踪器

默认情况下,中件会为此包使用全局跟踪器. 如果您的应用程序已经设置了请求扫描器或自定义跟踪器,请明确通过.

```ts
import { trace } from "@opentelemetry/api";

const tracer = trace.getTracer("tanstack-ai-request");

const middleware = openInferenceMiddleware({ tracer });
```

当您想要中间软件在不依赖全局默认的情况下参与特定的跟踪器设置时,此功能是有用的.

## 追踪到什么

中间软件为一个 TanStack AI 运行发出以下跨度结构 :

-   一个 `AGENT` 跨度 `chat()` 援引
-   一个 `LLM` 每个模型转弯的间距
-   一个 `TOOL` 每个已执行的工具调用的时间间隔

对于工具循环,追踪一般会像:

-   `AGENT`
-   `LLM 1`
-   `TOOL`
-   `LLM 2`

这个 `AGENT` 跨度捕捉顶级请求和最后回应。 这个 `LLM` 跨度捕捉提供者/模型元数据、输入信息、输出信息、工具定义、符号计数以及模型的完成原因(`llm.finish_reason`提供时。 这个 `TOOL` 横跨.

## 实例

此软件包包含实例文件 `examples/`数字 :

-   `examples/chat-with-tools.ts` - 一个工具呼叫的 OpenAI 示例
-   `examples/anthropic-multi-tool.ts` - 有多个工具呼叫的Anthropic实例
-   `examples/non-streaming-chat.ts` - 带有系统提示的非流化实例

见 `examples/README.md` 用于设置和运行命令.

## 页:1

-   这一一揽子措施只针对无害环境管理,因为TanStack AI只针对无害环境管理.
-   中间软件在服务器和客户端环境中都起作用,但客户端/服务器的痕量缝合取决于您的应用程序的上下文传播设置.

## 常见问题

### @arizeai/openinference-tanstack-ai 是什么？

TanStack AI 的 OpenInference 中间软件

### 如何安装 @arizeai/openinference-tanstack-ai？

在项目目录运行 npm install @arizeai/openinference-tanstack-ai，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@tanstack/ai（\>=0\.10\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @arizeai/openinference-tanstack-ai 支持 TypeScript 吗？

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

### @arizeai/openinference-tanstack-ai 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @arizeai/openinference-tanstack-ai 可以商用吗？

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

### @arizeai/openinference-tanstack-ai 的下载量有多少？

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

### @arizeai/openinference-tanstack-ai 还在维护吗？

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

