🎵 用 OpenAI 写一首情歌:我的第一个 AIGC 小实验

88 阅读2分钟

最近一直在看 AIGC 相关的内容,总觉得大模型离我们前端挺远的,要搞也得学 Python、搭环境、调模型……但其实没那么复杂。

我试了下用 Node.js + OpenAI SDK,几行代码就让 AI 帮我写了一首歌词。
没错,就是那种“汪峰爱上森林北”的文艺范儿情歌。

今天把整个过程记录下来,分享给和我一样想玩 AI 又不想折腾的同学。


🔧 准备工作:初始化项目

首先创建一个新目录:

mkdir ai-lyric-generator
cd ai-lyric-generator
npm init -y

安装 OpenAI 的官方 SDK:

npm install openai dotenv

然后新建一个 .env 文件,存一下你的 API Key:

OPENAI_API_KEY=sk-xxxxxxxxxxxxx

⚠️ 记得把 .env 加入 .gitignore,别一不小心传到 GitHub 上了。


🛠️ 引入依赖并初始化客户端

新建 index.js,写入以下内容:

import OpenAI from 'openai';
import dotenv from 'dotenv';

dotenv.config();

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: 'https://api.302.ai/v1'
});

这里用了 302.ai 这个代理地址,主要是为了在国内能稳定访问。如果你有别的可用通道,也可以换成自己的。


📝 开始生成歌词

接下来是核心逻辑——调用 OpenAI 的 Completion 接口生成文本。

const response = await client.completions.create({
  model: 'gpt-3.5-turbo-instruct',
  max_tokens: 256,
  prompt: `
    假如你是林夕这样的爱情歌曲作词大家,
    请你写一首100字以内,为汪峰写一首他爱上森林北的歌曲。
    森林北是一位美丽、勇敢、会骑马的女孩儿。
  `
});

console.log('歌词:', response.choices[0].text);

就这么几行,没有复杂的配置,也没有花里胡哨的封装。

重点在 prompt —— 我明确告诉 AI:

  • 你要扮演谁(林夕风格)
  • 给谁写(汪峰)
  • 写什么(情歌)
  • 对象是谁(森林北)
  • 她有什么特点(会骑马、勇敢)

这些信息越具体,输出的结果就越贴近预期。


🎤 实际运行结果

跑了一下,AI 输出了这样一段歌词:

风吹过草原,马蹄踏碎月光,
你是我梦里最倔强的姑娘。
森林北,名字像诗一样长,
我愿为你流浪,直到地老天荒。

说实话,第一眼看到的时候还挺惊喜的。虽然不算惊艳,但已经有那种“摇滚诗人”的味道了,至少比我写得好 😂


🧠 总结一下

这个小实验让我意识到:

  • AIGC 并不遥远,前端也能轻松接入
  • OpenAI 的 Completion 接口非常直观,适合快速验证想法
  • Prompt 的质量直接决定输出质量,多试试不同的描述方式
  • gpt-3.5-turbo-instruct 模型对这种指令型任务响应很稳

整个过程不到半小时,代码不到 30 行,却完成了一个“AI 创作”的闭环。


🚀 下一步打算

如果你也试了类似的玩法,欢迎在评论区分享你的 prompt 和生成结果!
比如:让 AI 用周杰伦的风格写一首关于咖啡的歌?或者用鲁迅口吻写辞职信?

一起玩起来!