# @flink-app/mistral-adapter 中文文档

规范地址：https://npmcn.com/package/%40flink-app/mistral-adapter/

版本：2\.0\.0-alpha\.134
npm 元数据更新时间：2026-11-07T11:33:21.786Z
中文译文更新时间：2026-11-15T01:07:46.699Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40flink-app/mistral-adapter
原文对照：https://npmcn.com/package/%40flink-app/mistral-adapter/?lang=original
项目主页：https://github.com/FrostDigital/flink-framework#readme
源码仓库：https://github.com/FrostDigital/flink-framework

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

- 包体积（解压后）：60.6 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@flink-app/flink \>=2\.0\.0-alpha\.134
- 首次发布：2026-08-05T06:18:09.087Z
- 最新版本发布：2026-11-07T11:29:52.813Z
- 近 30 天下载量：2317（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 32 个）

## 中文简介

Flink AI框架的Mistral AI适配器

## 安装

```sh
npm install @flink-app/mistral-adapter
```

也可以使用：`pnpm add @flink-app/mistral-adapter`、`yarn add @flink-app/mistral-adapter`、`bun add @flink-app/mistral-adapter`

## README

# @flink-app/mistral-适应器

Flink AI框架的Mistral AI适配器. 通过使用官方的 Chat Professions API 提供与 Mistral 模型的集成 [`@mistralai/mistralai`](https://www.npmjs.com/package/@mistralai/mistralai) SDK(英语:SDK).

## 安装

```bash
npm install @flink-app/mistral-adapter
# or
pnpm add @flink-app/mistral-adapter
```

这个 `@mistralai/mistralai` 软件包包含为依赖,所以不需要单独安装.

## 使用量

### 基本设置

```typescript
import { MistralAdapter } from "@flink-app/mistral-adapter";
import { FlinkApp } from "@flink-app/flink";

const app = new FlinkApp({
  ai: {
    llms: {
      default: new MistralAdapter({
        apiKey: process.env.MISTRAL_API_KEY!,
        model: "mistral-large-4-0"
      }),
    },
  },
});

await app.start();
```

**遗产 API( 仍然支持 ):**

```typescript
// Backward-compatible constructor
new MistralAdapter(process.env.MISTRAL_API_KEY!, "mistral-medium-latest")
```

### 代理指令

使用 `instructions` 属性 :

```typescript
// src/agents/support_agent.ts
export const Agent: FlinkAgentProps = {
  name: "support_agent",
  instructions: "You are a helpful customer support agent.",
  tools: ["get_order_status"],
  model: { adapterId: "default" },
};
```

**如何运作:**

-   指令是作为系统信息准备给每个对话
-   遵循 Vercel AI SDK 一致性模式
-   对话中的其他系统消息按原样传送

### 多个适配器

可以注册多个具有不同配置的Mistral适配器:

```typescript
const app = new FlinkApp({
  ai: {
    llms: {
      // Frontier model - best for agentic and coding use cases
      default: new MistralAdapter({
        apiKey: process.env.MISTRAL_API_KEY!,
        model: "mistral-medium-latest"
      }),

      // Efficient model - good balance of capability and cost
      fast: new MistralAdapter({
        apiKey: process.env.MISTRAL_API_KEY!,
        model: "mistral-small-latest"
      }),

      // Code completion specialist
      code: new MistralAdapter({
        apiKey: process.env.MISTRAL_API_KEY!,
        model: "codestral-latest"
      }),
    },
  },
});
```

## 理由(中型大4型、中型3.5型、小型4型)

Mistral的当代是 _混合指令和理由_ 模型:同一个模型直接回答或首先思考,每个请求以 `reasoning_effort`适配器将它暴露为 `reasoningEffort` 选项 :

```typescript
const adapter = new MistralAdapter({
  apiKey: process.env.MISTRAL_API_KEY!,
  model: "mistral-large-4-0",
  reasoningEffort: "high", // "high" | "none" (+ "minimal" | "low" | "medium" | "xhigh" accepted by the API)
});
```

| 数值 | 行为 |
| --- | --- |
| _(已发出)_ | 未发送参数; 该模型使用默认值 |
| `"high"` | 在回答/工具调用前充分思考追踪. Mistral 推荐此用于代理和编码工作. 花费更多的产出代币. |
| `"none"` | 最小的思维,没有思维块返回 |

**思考如何通过Flink:**

-   思绪如 `reasoning` 块并被物剂浮出水面 `reasoning_delta` 活动 `fullStream`。它从未包括在 `textStream` 或者说 `result.message`。 。 。 .
-   追踪被存储为 `thinking` 助理消息的内容块和 **在以后的回合和工具呼叫中重放到Mistral**Mistral的文档警告说,在转弯之间抛出微量会显著地降低输出质量,所以这自动发生.
-   没有任何痕迹的助理消息仍然以平庸的字符串形式发出,完全如前.

```typescript
for await (const event of response.fullStream) {
  if (event.type === "reasoning_delta") process.stderr.write(event.delta); // model's thinking
  if (event.type === "text_delta") process.stdout.write(event.delta);      // answer
}
```

工具调用不变: Mistral Large 4 使用相同的 `tools` 编号 : `tool_calls` 编号 : `role: "tool"` 聊天补全格式作为更早的模型,包括并行的工具调用.

## 结构化输出和工具选择

经纪人的 `model.structuredOutput` 以 `responseFormat: { type: "json_schema", jsonSchema: { name, description, schemaDefinition, strict } }` (单位:千美元)`strict` 默认为 `true`) (中文(简体) ). 解析后的答复如下: `result.structured`。 。 。 .

`model.toolChoice` 以 `toolChoice`数字 : `"auto"`, (中文(简体) ), `"none"` 财务报告和审定财务报表 `"required"` 路过, `{ type: "tool", name }` 变成 `{ type: "function", function: { name } }`。只有当请求带有工具时才发出.

## 除错日志

```typescript
const adapter = new MistralAdapter({
  apiKey: process.env.MISTRAL_API_KEY!,
  model: "mistral-medium-latest",
  debug: true // Enable debug logging for this adapter
});
```

何时 `debug: true`,适配器记录了LLM作出的完整请求参数和工具调用决定.

## 支持的模式

这个适配器与所有Mistral聊天模式配合. 截止2026年10月:

| 使用大小写 | 推荐模式 | 为什么 |
| --- | --- | --- |
| 边框/代理/编码/推理 | `mistral-large-4-0` | Mistral Lige 4 - 1T参数(52B活性)开量混合指令-和-解释-MOE,本土多模式,160+语言. Mistral 广告为 1M- token 上下文,但预览 API 路由目前报告为~512K;检查您使用的端点限制. 支助 `reasoningEffort`。 。 。 . |
| 平衡代理/编码 | `mistral-medium-latest` | Mistral Medium 3.5 - 用于代理和编码使用案例的前沿级多模式优化。 支助 `reasoningEffort`。 。 。 . |
| 具有成本效益的任务 | `mistral-small-latest` | Mistral Small 4 - 混合模型统一指示,推理,和编码. 支助 `reasoningEffort`。 。 。 . |
| 上一代( Apache 2. 0) | `mistral-large-latest` | Mistral Lige 3 - 通用多式车型. 验证哪个版本 `-latest` 化名在Mistral的模型文档中确定. |
| 代码补全 | `codestral-latest` | 代码- 代码补全专家 |
| 边缘/ 小足迹 | (3B、8B、14B) | 契约文本和愿景模式 |

Mistral Large 4在Mistral的API上公开预览(发行于2026-10-06). 绑定 `mistral-large-4-0` 编号而不是a `-latest` 别名.

见 [迷雾模型概览](https://docs.mistral.ai/models/overview) 为完整的,最新的型号ID列表.

## 特征

-   ✅ **完整工具呼叫支持** - 在单一答复中包括并行工具呼叫
-   ✅ **理由** - 说吧 `reasoning_effort` 混合模型; 思维流程为 `reasoning_delta`,不包含回答文本,然后在转弯处重放
-   ✅ **事件流** - 通过SDK的 `chat.stream()`
-   ✅ **多式联运投入** - 文本+图像内容块(https URL和base64数据URL)
-   ✅ **工具调用 ID 正常化** - Mistral要求工具调用ID精确为9个字母数字字符;来自对话历史的ID来源于另一个提供者,是决定性的重新映射
-   ✅ **调用跟踪** - 根据请求报告迅速和完成的标志
-   ✅ **Schema 消毒** - 为Mistral兼容性清理工具输入计划

## API 密码

### `MistralAdapter`

```typescript
new MistralAdapter(options: MistralAdapterOptions)
new MistralAdapter(apiKey: string, model: string) // legacy
```

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `apiKey` | `string` | —— 说 | Mistral API 密钥 |
| `model` | `string` | —— 说 | 型号标识,例如:. `mistral-large-4-0` |
| `reasoningEffort` | `MistralReasoningEffort` | _(未发送)_ | `"none" | "minimal" | "low" | "medium" | "high" | "xhigh"`; 作为 `reasoning_effort` |
| `debug` | `boolean` | `false` | 日志完整请求参数和工具调用决定 |

输出 : `MistralAdapter`, (中文(简体) ), `MistralAdapterOptions`, (中文(简体) ), `MistralReasoningEffort`。 。 。 .

## 结构说明

### Flink 整合

适配器执行 Flink 的 `LLMAdapter` 接口 :

-   闪闪发光 `instructions` ∗ 预编为 `{ role: "system" }` 消息
-   闪闪发光 `messages` • 转换为米斯特拉尔聊天信息(系统/用户/助理/工具角色)
-   Flink 的工具 schema 已转换为 Mistral 函数格式(`{ type: "function", function: {...} }`(中文(简体) )
-   流出三角洲 已映射到Flink `LLMStreamChunk` 事件(文本、推理、工具 调用、使用、完成)
-   闪闪发光 `thinking` 内容块QQ Mistral `ThinkChunk`s (单位:千美元)`{ type: "thinking", thinking: [{ type: "text", text }], signature? }`(中文(简体) )

**每一次API呼叫都是一个转弯:**

-   Flink的 AgentRunner 处理多回合循环(调用 API ~ 执行工具 ~ 再次调用 API)
-   工具结果以 `{ role: "tool", toolCallId, content }` 信件

### 仅限无害环境管理的 SDK

这个 `@mistralai/mistralai` SDK v2 仅限无害环境管理. 此适配器被编译为 CommunityJS( 如 Flink 生态系统的其余部分) , 通过动态加载 SDK `import()`,因此它在没有配置的通用JS和无害环境管理应用中都起作用.

### 温度

温度只有在代理明确配置一个时才被发送到API——Mistral建议值为0.0至0.7之间,默认值因型号而异.

## 所需资源

-   节点.js 18
-   @flink-app/flink >= 2.0.0-alpha.125 (用于: `reasoning` 流块和 `thinking` 内容块)

## 许可证

麻省理工学院

## 资源

-   [Mistral AI 文档](https://docs.mistral.ai/)
-   [迷雾模型概览](https://docs.mistral.ai/models/overview)
-   [函数调用指南](https://docs.mistral.ai/capabilities/function_calling/)
-   [理由指南](https://docs.mistral.ai/capabilities/reasoning) (单位:千美元)`reasoning_effort`,思维块)
-   [4号大雾](https://mistral.ai/news/mistral-large-4/)

## 常见问题

### @flink-app/mistral-adapter 是什么？

Flink AI框架的Mistral AI适配器

### 如何安装 @flink-app/mistral-adapter？

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

### @flink-app/mistral-adapter 支持 TypeScript 吗？

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

### @flink-app/mistral-adapter 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @flink-app/mistral-adapter 可以商用吗？

@flink-app/mistral-adapter 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @flink-app/mistral-adapter 的下载量有多少？

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

### @flink-app/mistral-adapter 还在维护吗？

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

