解锁GPT-4o数据分析潜力:深度洞察与智能解析的最前沿

1,194 阅读3分钟

前言

在数据洪流席卷的数字化时代,信息不再仅仅是累积的数字堆砌,而是蕴藏着待发掘的无限价值与洞见。随着人工智能技术的飞速跃进,特别是自然语言处理(NLP)领域的突破,我们正站在一个前所未有的转折点上——迎来了GPT-4o这一里程碑式的发展。GPT-4o,作为人工智能语言模型的最新迭代,不仅在文本生成和理解上达到了前所未有的高度,更在数据分析领域展现了其非凡的能力,将复杂的数据解析转化为直观、可操作的智慧结晶。接下来让我们通过对苹果手机的销售数据分析来体验GPT-4o的魅力吧~

正文

准备工作:

  • 将文件初始化为后端项目,在终端输入:
npm init -y
  • 安装需要用到的依赖包:
npm i openai
npm i dotenv

安装成功时可以在package.json文件夹看见:

image.png

openai

用来实现API交互模式,进行多轮对话的交互。

dotenv

帮助管理和使用环境变量,通过新建.env文件来存放OPENAI_KEY和BASE_URL。

创建一个main.mjs文件,.mjs后缀的文件是es6的(module),通过import来引入依赖包,通过require引入是node的默认模块化系统(commonJS)

main.mjs

  • 通过import语句引入了OpenAIdotenv这两个模块
  • 使用dotenv.config({ path: '.env' })加载.env文件中的环境变量
  • 初始化OpenAI客户端,从.env文件读取到的OPENAI_KEYBASE_URL创建了一个新的OpenAI客户端实例client(BASE_URL=https://api.302.ai/v1,OPENAI_KEY=sk-xxxxxxxx 使用自己的key)
  • 销售数据:定义了一个名为saleData的字符串变量,其中包含了示例销售数据。数据格式为CSV风格,列出了不同日期、产品、销量、单价和总收入。
  • 定义了一个异步函数getSaleReport,接受销售数据和查询问题作为参数:
  1. 函数内部构建了一个prompt(提示信息),它首先介绍了自己是一个用于生成销售报告的AI助手,然后提供了销售数据,并提出了需要回答的问题(即传入的查询参数data
  2. 使用client.chat.completions.create方法调用OpenAI API,指定了模型为gpt-3.5-turbo,并设置了temperature为0.0以获得更确定、更直接的答案,传递给API的messages是一个对象数组,包含一个用户消息,内容即为构建的prompt。
  3. 函数最后返回API响应中第一个选择的内容,即生成的报告答案。
// require  commonJS node 默认模块化系统
// es6 module 

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

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

const client = new OpenAI({
    apiKey: process.env.OPENAI_KEY,
    baseURL: process.env.BASE_URL
})

const saleData = `
销售数据:
日期,产品,销量,单价,总收入
2023-01-01,iPhone 13,100,6000,600000
2023-01-01,iPhone 14,50,8000,400000
2023-01-02,iPhone 13,80,6000,480000
2023-01-02,iPhone 14,60,8000,480000
2023-01-03,iPhone 13,120,5800,696000
2023-01-03,iPhone 14,80,7800,624000
`
const getSaleReport = async (data, query) => {
    const prompt = `
    You are an AI assistant that generates sales report
     base on the given data.
    Here is the sale data:\n
    ${data}\n\n

    Please generate a report to answer the following question:\n
    ${query}
`
    let response = await client.chat.completions.create({
        model: 'gpt-3.5-turbo',
        temperature: 0.0,
        messages:[{
            role: 'user',
            content: prompt
        }]
    })

    return response.choices[0].message.content
} 

console.log( await getSaleReport(saleData,
     '根据上述销售数据,计算iphone 13和iphone 14的总销量各是多少?'))
console.log( await getSaleReport(saleData,
        '根据上述销售数据,哪个产品的总收入更高,高多少?'))

image.png

结语

总之,GPT-4o开启了数据分析的新纪元,它既是挑战也是机遇。我们期待着更多的探索者加入这一旅程,共同塑造一个由智能数据分析驱动的美好未来。在这个数据无处不在的时代,让我们携手前行,用智慧点亮数据的每一个角落。