likes
comments
collection
share

使用 Node.js 和 OpenAI 实现情感分析功能

作者站长头像
站长
· 阅读数 48

介绍

Node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它使得在服务器端运行 JavaScript 成为可能。由于其非阻塞式 I/O 和事件驱动的特性,Node.js 能够高效地处理大量并发连接,适用于构建高性能、可扩展的网络应用程序。Node.js 也具有丰富的生态系统,提供了大量的模块和工具,方便开发者快速构建各种类型的应用。

想象一下,你正在用 JavaScript 编写网页的前端代码,让网页看起来漂亮并且与用户互动。那么,Node.js 就像是 JavaScript 的超级英雄,它让你可以在服务器上运行 JavaScript 代码,从而创建强大的、高性能的网络应用程序。Node.js 让开发者可以用同一种语言(JavaScript)来编写前端和后端的代码,这样就更方便了!

OpenAI

OpenAI 是一个人工智能研究实验室,致力于推动人工智能的发展,并将其带给全球。他们开发了一系列强大的人工智能模型和工具,包括语言模型、自然语言处理工具等。其中,GPT(Generative Pre-trained Transformer)系列模型是 OpenAI 最著名的成果之一,它们能够生成高质量的自然语言文本,用于各种应用领域,如自动摘要、语言翻译、对话生成等。

OpenAI 就像是人工智能的魔法工坊,他们研发了各种神奇的 AI 工具,比如能够聊天、写作、理解语言的 AI 模型。其中最有名的就是 GPT(Generative Pre-trained Transformer)系列模型,它们可以像人一样写文章、回答问题,甚至进行对话!

情感分析的重要性

情感分析是一种自然语言处理技术,旨在识别和理解文本中所表达的情绪和情感。在现代应用中,情感分析具有重要的作用,市场营销、社交媒体分析、客户服务、舆情监控等方面

通过结合 Node.js 和 OpenAI,我们可以构建出一个“能懂人心”的系统,帮助我们更好地理解和应对现实世界中的各种情感和需求。接下来,我们将探讨如何利用这些技术来实现情感分析功能,并展示它们在我们日常生活中的实际应用。

准备工作

1. 安装 Node.js

Node.js 是一个基于 JavaScript 的运行时环境,用于在服务器端运行 JavaScript 代码。要安装 Node.js,可以按照以下步骤进行:

  • 访问 Node.js 官方网站:nodejs.org/
  • 下载适用于你操作系统的 Node.js 安装包,并按照提示进行安装。
  • 安装完成后,你可以在命令行终端中运行 node -v 命令来验证 Node.js 是否成功安装。如果成功安装,将显示安装的 Node.js 版本号。

2. 初始化项目

在开始之前,我们需要初始化一个 Node.js 项目。

  • 在命令行终端中,使用 npm init -y 命令快速生成一个默认的 package.json 文件,用于管理项目的依赖和元数据。

3. 安装 OpenAI 包

OpenAI 提供了一个 Node.js 包,用于与他们的 API 进行交互。你可以按照以下步骤安装 OpenAI 包:

  • 在命令行终端中,使用 npm 命令安装 OpenAI 包:npm install openai

4. 获取 OpenAI API 密钥

要使用 OpenAI 的服务,你需要一个 API 密钥。你可以在 OpenAI 的官方网站注册并获取 API 密钥。 可以按照以下步骤创建并设置 OpenAI API 密钥:

  • 访问 OpenAI 的官方网站,并创建一个账户:openai.com/
  • 登录你的 OpenAI 账户,在账户设置中找到 API 密钥。
  • 复制你的 API 密钥,并妥善保存。

5. 创建 .env 文件

为了保护你的 OpenAI API 密钥和其他敏感信息,我们将它们存储在一个名为 .env 的文件中。.env 文件是一个用来存储环境变量和敏感信息的文件,在项目中非常常见。

  • 在你的项目根目录下,创建一个名为 .env 的文件。
  • .env 文件中,添加以下内容,并将你的 API 密钥替换为实际的密钥:
   OPENAI_API_KEY=your-api-key-here

代码实现

1. 引入本地 openai 模块 和 设置系统环境变量

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

这两行代码首先引入了 dotenv 模块,用于读取 .env 文件中的环境变量。然后引入了 openai 模块,这个模块是用来与 OpenAI API 进行交互的。通过调用 config() 方法,我们加载了 .env 文件中定义的环境变量。

2. 实例化 OpenAI 客户端

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

在这段代码中,我们使用 new 关键字实例化了一个 OpenAI 客户端。我们传入了一个包含 API 密钥和基础 URL 的对象作为参数。API 密钥是从环境变量中获取的,这样就可以保护敏感信息,并且使用了特定的基础 URL。

3. 定义异步函数 main() 来执行任务

async function main() {
    // ... 代码
}

在这里,我们定义了一个名为 main 的异步函数,它将用于执行我们的任务。这样做是为了确保我们的代码在异步操作完成后执行,以便获取结果。

4. 为 AI 提供实例,分析

let prompt = `
        判断一下用户的评论情感是正面的还是负面的:
        评论:买的银色版真的好看,一天就到了,晚上就开始拿起来玩系统很丝滑流畅,做工精细、
        扎实,手感细腻,很精致,华为一如既往的好品质。
        情感:正面
        评论:随意降价,不予保价,服务态度差
        情感:负面
    `

    let myPrompt = `
        ${prompt}
        评论:实话说,iPhone越来越没有创新了,你买我不推荐,散了
        情感:
    `

5. 发送评论并获取情感分析结果

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

在这一部分,我们调用了 OpenAI 客户端的 chat.completions.create 方法,这个方法用于发送聊天消息并获取 AI 生成的回复。我们传入了一个包含用户消息内容的对象数组作为参数,并指定了使用的模型。使用 await 关键字确保在获取完整个聊天结果后才继续执行后续代码。

6. 输出情感分析结果

console.log(chatCompletion.choices[0]);

使用 Node.js 和 OpenAI 实现情感分析功能

最后,我们将通过 console.log() 方法输出情感分析的结果。这个结果是从 OpenAI 返回的聊天消息中提取的,其中包含了对用户评论的情感判断结果。

代码整合:

// 引入本地(node_modules) openai 模块 依赖node-fetch等
// package.json 项目描述文件,里面定义了项目名称、版本号、作者等信息。dependencies
// 类 require 关键字
// 系统环境变量
// 进程的环境变量
require('dotenv').config();
const OpenAI = require('openai');
// 实例化OpenAI
const client = new OpenAI({
    // key
    api_Key: process.env.OPENAI_API_KEY,
    // proxy 代理
    baseURL: 'https://api.chatanywhere.tech/v1'
});
async function main() {
    // 根据用户发表的评论,正面/负面
    let prompt = `
        判断一下用户的评论情感是正面的还是负面的:
        评论:买的银色版真的好看,一天就到了,晚上就开始拿起来玩系统很丝滑流畅,做工精细、
        扎实,手感细腻,很精致,华为一如既往的好品质。
        情感:正面
        评论:随意降价,不予保价,服务态度差
        情感:负面
    `
    let myPrompt = `
        ${prompt}
        评论:实话说,iPhone越来越没有创新了,你买我不推荐,散了
        情感:
    `
    // client openai实例
    // chat 是以聊天的方式
    // completions AIGC open 生成正面或者负面,LLM 大模型来完成
    // AI 自然语言处理 GC 生成内容
    const chatCompletion = await client.chat.completions.create({
        // 聊天的上下文
        messages: [{ role: 'user', content: myPrompt }],
        // 模型
        // gpt-3.5-turbo-0301
        model: 'gpt-3.5-turbo',
        // n: 1
    })
    console.log(chatCompletion.choices[0]);
}
main();

整个代码完成了与 OpenAI 进行交互,并使用其提供的模型来进行情感分析任务。

总结

以上便是Node.js 和 OpenAI 实现情感分析的过程。通过配置环境变量和 API 密钥,我们能够与 OpenAI 进行交互,并使用其提供的模型来执行情感分析任务。我们详细介绍了代码实现的步骤,包括环境配置、代码编写以及功能扩展的可能性。情感分析在市场营销、客户服务、社交媒体监控等领域具有广泛的应用价值,通过本文所述的方法,开发人员可以轻松地利用现有工具来处理自然语言数据,并更好地理解用户情感。

如果你觉得有学到东西,希望点赞收藏。

转载自:https://juejin.cn/post/7370895432567947314
评论
请登录