# @completionhq/promptfactory-node 中文文档

规范地址：https://npmcn.com/package/%40completionhq/promptfactory-node/

版本：0\.0\.3
npm 元数据更新时间：2024-04-01T05:34:40.011Z
中文译文更新时间：2026-11-10T13:42:48.147Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40completionhq/promptfactory-node
原文对照：https://npmcn.com/package/%40completionhq/promptfactory-node/?lang=original

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

- 包体积（解压后）：260 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=12\.\*
- 运行依赖：3 个
- 首次发布：2024-03-30T05:40:49.402Z
- 最新版本发布：2024-04-01T05:34:39.800Z
- 近 30 天下载量：8154（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

FlaurFactory Node SDK是一个快速而轻巧的创建和管理您的 LLM 应用程序的提示.

## 安装

```sh
npm install @completionhq/promptfactory-node
```

也可以使用：`pnpm add @completionhq/promptfactory-node`、`yarn add @completionhq/promptfactory-node`、`bun add @completionhq/promptfactory-node`

## README

# 快速事实库

即时Factory库为构建和管理即时模板提供了强大,高效,语言独立的解决方案,用于各种AI模型,包括但不限于LLM(大型语言模型)和文本到图像模型. 它弥补了LangChain等复杂项目结构与直截了当的弦式诱导方法之间的差距,为迅速管理提供了精简和开发者友好的工具.

## 关键目标

-   **效率和简化:** 提供快速和直截了当的接口,以便在软件项目内进行迅速管理,而不需要大量依赖.
-   **模型兼容性 :** 确保与包括OpenAI,Mistral,Llama等在内的各种AI模型相兼容,为方便整合和灵活使用提供便利.
-   **开发者 :** 以开发者需求为重点的设计,允许快速定制,参数验证,并方便地存储和改版代码寄存器内的即时模板.

## 特征

-   **易用性 :** 直观API用于即时创建和管理,支持简单而复杂的即时配置.
-   **参数验证 :** 内置支持验证和水分快速参数,确保动态提示生成准确.
-   **模型不可知论 :** 与任何接受文本或结构化消息提示的AI模型无缝工作.
-   **Versatile 快速管理 :** 允许在代码中存储即时模板和参数,简化版本控制和协作.

## 安装

使用 npm 或纱线安装 PointFactory 库 :

```bash
npm install @completionhq/promptfactory-node

# or

yarn add @completionhq/promptfactory-node
```

## 使用量

下面的例子说明如何使用即时事实来创建和使用即时信息.

### 基本快速创建

```javascript
// Import required classes and types
import { StringPrompt, MessageArrayPrompt } from '@completionhq/promptfactory-node'; // Assuming the classes are exported from 'promptClasses.js'

// Create a StringPrompt instance
const stringPrompt = new StringPrompt("ExamplePrompt", {
  template: "Hello, {{name}}! How can I assist you today?",
  promptArguments: { name: "John Doe" },
});

// Or set the template and arguments separately
stringPrompt.setTemplate("Hello, {{name}}! How can I assist you today?");
stringPrompt.setArguments({ name: "John Doe" });

// Hydrate the string template to produce the final prompt
const hydratedStringPrompt = stringPrompt.hydrate();
console.log(hydratedStringPrompt); // Output: Hello, John Doe! How can I assist you today?

```

### 基本信件阵列快速创建( OpenAI / Chat 补全格式)

```javascript
// Create a MessageArrayPrompt instance
const messageArrayPrompt = new MessageArrayPrompt("ExamplePrompt", {
  template: [
    {
      role: "system",
      content: "Hello, {{name}}! How can I assist you today?",
    }
  ],
  promptArguments: { name: "John Doe" },
});

// Or set the template and arguments separately
messageArrayPrompt.setTemplate([
  {
    role: "system",
    content: "Hello, {{name}}! How can I assist you today?",
  }
]);
messageArrayPrompt.setArguments({ name: "John Doe" });

// Hydrate the message array template to produce the final array of messages
const hydratedMessages = messageArrayPrompt.hydrate();
console.log(hydratedMessages); // Output: [{ role: 'system', content: 'Hello, John Doe! How can I assist you today?' }]

// For serialization and deserialization, refer to the utilities provided in the new interfaces
```

### 与 OpenAI 合并

```javascript
import { OpenAI } from 'openai-node';

const prompt = new MessageArrayPromptFactory("OpenAIPrompt", {
  messagesTemplate: [
    { role: "system", content: "Hello, {{name}}! How can I assist you today?" }
  ],
  promptArguments: { name: "John Doe" },
});

const openai = new OpenAI({
  apiKey: config.openaiApiKey,
});
const result = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: prompt.getHydratedMessagesArray(),
});

console.log(result.choices[0].message.content);
```

### 配置选项

自定义具有各种配置选项的即时事实的行为 :

-   **`promptTemplate`**:用于生成简单文本提示的字符串模板.
-   **`messagesTemplate`**: 用于创建结构化消息提示的聊天补全参数阵列.
-   **`promptArguments`**: 含有要插入即时或信件模板的变量的对象.
-   **`parser`**:指定要使用的模板解析器,默认为 `FString` 用于简单的字符串插值.
-   **`fileSerializationFormat`**: 确定从文件加载和保存提示所用的格式,以JSON为默认格式.

## 高级特性

-   **基于文件的快速管理**:直接从文件装入并管理提示,支持JSON和YAML两种格式,以便于使用和版本控制.
-   **动态参数水分**:无缝地将动态变量插入提示,确保准确和符合具体情况的快速生成.
-   **全面验证**:利用内置验证机制,确保及时模板和参数格式正确,无出错.

## 常见问题

### @completionhq/promptfactory-node 是什么？

FlaurFactory Node SDK是一个快速而轻巧的创建和管理您的 LLM 应用程序的提示\.

### 如何安装 @completionhq/promptfactory-node？

在项目目录运行 npm install @completionhq/promptfactory-node，或使用 pnpm add / yarn add / bun add。

### @completionhq/promptfactory-node 支持 TypeScript 吗？

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

### @completionhq/promptfactory-node 支持 ESM 还是 CommonJS？

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

### @completionhq/promptfactory-node 需要什么版本的 Node\.js？

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

### @completionhq/promptfactory-node 可以商用吗？

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

### @completionhq/promptfactory-node 的下载量有多少？

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

### @completionhq/promptfactory-node 还在维护吗？

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

