我用 Node.js + pnpm 搭了个能写诗的 AI,过程比想象简单

83 阅读4分钟

从 AIGC 到 OpenAI:一次完整的后端实践笔记

本文将带你从概念理解到代码实现,快速掌握 AIGC(生成式人工智能)的核心原理,并使用 Node.js + OpenAI SDK 构建一个可运行的生成式 AI 后端服务。全程采用高效包管理器 pnpm,兼顾开发效率与项目规范。


一、什么是 AIGC?

AIGC(AI Generated Content,生成式人工智能)是指人工智能模型通过学习海量数据,具备自动生成文本、图像、音频、视频等内容的能力。与传统 AI 主要用于分类或识别不同,AIGC 强调“创造”——它不仅能理解信息,还能产出新的、符合语境的内容。

目前主流的 AIGC 应用包括:

类型代表模型功能说明
文本生成gpt-3.5-turbo根据提示生成自然语言文本
图像生成dall-e-3(推荐)根据文本描述生成高质量图像

💡 注:OpenAI 已逐步弃用 DALL·E 2,建议使用 dall-e-3 获取更优效果。

本文将基于 OpenAI API,实现文本与图像的生成能力调用。


二、开发环境准备

在开始编码前,请确保已安装以下工具:

  • Node.js(推荐 v18 或更高版本)
  • pnpm(作为 npm 的高效替代)
  • OpenAI 账户 并获取有效的 API Key

⚠️ 安全提示:API Key 属于敏感信息,请勿提交至版本控制系统(如 Git)。


三、为什么选择 pnpm?

pnpm(Performant npm) 是一个现代化的 JavaScript 包管理器,相比 npm 具有显著优势:

  • 安装更快:通过内容寻址存储与硬链接机制,避免重复下载;
  • 节省磁盘空间:全局共享依赖,减少 node_modules 体积;
  • 依赖隔离更安全:采用符号链接结构,避免“幽灵依赖”问题。

安装 pnpm:

npm install -g pnpm

四、初始化项目

创建项目目录并初始化:

mkdir ai-demo && cd ai-demo
pnpm init -y

该命令会生成 package.json,用于管理项目元信息与依赖。


五、安装核心依赖

执行以下命令安装所需依赖:

pnpm add dotenv openai
  • dotenv:用于从 .env 文件加载环境变量;
  • openai:OpenAI 官方提供的 Node.js SDK,简化 API 调用。

得益于 pnpm 的缓存机制,依赖安装速度更快,且占用空间更小。


六、配置环境变量

在项目根目录创建 .env 文件:

OPENAI_API_KEY=your-api-key-here

🔒 请务必在 .gitignore 中添加 .env,防止密钥泄露。

通过 dotenv 加载环境变量:

import 'dotenv/config';

console.log(process.env.OPENAI_API_KEY); // 仅用于调试,上线前应移除

七、编写主程序:调用 OpenAI API

创建 main.mjs 文件:

import 'dotenv/config';
import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
});

async function run() {
  try {
    const completion = await openai.chat.completions.create({
      model: 'gpt-3.5-turbo', // 也可替换为 'gpt-4o-mini' 等模型
      messages: [{ role: 'user', content: '写一首关于秋天的诗' }],
    });

    console.log(completion.choices[0].message.content);
  } catch (error) {
    console.error('API 调用失败:', error.message);
  }
}

run();

运行程序:

node main.mjs

终端将输出由 AI 生成的诗歌内容。


八、关键技术点解析

1. process.env 与环境变量

在 Node.js 中,process 是全局对象,process.env 存储当前进程的环境变量。通过 dotenv,我们可以将本地 .env 文件中的键值对注入到 process.env,实现配置与代码解耦。

2. 安全与可维护性

  • 使用 .env 管理密钥,避免硬编码;
  • 不同环境(开发/测试/生产)可使用不同的 .env 文件;
  • 便于 CI/CD 集成,提升部署灵活性。

九、项目总结

通过以上步骤,我们构建了一个轻量但完整的 AIGC 后端原型,具备以下特点:

  • ✅ 使用 pnpm 实现高效依赖管理;
  • ✅ 通过 dotenv 安全加载 API 密钥;
  • ✅ 基于 OpenAI SDK 封装清晰的调用逻辑;
  • ✅ 代码结构简洁,易于后续扩展。

可拓展方向:

  • 封装为 RESTful API(如使用 Express 或 Fastify);
  • 添加请求限流、日志记录与错误监控;
  • 集成前端界面(如 React/Vue)实现交互式体验;
  • 支持多模态生成(文本 + 图像)。

十、结语

生成式 AI 正在重塑内容创作、软件开发与人机交互的方式。掌握从环境搭建到 API 调用的完整链路,是开发者拥抱 AI 时代的关键一步。

本文提供了一个可复用的基础模板,希望帮助你快速上手 AIGC 开发。未来,你可以将其应用于智能客服、文案生成、代码辅助、AI 绘画乃至自主智能体(Agent)构建等场景。

如果你觉得本文对你有帮助,欢迎点赞、收藏或分享。也欢迎在评论区交流你的实践心得!