山东大学项目实训(十)

这一次主要对项目的“训练”模块进行了编写。由于原先实现的功能为基础模板功能,即集中实现了“考试”的相关功能,现在借用之前的框架,对日常对话的功能实现。

这一任务从三方面出发:前端编写、后端service、后端controller。

一、前端页面实现

这一前端内容与先前的差异不大,主要区别在于取消了评分机制,然后调用了另一个英语口语对话、日常交流的机器人。

打开界面的钩子函数做了相应的变动,之前是开始考试,这里改为了一个与机器人emma的问候语,并希望对方抛出一个话题。

随后着重写了sendVoiceMessage()函数:

 sendVoiceMessage (blobdata) {
      const formData = new FormData()
      formData.append('file', blobdata, 'user.wav')
      axios.post('/routine/voice', formData, {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      }).then(response => {
        if (response.status === 200) {
          console.log(response.data) // 打印整个 response.data
          const userMsg = response.data.data.body.userMsg
          console.log(isNaN(userMsg))
          // 检查是否存在 response.data.body
          if (isNaN(userMsg)) {
            console.log('JINRULE')
            const usrRes = {
              content: userMsg,
              time: new Date().toLocaleTimeString(),
              isUserMessage: true
            }
            this.messages.push(usrRes)
            this.sendMessage(usrRes.content)
          }
        } else if (response.status === 402) {
          this.$message.error('请输入您的问题')
        }
      }).catch(() => {
        this.$message.error('出错了,请输入您的问题')
      })
      this.inputMessage = ''
    },

二、RoutineService

在serveice只做了accesstoken和url的更改,实现了ai的部署。与其他内容没有冲突,因为这一步没有历史记录等的步骤,与数据库进行交互,具有即时性。

在服务层中,主要进行了accessToken和URL的修改,以实现AI模型的部署。这一修改确保了服务能够正确地与指定的AI模型进行交互,并获取相应的响应结果。由于这一部分的实现没有涉及到复杂的逻辑处理,也不需要历史记录或状态的保存,因此与其他功能模块不存在冲突。同时,这一步骤不涉及与数据库的交互,所有的操作都是即时进行的,这确保了服务的响应速度和实时性。

具体来说,通过修改accessToken,我们可以确保请求的合法性和安全性,而URL的修改则指向了AI模型的新部署位置,确保请求能够正确地到达目标模型。通过这种方式,服务层可以直接将用户输入的信息发送到AI模型,并即时获取生成的响应结果。

这种即时性处理方式非常适合于对话和交互场景,用户输入的信息会实时传递给AI模型,生成的响应也会实时返回,极大地提高了用户体验。同时,由于没有涉及到数据库的读写操作,也减少了系统的复杂性和潜在的性能瓶颈。这种设计既简洁又高效,非常适合于对实时性要求较高的日常训练的应用场景。

三、RoutineController

RoutineController 是一个Spring Boot RESTful 控制器,旨在处理与语音识别和AI对话相关的请求。该控制器提供了两个主要的端点:一个用于语音到文本转换,另一个用于与AI机器人进行交互。

主要功能
  1. 语音到文本转换 (/routine/voice)
  2. AI机器人交互 (/routine/ai-bot)

该控制器有效地实现了从语音到文本的转换,以及与AI机器人的交互,并通过简单的HTTP请求与客户端进行通信。它利用了Spring Boot的注入和RESTful架构,使得整个过程简洁高效,易于维护和扩展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值