【入门必看】从零开始的 AIGC 工程化开发流程(英伟达证书学习笔记)

3 阅读7分钟

本文为本人学习英伟达生成式 AI 证书的个人复习笔记,全程面向零基础初学者,用最通俗的语言讲透 AIGC 项目从 0 到 1 的标准工程化流程,看完就能直接上手写第一个 AI 接口调用项目。

一、前置认知:AIGC 项目本质

所有 AI 项目 / Agent 项目,几乎都是 Node.js 后端项目

  • 核心逻辑:本地写代码 → 调用大模型 API → 拿到返回结果
  • 不需要前端页面,纯后端脚本即可完成所有功能
  • 这也是为什么我们全程用 Node.js、pnpm、终端命令来开发

二、第一步:环境准备

1. 安装 Node.js

官网下载 LTS 长期支持版即可,安装完成后终端执行以下命令验证:

bash

运行

node -v
npm -v

2. 安装 pnpm(强烈推荐,替代 npm)

bash

运行

npm install -g pnpm

为什么一定要用 pnpm 而不是 npm?

表格

对比维度npmpnpm
磁盘占用每个项目单独复制一份依赖,10 个项目装 openai 就存 10 份,C 盘越用越满同一个版本的包全电脑只存 1 份,所有项目靠链接引用,省 60%-80% 磁盘空间
安装速度每次都要下载 + 复制文件,速度慢第一次下载存全局,第二次同版本直接秒装,速度快 2-3 倍
依赖管理扁平化导致幽灵依赖,没写在 package.json 的包也能引用,升级容易报错严格管控,只能导入显式安装的包,项目稳定性更高

三、项目初始化:给项目 "上户口"

命令

在你新建的空项目文件夹终端执行:

bash

运行

npm init -y

作用

  • 快速创建 Node.js 项目,相当于给项目 "上户口"
  • 执行后会自动生成package.json文件,这是项目的 "身份证"
  • 必须先执行这一步,才能安装任何第三方依赖

package.json 是什么?

  • 记录项目名称、版本、描述、作者等基本信息
  • 记录项目安装的所有依赖包和版本号
  • 配置项目启动脚本、打包脚本等命令

四、安装核心依赖

1. 安装大模型 SDK

bash

运行

pnpm i openai
  • 作用:给项目安装大模型连接插件,让你的代码能和 OpenAI、DeepSeek、通义千问等所有兼容 OpenAI 接口的大模型通信
  • 注意:所有兼容 OpenAI 接口的大模型,都可以用这个 SDK 调用,不需要单独安装其他包

2. 安装环境变量工具

bash

运行

pnpm i dotenv
  • 作用:读取项目根目录下的.env文件,把里面的配置加载到 Node.js 的全局进程对象中

五、最重要的安全问题:API 密钥保护

绝对禁止的错误写法

js

// 千万不要这么写!!!
const apiKey = "sk-xxxxxxxxxxxxxxxxxxxx"
  • 只要你把密钥硬写在代码里,一旦提交到 Gitee/GitHub,密钥会永久留在提交记录里
  • GitHub 有大量爬虫 24 小时扫描公开仓库的密钥,几分钟内就会被盗刷,产生巨额费用

正确做法:.env + .gitignore

第一步:新建.env文件

在项目根目录新建.env文件,格式要求:

env

# 变量名建议全大写,等号左右不要加空格,不要加引号
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx

第二步:新建.gitignore文件

在项目根目录新建.gitignore文件,写入以下内容:

gitignore

# 忽略环境变量文件,永远不会提交到远程仓库
.env
# 忽略依赖文件夹,体积巨大,不需要提交
node_modules/
# 忽略日志文件
*.log

第三步:在代码中读取密钥

js

// 加载.env配置
import 'dotenv/config'
// 从全局进程对象中读取密钥
const apiKey = process.env.DEEPSEEK_API_KEY

原理

  • .env:本地单独存放私密配置,和业务代码分离
  • .gitignore:告诉 Git 哪些文件不需要提交,从根源上防止密钥泄露
  • 二者缺一不可,只有同时使用才能真正保护你的 API 密钥

六、模块化规范:.mjs vs .js

核心区别

表格

后缀默认模块规范导入语法导出语法
.jsCommonJSrequire('xxx')module.exports = xxx
.mjsES Module(ESM)import xxx from 'xxx'export default xxx

为什么推荐用.mjs?

  • ES Module 是 JavaScript 官方标准,浏览器和 Node.js 通用
  • 语法更简洁,支持静态分析,打包体积更小
  • 不需要修改任何配置,Node.js 原生支持
  • 现在所有新的前端 / 后端项目,都在全面转向 ESM 规范

注意事项

  • .mjs文件中不能使用 require () ,写了会直接报错
  • ESM 默认开启严格模式,不需要手动写'use strict'

七、开发效率神器:nodemon

问题

原生 Node.js 开发时,每次修改代码都需要:

  1. Ctrl+C停止当前进程
  2. 重新执行node index.mjs启动
  3. 反复操作非常浪费时间

解决方案:nodemon

  • 作用:监听文件变化,自动重启 Node.js 进程
  • 安装:

bash

运行

pnpm add -g nodemon
  • 使用:

bash

运行

# 替代原来的 node index.mjs
nodemon index.mjs
  • 效果:只要你保存代码,项目就会自动重启,不需要手动操作

八、异步编程核心:async/await

为什么需要异步?

调用大模型 API 不是立刻返回结果的,需要等待几百毫秒到几秒不等。如果用同步写法,程序会卡住不动。

核心语法

js

// 1. 在函数前面加 async,标记这是一个异步函数
async function main() {
  // 2. 在异步操作前面加 await,等待结果返回再往下执行
  const result = await client.chat.completions.create({
    model: "deepseek-chat",
    messages: [{ role: "user", content: "你好" }]
  })
  
  console.log(result.choices[0].message.content)
}

// 3. 调用异步函数
main()

最简单记忆

  • async:告诉 JS,这个函数里面有需要等待的操作
  • await:告诉 JS,等这个操作完成,拿到结果再往下走
  • 没有 async 就不能用 await,没有 await async 就没有意义

九、标准 AIGC 工程化开发流程(必背)

  1. 新建空项目文件夹
  2. 初始化项目npm init -y
  3. 新建.gitignore:写入.envnode_modules/
  4. 安装依赖pnpm i openai dotenv
  5. 新建.env:写入你的 API 密钥
  6. 新建入口文件 index.mjs
  7. 实例化大模型客户端
  8. 编写 main 单点入口函数
  9. 在 main 函数中调用大模型 API
  10. 启动项目nodemon index.mjs

十、标准项目结构

plaintext

your-ai-project/
├── .env              # 私密配置(不上传Git)
├── .gitignore        # Git忽略文件
├── index.mjs         # 单点入口文件
├── package.json      # 项目配置
└── pnpm-lock.yaml    # 依赖版本锁定文件(自动生成)

什么是单点入口?

  • 单点入口文件:整个项目只从这一个文件开始运行,也就是你执行node index.mjs的那个文件
  • 单点入口函数:入口文件里的main()函数,所有业务逻辑都从这里开始调用
  • 好处:代码结构清晰,别人看你的项目一眼就知道从哪开始跑,方便后续部署和维护

十一、常见坑点汇总(踩过的坑都在这里)

  1. process.env.xxx 返回 undefined

    • 检查.env文件是否在项目根目录
    • 检查变量名是否完全一致(大小写敏感)
    • 检查等号左右是否有空格
    • 检查是否已经执行了import 'dotenv/config'
  2. nodemon 命令不存在

    • 没有全局安装 nodemon,执行pnpm add -g nodemon
    • 或者用 npx 调用:npx nodemon index.mjs
  3. await 只能在 async 函数中使用

    • 把包含 await 的代码放到 async 函数里
    • 不要在全局作用域直接使用 await
  4. 密钥泄露怎么办

    • 立刻去大模型官网重置你的 API 密钥
    • 检查 Git 提交记录,删除包含密钥的提交
    • 以后严格按照.env + .gitignore的方式管理密钥

十二、总结

AIGC 工程化开发其实非常简单,核心就是 "初始化项目 → 安装依赖 → 安全管理密钥 → 调用 API → 处理结果" 这几步。

对于初学者来说,不需要一开始就追求复杂的架构,先把这个标准流程跑通,能成功调用大模型返回结果,就是一个合格的 AIGC 项目了。后续再慢慢学习 Agent、RAG、流式输出等进阶内容。

希望这篇笔记能帮到和我一样刚入门 AIGC 开发的同学,也欢迎大家在评论区交流学习心得。