AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


node.js+AIGC:对输入的评论进行情感分析
发布日期:2024-05-26 09:38:55 浏览次数: 1788 来源:稀土掘金技术社区


前言

在当今数字化转型的浪潮中,Node.js作为一款流行的服务器端JavaScript运行环境,凭借其非阻塞I/O模型和事件驱动的特性,已成为构建高性能、可扩展网络应用的首选技术栈之一。

与此同时,人工智能生成内容(AIGC)的兴起,正引领着内容创造与数据分析领域的革新。结合Node.js的强大功能与AIGC的智能化优势,我们可以开创性地解决诸多实际问题,其中之一便是对用户评论的情感智能分析。

正文

目的

通过node.js和AIGC实现对用户输入的评论进行情感分析,输出负面或正面。

Node.js与AIGC:技术融合的力量

Node.js的角色:作为后端开发的明星,Node.js以其卓越的并发处理能力,成为实时数据处理的理想平台。

它允许开发者使用JavaScript这一广泛熟悉的语言,快速构建RESTful API、处理网络请求,以及整合各种机器学习和AI服务,为情感分析系统提供高效、可扩展的基础设施。

AIGC的创新应用:AIGC,特别是基于机器学习的情感分析模型,通过学习大量标注数据,能够自动识别文本中的情感倾向,包括但不限于喜悦、悲伤、愤怒、惊讶等。

这些模型在Node.js环境中,可以通过API调用的方式集成,实现对用户评论的即时情感分类和深度理解。

实现步骤

准备步骤

  1. 创建一个新的 Node.js 项目并初始化一个默认的 package.json 文件。

    npm init -y
  2. 安装openai模块。

    npm i openai
  3. 安装dotenv模块。

    npm i dotenv

    dotenv模块用于从.env文件中加载环境变量。

  4. 获取API密钥。

    获取API密钥传送门——https://github.com/chatanywhere/GPT_API_free

    进入后向下滑,点击"申请领取内测免费API Key"。

  1. 在项目的根目录下创建一个.env文件。

    在该项目中可以将获得的API密钥放入.env文件中,避免将密钥直接写在代码中,减少密钥在代码仓库等公开环境中暴露的风险。

    OPENAI_API_KEY=你的API密钥

引入openai模块并加载环境变量

const OpenAI = require('openai');
require('dotenv').config();

实例化对象

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

通过OpwnAI创建一个实例对象client,为其设置API密钥和特定的基础URL等参数。

通过process.env.OPENAI_API_KEY从当前运行环境变量中获取OPENAI_API_KEY的值(也就是在.env文件中找到我们设置的API密钥)。

获取输入的评论

process.stdin.on('data', (buffer) => {
    const comment = buffer.toString().trim();
}

对标准输入进行监听。当有数据输入时,会触发 'data' 事件,传入的参数 buffer 是包含输入数据的缓冲区。

然后通过 buffer.toString().trim() 将缓冲区数据转换为字符串并去除两端的空白,得到输入的实际内容,并将其存储在 comment 变量中。

定义情感分析函数

async function main({
        
        let prompt = `
    判断一下用户的评论情感是正面的还是负面的
    评论:我非常喜欢这个产品,它非常实用。
    情感:正面。
    评论:这个产品非常糟糕,我无法使用它。
    情感:负面。
    `


        let myPrompt = `
    ${prompt}
    评论:${comment}
    情感:
    `

        
        const chatCompletion = await client.chat.completions.create({
            messages: [
                {
                    role'user',
                    content: myPrompt
                }],
            model'gpt-3.5-turbo',
            n1
        })
        console.log(chatCompletion.choices[0]);
    }
  1. 定义prompt字符串存放如何判断情感的示例。
  2. 根据用户输入的commentprompt组合在一起形成myPrompt(新的提示指令)。
  3. 使用 client.chat.completions.create 方法向 OpenAI 发送请求,参数包括一个包含 myPrompt 的消息数组(这里只有一个用户消息)、指定模型 gpt-3.5-turbo 以及设置生成数量为 1
  4. 最后将生成的聊天完成结果的第一个选择打印到控制台。

完整代码

const OpenAI = require('openai');
require('dotenv').config()

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

process.stdin.on('data', (buffer) => {
    const comment = buffer.toString().trim();
    async function main({
        
        let prompt = `
    判断一下用户的评论情感是正面的还是负面的
    评论:我非常喜欢这个产品,它非常实用。
    情感:正面。
    评论:这个产品非常糟糕,我无法使用它。
    情感:负面。
    `


        let myPrompt = `
    ${prompt}
    评论:${comment}
    情感:
    `

        
        const chatCompletion = await client.chat.completions.create({
            messages: [
                {
                    role'user',
                    content: myPrompt
                }],
            model'gpt-3.5-turbo',
            n1
        })
        console.log(chatCompletion.choices[0]);
    }

    main()
})

实现效果

输入“这个商品很差劲”得到的情感分析是负面的。

输入“遥遥领先”得到的情感分析是正面的。

小结

通过将Node.js与AIGC技术相结合,我们不仅能够打造出高效的情感分析解决方案,还能够开启更多创新应用的大门,如个性化推荐、智能客服、舆情监控等。

这不仅仅是技术的堆砌,而是一场关于如何更好地理解和回应用户情感,从而驱动产品与服务持续优化的革命。随着技术的不断成熟与融合,未来的数字世界将更加智能、更加人性化。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询