女朋友说我听不懂她的话,写个情感分析AI试试

由于图片源限制,部分外链动图显示异常,为了更好的阅读体验,大家可以看我的文章首发地址:女朋友说我听不懂她的话,写个情感分析AI试试
在这里插入图片描述


引言

有女朋友的同学一定会遇到这样一个问题,经常被女朋友嫌弃听不到他们的话,最后两个人闹得不愉快。这不,这几天因为和女朋友沟通出了问题,把我拉黑了。哎,女人心,海底针啊!

于是,我突发奇想,为什么不尝试用技术的方式分析情感,看看我的表达是否足够贴近她的期待呢?于是,我决定自己开发一个简单的“女友情感分析工具”,通过AI技术,分析女朋友言语中的情感,判断她开心、平静还是生气!

这样,我岂不要走向人生巅峰?

实现目标

这篇文章,我将完整展示如何实现这个情感分析工具,包括从前端 Vue 3 技术栈、后端 Koa 服务到 AI接口调用,一步步实现整个流程。最终的效果大致如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传如图:大致效果就是:用户可以输入一段话,点击按钮分析后,工具会返回情感倾向的概率数据,并用柱状图展示分析结果。

技术方案

整个项目的核心其实非常简单,就是调用AI接口分析用户输入的语言,分析后将特定的数据返回给前端,前端做响应的数据处理展示。

市场上AI大模型有很多,国产的如豆包文心一言通义千问kimi 等。考虑到免费、SDK调用简单等因素,本文使用Kimi的月之暗Moonshot模型。关于Kimi的api调用,本文不做过多的赘述,请参考我的其他文章

整个项目分为前端与后端两部分,前端部分用于提交用户输入的数据,与后端进行交互,请求文本分析接口,最终以以柱状图形式展示情感分析结果。后端部分是项目的核心,采用Koa 搭建服务,提供一个接口(调用kimi的模型),最终将数据以特定的json形式返回给前端。

技术实现

后端实现

搭建基础 Koa 服务

我们从最基础的 Koa 框架入手,实现一个最简单的服务。首先通过npm i koa安装依赖并初始化项目,然后,创建 app.js 文件,写入如下代码:

// 引入 Koa 框架依赖
const Koa = require("koa");

// 创建 Koa 实例
const app = new Koa();

// 启动服务器监听3000端口
app.listen(3000, () => {
   
  console.log("服务已启动,监听 http://localhost:3000");
});

创建访问路由

const Koa = require("koa");
const Router = require("@koa/router");
const cors = require("koa2-cors"); // 引入 CORS 中间件

const app = new Koa();
const router = new Router();

// 添加跨域支持
app.use(cors());

// 定义情感分析的 HTTP 接口
router.post("/analyze", async (ctx) => {
   
  const {
    text } = ctx.request.body;
  // 逻辑处理
  ctx.body = "这是要返回给前端的数据";
});

// 启用解析 JSON 请求体的中间件
app.use(require("koa-bodyparser")());
app.use(router.routes());
app.use(router.allowedMethods());

// 启动 HTTP 服务器
app.listen(3000, () => {
   
  console.log("服务已启动,监听 http://localhost:3000");
});

上面的代码定义了一个用于情感分析的 POST 接口,提供给前端得调用路径是http://localhost:3000/analyze"。

为了提高代码兼容性,我们同时启用了跨域请求支持和解析 JSON 请求体的中间件:

  • 默认 Koa 并不直接支持路由功能,我们引入@koa/router 用来管理不同 URL 地址与其响应逻辑的绑定。
  • koa2-cors 是 Koa 框架中用于支持跨域请求的中间件。

在上面的接口中,我们通过ctx.body 设置服务端响应内容发送给前端,我们现在只需要根据用户输入的值,调用AI接口,设置ctx.body 的值即可。

集成 kimi AI模型配置

const Koa = require("koa");
const Router = require("@koa/router");
const cors 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值