不只是工具,更是伙伴——OpenAI如何助你一臂之力,优化销售策略,从零基础到精通,收藏这篇就够了!

.markdown-body pre,.markdown-body pre>code.hljs{color:#333;background:#f8f8f8}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

引言

在繁忙的复习周中,我终于挤出时间来巩固OpenAI的知识,并通过实践加深理解。

今天我们来用AI实现一个简单的数据采集案例。在这个过程中,我将分享一些与强大的AI工具学习的分析和心得。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

AI数据分析结果图:

以下这张图展示了我们最终利用AI生成的有价值的销售报告: 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

源码如下
import OpenAI from "openai";
import dotenv from "dotenv";
// 加载环境变量配置文件
dotenv.config();

// 从环境变量中获取 OpenAI API 密钥和基础 URL
const {
    OPENAI_API_KEY,
    OPENAI_BASE_URL // 提供默认的基础 URL
} = process.env;

// 实例化 OpenAI 客户端
const client = new OpenAI({
    apiKey: OPENAI_API_KEY,
    baseURL: OPENAI_BASE_URL
});

// CSV 格式的销售数据
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
`;

// 专业的销售数据分析 prompt 封装
const genSaleReport = async (saleData, query) => {
    const prompt = `
    You are an AI assistant that generates sales reports based on the given data.
    Here is the sales data:\n ${saleData} \n\n
    Please generate a report to answer the following questions: \n
    ${query}
    `;

    try {
        let response = await client.chat.completions.create({
            model: 'gpt-4o',
            messages: [{ role: 'user', content: prompt }],
            max_tokens: 1000,  //按token 收费
            temperature: 0
        });
        return response.choices[0].message.content;
    } catch (error) {
        console.error('Error generating report:', error);
        throw error; // 或者返回一个默认值,根据需要调整
    }
};

const main = async () => {
    try {
        // const query = `根据上述销售数据,计算iPhone 13和iPhone 14的总销量各是多少?`;
        const query = `根据上述销售数据,可否制定接下来的产品售价?用中文回答`;
        const report = await genSaleReport(saleData, query); 
        console.log(report);
    } catch (error) {
        console.error('Error in main function:', error);
    }
};

// 执行主函数
main();



无论你现在是否完全理解上述内容,这都不是最重要的。重要的是,我们将一起踏上这段探索之旅,逐步揭开AI神秘的面纱。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

开干

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

老调重弹

尽管这一步骤我已经重复过多次,但它的重要性不容忽视。对于初次接触的同学来说,了解这些基础知识是至关重要的。

如果你还不熟悉OpenAI的应用,可以参考这篇文章:OpenAI新篇章:一起探索多模态应用的无限可能!这是我的第一次openai尝试,因此在基础方面可能会讲得比较详细。

为了使我们的后端项目能够顺利调用 OpenAI API,我们首先需要引入必要的依赖包。openai 包将帮助我们与 OpenAI 的服务进行交互,而 dotenv 则用来加载环境变量,确保敏感信息如 API 密钥的安全存储和便捷访问。

import OpenAI from "openai";
import dotenv from "dotenv";
// 加载环境变量配置文件
dotenv.config();



实例化 OpenAI 客户端

完成环境配置后,下一步便是创建一个 OpenAI 客户端实例。

这一步骤至关重要,它将作为我们与强大 AI 助手之间的桥梁,通过这个,所有请求和响应都能高效、安全地传递,实现了我们与AI的对话。

// 从环境变量中获取 OpenAI API 密钥和基础 URL
const {
    OPENAI_API_KEY,
    OPENAI_BASE_URL 
} = process.env;

// 实例化 OpenAI 客户端
const client = new OpenAI({
    apiKey: OPENAI_API_KEY,
    baseURL: OPENAI_BASE_URL
});



这是一种新的写法,更加美观且符合现代编程的最佳实践。

对于程序员来说,这样不仅能显著提升代码的可读性,同时也便于未来的维护和扩展。良好的编码习惯有助于团队协作,提高工作效率。

封装专业接口函数

接下来,我们精心设计了一个名为 genSaleReport 的函数,这个函数不仅承载了向 AI 询问销售数据的任务,还巧妙地将问题转化为易于理解的报告形式。

通过这种方式,即使是对编程不太熟悉的同事也能轻松获取到他们关心的数据分析结果。

const genSaleReport = async (saleData, query) => {
    const prompt = `
    You are an AI assistant that generates sales reports based on the given data.
    Here is the sales data:\n ${saleData} \n\n
    Please generate a report to answer the following questions: \n
    ${query}
    `;

    try {
        let response = await client.chat.completions.create({ 
            model: 'gpt-4o',
            messages: [{ role: 'user', content: prompt }],
            max_tokens: 1000,  
            temperature: 0
        });
        return response.choices[0].message.content;
    } catch (error) {
        console.error('Error generating report:', error);
        throw error; // 或者返回一个默认值,根据需要调整
    }
};



看样子,这就是这里最难处理的部分了,看我如何细细道来。

首先就是定义了一个prompt字符串,其中包含了用于生成报告的销售数据和查询条件,作为我们发给ai的一段消息,那我们是怎么发给它的呢?

往下看,response就是我们调用的ai模型了,在这里,我们使用client.chat.completions.create方法调用OpenAI的API,在这里面我们可以设置它具体是什么模型、消息的内容和其他配置参数,这里我调用的是gpt-4o的模型(比较烧钱,但更好用、可以提供更为精确的回答),也可以使用gpt-3.5-turbo(便宜)。

然后就可以设置我们调用的模型的参数了,首先就是 messages就是我们传入的消息内容,然后就是max_tokens它可以控制了AI生成文本的最大长度(多了要收费)、temperature则影响了生成文本的随机性和创造性。

它在接收到我们的消息后,就会产生回答,我们从AI的响应中提取第一个选择的内容,并将其作为函数的返回值。这种设计既灵活又实用,可以根据不同的需求进行调整。!!

值得一提的是,异步编程和良好的错误处理机制是构建可靠应用程序的关键,通过实现健壮的异步逻辑和详细的错误捕获,我们可以确保程序即使在遇到问题时也能优雅地处理,并为用户提供有意义的反馈。这部分内容值得深入探索,以提升代码的质量和稳定性。

到此为止,我们已经完成了核心功能的开发。接下来的部分将更加简单,主要涉及如何启动整个流程以及展示最终结果,就是小菜了。

添加示例销售数据

这里,我准备了一组简化的销售数据。这些数据涵盖了日期、产品型号、销量、单价及总收入等关键指标。它们将成为我们接下来进行数据分析的基础素材。

// CSV 格式的销售数据
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
`;



执行主函数

最后,我们通过调用 main 函数来启动整个流程,这段代码是将之前所有准备工作的成果汇聚在一起的关键步骤。

在这里,我们将通过query来对gpt-4o进行提问,并期待从 AI 那里获得富有启发性的答案。

这段代码执行后,AI会基于提供的销售数据生成一份详细的报告,帮助我们理解当前的市场情况,并为未来的定价策略提供宝贵的建议。

const main = async () => {
    try {
        const query = `根据上述销售数据,可否制定接下来的产品售价?用中文回答`;
        const report = await genSaleReport(saleData, query); 
        console.log(report);
    } catch (error) {
        console.error('Error in main function:', error);
    }
};

// 执行主函数
main();



就这样,一个简单的openai案例就这样水淋淋的实现了。

结语

结束了,动手试试看,有什么建议,欢迎留言交流。希望这篇文章不仅能够帮助你掌握AI赋能数据采集的基本原理,还能激发你的灵感,在未来的工作中更好地利用AI技术解决问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

黑客&网络安全如何学习**

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。

内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要见下图即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

本文转自 https://blog.youkuaiyun.com/A1_3_9_7/article/details/149256248?spm=1001.2014.3001.5502,如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值