0基础学习AI大模型之:基于 OpenAI 的销售数据分析与提示工程实践

68 阅读5分钟

一、项目背景

在 AIGC(生成式人工智能)时代,大语言模型(LLM)如 GPT 系列不仅能生成文本、图片,还能辅助我们完成结构化数据分析任务。本项目通过 Node.js 调用 OpenAI API,对一段销售数据进行自然语言查询,实现“用对话方式获取业务洞察”——无需写 SQL 或 Excel 公式,只需提问,AI 自动分析并生成报告。


二、技术栈与环境搭建

✅ 核心依赖

  • openai:官方 SDK,用于调用 GPT 模型。
  • dotenv:加载 .env 文件中的环境变量,安全存储 API 密钥。

🚀 初始化项目(推荐使用 pnpm)

bash
编辑
npm init -y
pnpm add dotenv openai

💡 为什么用 pnpm

  • 更快安装速度
  • 硬链接节省磁盘空间
  • 避免 node_modules 膨胀

🔐 环境变量管理(.env

env
编辑
OPENAI_API_KEY=sk-xxxxxx

通过 dotenv.config({ path: '.env' }) 自动注入到 process.env,避免密钥硬编码。


三、代码实现

1. 初始化 OpenAI 客户端

js
编辑
import OpenAI from 'openai';
import { config } from 'dotenv';

config({ path: '.env' });

const client = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY,
    baseURL: 'https://api.agicto.cn/v1' // 可选:使用国内代理加速
});

2. 构造 Prompt(提示词)

js
编辑
const prompt = `
You are an AI assistant that generates sales reports based on the given sales data.
Here is the sales data:
${reference_data}

Please generate a report to answer the following question:
${query}
`;

Prompt 设计要点

  • 角色设定You are... 明确身份(销售分析师)
  • 数据边界:用换行清晰分隔数据与问题
  • 任务指令:具体、可执行、带业务语境

3. 调用模型并输出

js
编辑
const response = await client.chat.completions.create({
    model: "gpt-4o-mini",
    messages: [{ role: 'user', content: prompt }],
    max_tokens: 1024,
    temperature: 0.1 // 降低随机性,提高分析准确性
});

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

四、实际运行效果

当我们执行以下查询:

js
编辑
main(saleData, '根据上述销售数据,采取哪种销售方法非常有效?');

AI 返回了如下结构化分析报告:


📊 销售数据汇总

iPhone 13:

  • 2023-01-01: 总收入 = 600,000
  • 2023-01-02: 总收入 = 480,000
  • 2023-01-03: 总收入 = 696,000
    iPhone 13 总销售额 = 1,776,000

iPhone 14:

  • 2023-01-01: 总收入 = 400,000
  • 2023-01-02: 总收入 = 480,000
  • 2023-01-03: 总收入 = 624,000
    iPhone 14 总销售额 = 1,504,000

🔍 销售趋势分析

  • iPhone 13 的销量呈明显上升趋势:从 100 → 80 → 120,尤其在 1 月 3 日达到峰值。
  • iPhone 14 销量相对平稳但偏低:从 50 → 60 → 80,虽有增长,但总量仍低于 iPhone 13。

💡 值得注意的是:iPhone 13 在 1 月 3 日单价从 6000 降至 5800,但销量反增,总收入不降反升(48 万 → 69.6 万),说明价格策略调整有效


🎯 销售方法有效性结论

  1. 产品定位成功
    iPhone 13 凭借更高的性价比或更强的市场接受度,成为销售主力。
  2. 动态定价策略奏效
    适度降价(5800 元)显著刺激了销量增长,验证了“以价换量”的可行性。
  3. iPhone 14 需策略优化
    尽管也降价(8000 → 7800),但销量提升有限,可能需加强宣传、捆绑销售或渠道优化。

💡 业务建议

  • ✅ 继续主推 iPhone 13:加大库存与营销资源倾斜。
  • 🛠️ 重新评估 iPhone 14 策略:考虑限时折扣、以旧换新、或与配件捆绑销售。
  • 📈 建立数据监控机制:每日跟踪销量、单价、收入变化,快速响应市场反馈。

🌟 关键洞察
针对 iPhone 13 的销售方法(如灵活定价)非常有效,而 iPhone 14 则需进一步优化策略。


五、提示工程(Prompt Engineering)核心思想

原则实践体现
明确角色“You are an AI assistant that generates sales reports...”
提供上下文完整 CSV 数据作为输入,边界清晰
具体指令“采取哪种销售方法非常有效?” → 引导模型进行归因分析
控制输出风格temperature: 0.1 确保输出专业、稳定、少幻觉

🌟 提示词是 AI 项目的“核心代码” 。有时候,优化 prompt 比调模型更有效!


六、总结与思考

  • AIGC 不仅是“聊天”,更是“智能分析工具” :LLM 能理解结构化数据并输出业务洞察。
  • 安全第一:API Key 必须通过 .env 管理,禁止硬编码。
  • 模块化设计main.mjs 作为单点入口,便于测试与扩展。
  • Prompt 是可工程化的资产:好的提示词能直接决定项目成败。

🚀 下一步优化方向

  • 将分析结果自动保存为 Markdown 或 PDF 报告
  • 添加错误处理(网络异常、API 限流)
  • 支持从 CSV 文件动态读取数据
  • 引入多轮对话,支持追问(如“为什么 iPhone 14 销量低?”)

附:关键概念速记

  • process.env:Node.js 环境变量对象
  • .mjs:ES 模块语法(支持 import/export
  • temperature:控制输出随机性(0 = 确定性,1 = 创意性)
  • AIGC = AI Generated Content(生成式人工智能)

结语
通过一段简洁的代码 + 精心设计的提示词,我们让 AI 成为了“数据分析师”。这不仅是技术的胜利,更是人机协作新范式的体现——你负责提问,AI 负责思考。

你可以将本笔记保存为 prompt-engineering-sales-analysis.md,作为项目文档或学习资料。