- 博客(9)
- 收藏
- 关注
原创 项目实训 flutter动态加载界面
由于前端在操作时,在等待后端传来的数据的时间内,用户可能进行一些非法操作,因此需要实现个动态加载界面来遮挡。并且在向后端请求时调用,接收到后端回复后关闭。
2024-06-24 04:32:11
390
原创 项目实训 解决缓存穿透,实现高并发
我们使用Redis大部分情况都是通过Key查询对应的值,假如发送的请求传进来的key是不存在Redis中的,那么就查不到缓存,查不到缓存就会去数据库查询。假如有大量这样的请求,这些请求像“穿透”了缓存一样直接打在数据库上。如果数据库中也没有,就会造成无效访问。项目使用布隆过滤器来解决缓存穿透。
2024-06-17 16:22:56
242
原创 项目实训 爬取单词数据构建单词库
项目的AI口语助手决定需要搭建自己的单词库,本周完成了单词的爬虫,共计5万多单词,包含了单词的拼写,翻译,读音,例句,例句翻译。为了提高爬虫效率,代码中同时并行了11个线程进行爬取。2个小时左右就爬取到全部数据。为了克服目标网站的反爬,设置了多个user-agent模拟访问:项目使用scrapy框架,完成对目标网站的解析,爬取数据。将爬取的单词内容存入json里,音频内容存成mp3形式。
2024-06-17 16:17:12
489
原创 项目实训 实现flutter实时语音转文本和字符流输出
在进行前后端对接口时,发现前端使用微软Azure库用来语音转文本效率较低,本周我重写了前端的语音转文本接口,实现了实时转录,同时以字节流的形式显示在页面上,供前端参考。
2024-05-31 14:29:46
1152
原创 项目实训 修复后端存在的部分bug
测试发现后端代码仍存在问题,trainingData和dialog初始化时未分配id,导致最后存储时出现错误,使用雪花id解决这个问题。
2024-05-27 16:01:56
133
原创 项目实训 增加消息确认机制及通信断开转存至mysql
由于websocket是双工通讯,需要建立发送确认机制,避免丢包;在上次设计好实现思路与搭好整体实现框架后,目前实现了websocket+redis存储的核心逻辑。
2024-05-13 21:19:04
141
1
原创 项目实训 websocket通信和redis缓存实现
服务端处理客户端数据,拆分数据。若不存在:放入redis中的房间,将会话正文(并结合本房间历史会话)发给大模型,等待大模型回应。收到回应后,根据redis房间中的历史会话,按照AI会话标记序号,放入房间,随后发送给客户端。会话结束后,将Redis中房间存储拿出修整数据结构,统计训练数据(训练时间、分数),存入数据库,销毁redis房间。由于在与大模型中对话中会产生大量的临时训练数据,并且客户端和移动端需要双向绑定接受消息,所以采用Redis进行缓存服务,使用websocket进行客户端与移动端的通讯。
2024-04-28 22:43:38
404
原创 项目实训 搭建初始可运行版本环境
初步设计使用websocket进行服务端与客户端的通信,使用redis暂存训练对话,训练结束转存至Mysql。
2024-04-21 22:21:11
165
1
原创 项目实训 确定实现思路,寻找数据集
实现思路:使用ASR(自动语音识别)技术,将语音转成文本,通过大模型生成文本,使用TTS(语音合成技术)将文本转成语音。实际上我认为最终的输出的英语口语是一致的,所以只要能够完成正常的语音对话即可。这样大模型的输出结果是AI输出文本和对应的语音。文本类的有极多。
2024-04-14 22:29:14
462
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人