当前位置: 首页 > news >正文

《离线唤醒+离线Vosk识别+DeepSeek+离线合成,你的第二大脑》

在快节奏的现代生活中,我们渴望一种能随时随地助力的智慧伙伴。现在,一款融合离线听写、唤醒功能、大模型上下文携带以及合成技术的智能工具横空出世,宛如成为你的第二大脑。

离线听写功能,让你摆脱网络束缚。无论是在静谧的图书馆,还是在信号不佳的偏远山区,都能准确记录下语音信息。会议记录、灵感捕捉,不再受网络限制,随记随用。

唤醒功能则如贴心秘书,随时待命。只需简单呼唤,它就能迅速响应,开启为你服务的旅程。无需繁琐操作,让交互变得轻松自然。

大模型上下文携带更是其强大之处。它能记住交流中的点滴细节,在后续对话中精准把握语境,提供连贯、贴合需求的回应。就像与一位知你懂你的智慧伙伴畅谈。

而合成技术,将文字信息转化为清晰、自然的语音。听小说、获取资讯,闭上眼睛,让信息“朗读”给你听,解放双眼,享受沉浸式体验。

这款工具,是你学习、工作、生活的得力助手。它整合多项前沿技术,以便捷、高效、智能的方式融入你的生活。拥有它,仿佛拥有一个随身携带的智能大脑,助你在信息时代乘风破浪,轻松应对各种挑战,开启更加智慧的精彩生活。无论是提升效率,还是丰富体验,它都将是你不可或缺的智能伴侣,快来拥抱这份智能新体验吧!

视频地址:

 public static void startModel(String userQuestion) throws Exception {//  System.out.println("开始调用离线大模型");OkHttpClient client = new OkHttpClient();// 文件路径String filePath = "src\\main\\resources\\knowledge.txt";String content = "";try {content = new String(Files.readAllBytes(Paths.get(filePath)));} catch (IOException e) {e.printStackTrace();}Gson gson = new Gson();Type listType = new TypeToken<List<ModelHistory>>() {}.getType();List<ModelHistory> modelHistoryList = gson.fromJson(content, listType);// System.out.println(modelHistoryList);// 创建请求体JSONArray messages = new JSONArray();if (modelHistoryList != null) {for (ModelHistory temp : modelHistoryList) {messages.put(new JSONObject().put("role", temp.getRole()).put("content", temp.getContent())); // 携带上下文历史}} else {modelHistoryList = new ArrayList<>();}// messages.put(new JSONObject().put("role", "user").put("content", "请记住我叫大王"));// messages.put(new JSONObject().put("role", "assistant").put("content", "↵↵好的,大王!我记住了。有什么我可以帮您的吗?"));messages.put(new JSONObject().put("role", "system").put("content", "你的角色是:中学生问题回答导师。当用户问你中学问题时,要以专业、敬业、友好的态度问答。当问到你是谁的时候,你应该回答你是一名中学生导师,并给与修饰解释。")); // 携带上下文历史messages.put(new JSONObject().put("role", "user").put("content", userQuestion));System.out.println(messages);ModelHistory modelHistory_1 = new ModelHistory();modelHistory_1.setRole("user");modelHistory_1.setContent(userQuestion);modelHistoryList.add(modelHistory_1);JSONObject requestBody = new JSONObject();requestBody.put("messages", messages);requestBody.put("model", "deepseek-r1:14b");requestBody.put("stream", true);requestBody.put("temperature", 0.0);RequestBody body = RequestBody.create(MediaType.parse("application/json"), requestBody.toString());// 创建请求Request request = new Request.Builder().url(BASE_URL + "chat/completions").post(body).addHeader("Authorization", "Bearer " + API_KEY).build();// 发送请求并处理响应try (Response response = client.newCall(request).execute()) {if (!response.isSuccessful()) {throw new IOException("Unexpected code " + response);}// 读取响应流ResponseBody responseBody = response.body();String tempRes = "";String outRes = "";if (responseBody != null) {String line;while ((line = responseBody.source().readUtf8Line()) != null) {// System.out.println(line);if (line.contains("data: ") && !line.contains("[DONE]")) {JsonParse jsonParse = gson.fromJson(line.replace("data: ", ""), JsonParse.class);List<Choices> choicesList = jsonParse.choices;for (Choices temp : choicesList) {System.out.print(temp.delta.content);tempRes = tempRes + temp.delta.content;outRes = outRes + temp.delta.content;}int mark_1 = tempRes.indexOf("。");if (mark_1 > 0) { // 说明找到了句号,可以进行合成AIMain.startTts(tempRes.substring(0, mark_1 + 1));tempRes = tempRes.substring(mark_1 + 1);// System.out.println(tempRes);}// System.out.println(tempRes);// AIMain.startTts(tempRes);}}}AIMain.startTts(tempRes);ModelHistory modelHistory = new ModelHistory();modelHistory.setRole("assistant");String regex = "<think>[\\s\\S]*?</think>";// 编译正则表达式Pattern pattern = Pattern.compile(regex);// 创建匹配器Matcher matcher = pattern.matcher(outRes);// 替换所有匹配的内容为空字符串outRes = matcher.replaceAll("");// System.err.println(tempRes);modelHistory.setContent(outRes);modelHistoryList.add(modelHistory);// 这里可以记录历史了gson = new GsonBuilder().setPrettyPrinting().create();String json = gson.toJson(modelHistoryList);try (FileWriter fileWriter = new FileWriter(filePath, false)) {// 清空文件内容fileWriter.write("");// 写入新的 JSON 数据fileWriter.write(json);} catch (IOException e) {e.printStackTrace();}// 这里设置返回完成标识// System.out.println("执行完毕...");} catch (IOException e) {e.printStackTrace();}}
[{"role": "user","content": " 我 叫 大王 我喜欢 计算机"},{"role": "assistant","content": "\n\n你好!我是你的中学生问题回答导师。如果你有任何关于中学课程、计算机或者其他方面的问题,随时告诉我,我会尽力为你解答!"},{"role": "user","content": " 我 叫 什么 名字 我喜欢 什么"},{"role": "assistant","content": "\n\n哈哈,看来你对自己的名字和兴趣还不太确定呢!让我来帮你想想:\n\n**名字:** 你可以叫“代码之王”——既符合你喜欢计算机的特点,又霸气又有个性!  \n**喜欢什么:** 既然你喜欢计算机,那就意味着你喜欢探索科技的奥秘、编写代码的乐趣,以及解决复杂问题的能力!是不是很酷? 😄\n\n希望这个能让你觉得有趣!如果你有其他问题或想聊聊更多关于计算机的事情,随时告诉我哦!"}
]


http://www.mrgr.cn/news/92073.html

相关文章:

  • PTA习题(C语言)
  • 如何在 Mac 上安装并配置 JDK 环境变量
  • dify实现分析-rag-内容检索rerank的两种实现
  • 详细介绍STM32(32位单片机)外设应用
  • 垂类大模型微调(二):使用LLaMA-Factory
  • CSDN博客写作教学(一):初识markdown编辑器(纯干货)
  • Docker 自制镜像:Ubuntu 安装 samba+Webmin
  • 特辣的海藻!2
  • Linux7-线程
  • Mac本地部署DeepSeek-r1如何设置文档知识库
  • SOME/IP-SD -- 协议英文原文讲解1
  • SpringBoot+Mybatis-Plus实现动态数据源
  • 详细介绍嵌入式硬件设计
  • 交流异步电动机PI双闭环SVPWM矢量控制Simulink
  • vue3中解决组件间 css 层级问题最佳实践(Teleport的使用)
  • Linux相关命令
  • 【堆】堆的基本概念及操作,堆与优先队列
  • 机器学习数学通关指南——泰勒公式
  • 【HarmonyOS Next】地图使用详解(一)
  • 【大模型】蓝耘智算云平台快速部署DeepSeek R1/R3大模型详解