AI语音助手在线版本

电脑端大模型部署

安装配置环境

安装配置Python环境

安装Miniconda:传送门

conda create -n ov python=3.10conda activate ov-Qwen

pip换国内源

阿里云开源软件镜像站

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

安装OpenVINO和其它工具包

pip install openvino-genai==2024.3.0 optimum[openvino]pip install opencv-python jupyter notebook openai appbuilder-sdk qianfan

下载Qwen2-7B-Instruct开源大模型

pip install modelscope

modelscope download --model qwen/Qwen2-7B-Instruct

打开Qwen2-7B-Instruct-GGUF模型文件列表,我们选择qwen2-7b-instruct-q5_k_m.gguf并下载:

# 用服务器可行
optimum-cli export openvino --model "qwen/Qwen2-7B-Instruct" --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 "Qwen2-7B-Instruct-int4-ov"

直接下载:

服务器后端搭建

1.Node.js 和 npm下载安装

sudo apt purge nodejs
sudo apt autoremove
sudo apt update
sudo apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs build-essential -ysudo apt install npm

2.创建一个新的项目目录,并初始化一个 Node.js 项目:

mkdir audio-upload-server
cd audio-upload-server
npm init -y

接着,安装需要的依赖库 Express 和 Multer:

# 使用淘宝镜像源
npm config set registry https://registry.npmmirror.com/npm install express multer

3. 创建服务器端代码

在项目根目录中,创建一个 server.js 文件。这将是我们服务器的主文件。

touch server.js

在 server.js 中,编写以下代码:

// 导入所需的库
const express = require('express');
const multer = require('multer');
const path = require('path');
const fs = require('fs');// 创建 Express 应用
const app = express();// 设置文件存储目录
const uploadDirectory = path.join(__dirname, 'uploads');
if (!fs.existsSync(uploadDirectory)) {fs.mkdirSync(uploadDirectory);
}// 使用 Multer 设置文件上传
const storage = multer.diskStorage({destination: function (req, file, cb) {cb(null, uploadDirectory); // 上传的目录},filename: function (req, file, cb) {// 保留原始文件名cb(null, file.originalname);}
});const upload = multer({ storage: storage });// 文件上传的 POST 路由
app.post('/upload', upload.single('file'), (req, res) => {if (!req.file) {return res.status(400).send('No file uploaded.');}// 成功上传console.log('File received:', req.file);res.status(200).send('File uploaded successfully.');
});// 启动服务器,监听端口 3000
app.listen(3000, () => {console.log('Server running at http://localhost:3000');
});

4. 测试服务器

确保服务器已经启动并监听在端口 3000 上,运行以下命令启动服务器:

node server.js

你应该看到控制台显示:

Server running at http://localhost:3000

5. 使用 Postman 或 cURL 测试文件上传

你可以通过命令行使用 cURL 来测试:

curl -X POST http://localhost:3000/upload -F "file=@/home/t/Downloads/recording.pcm"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/444540.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

与 MySQL 建立连接

命令行连接 MySQL 前面介绍了在 Windows 下安装最新版 MySQL 初始化安装步骤,启动 MySQL 服务,记录的初始密码可用于 “root” 账户登录进行相关操作,Windows 和 Linux 命令行操作步骤一样: 上图为 MySQL 的初始密码。在 Windows 下打开 CMD …

EdgeNAT: 高效边缘检测的 Transformer

EdgeNAT: Transformer for Efficient Edge Detection 介绍了一种名为EdgeNAT的基于Transformer的边缘检测方法。 1. 背景与动机 EdgeNAT预测结果示例。(a, b):来自BSDS500的数据集的输入图像。(c, d):对应的真实标签。(e, f):由EdgeNAT检测到的边缘。(e)显示了由于颜色变化…

小学期中考试老师怎么发成绩

随着期中考试的落幕,老师们面临着一项既耗时又易出错的任务——发布成绩。传统的手动统计和通知方式不仅效率低下,还容易出错。现在,有了一种新的在线平台,可以帮助老师们简化这一流程。 这个平台叫做“易查分”,它是一…

【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)

note 内容概况:结合京粉app学习agent的实践 Agent架构:通过模型训练提升LLM识别工具的准确性;设计可扩展并安全可控的agent架构扩展业务能力。记忆:多轮对话应用中如何组织、存储和检索记忆来提升大模型对用户的理解。快捷回复&…

Prescan中的缓和曲线道路spiral road

我主要是针对城市道路作设计,所以主要依据参考:城市道路工程设计规范 CJJ37 -2012 城市道路工程设计规范CJJ37-2012(2016年版) (soujianzhu.cn) 道路的平面线形主要包括直线和平曲线两种形式。直线的几何形状相对固定,缺乏灵活性&#xff0…

水深探测仪的作用和使用方法

在水域救援的行动里,救援人员时刻面临着复杂多变、充满未知的水域状况。当接到救援任务奔赴现场,那片需要涉足的水域就像一个神秘莫测的异世界,挑战着所有人的认知与勇气。 水深探测仪作为一种专用于测量水域深度的设备,通过声波和…

用户和组管理

用户管理 用户管理包括创建用户、修改用户属性、删除用户等操作。 创建用户 使用 useradd 命令可以创建新用户。 格式:useradd [选项] username 步骤1:创建新用户 useradd tom 步骤 2: 设置用户密码 新用户创建后,需要设置一个密码才能…

No.15 笔记 | CSRF 跨站请求伪造

目录 一、基础知识 (一)cookie 和 session、同源策略 (二)CSRF 原理 二、CSRF 类型 (一)GET 类型 (二)POST 类型 三、CSRF 实例讲解 (一)真实案例 &am…

springboot如何自动生成mybatis映射文件、dao、pojo层文件?

背景:以前一直是直接cv一个项目中现成的xml文件,然后再去自己配置mapper等数据。自己准备做一个单独的例子试一下。 步骤1:在pom.xml文件中插入mybatis-generator插件,这里选的版本是1.3.2,然后指定的generator文件是在…

一种用于超稳激光的数字控制锁频电路

摘要 超稳激光具有超高的频率稳定度和极窄线宽等优点,广泛应用于各种精密测量物理实验。为了确保不引入额外开关噪声,其频率锁定电路通常采用模拟电路实现,但是模拟控制电路存在锁定参数调节不方便、难以实现自动锁定和远程控制等方面的不足。…

端口冲突的解决方案以及SpringBoot自动检测可用端口demo

端口冲突的解决方案 端口冲突通常发生在尝试运行两个或多个应用程序或服务时,它们尝试使用同一个端口号,导致系统无法正确分配资源。 各种端口错误 你是否遇到过下面这些报错信息呢? Windows 系统报错: 系统错误 1004 套接字操作…

自适应气泡小计

View 代码 <div class"mas-view"><div class"m-2"><span>新新消息消新消息消息新消息新消息新消息新消息新消息新消息新消息新消息新息</span></div></div>CSS 样式 .mas-view{width: 100%;height: auto;border: 1px…

【unity进阶知识9】序列化字典,场景,vector,color,Quaternion

文章目录 前言一、可序列化字典类普通字典简单的使用可序列化字典简单的使用 二、序列化场景三、序列化vector四、序列化color五、序列化旋转Quaternion完结 前言 自定义序列化的主要原因&#xff1a; 可读性&#xff1a;使数据结构更清晰&#xff0c;便于理解和维护。优化 I…

Kubernetes--深入理解Pod资源管理

文章目录 kubectl --helpapi-resourcesapi-versionskubectl explain ... API资源资源规范PodServiceConfigMapSecret 显示资源删除资源详细描述RESTful API Pod资源管理Pod的核心概念Pod资源配置了解Pod运行状况Kubectl get pods xxxxkubectl describe pods xxxkubectl logs -f…

数据分析:锚定手工赛道,小红书爆文内容解析

导语 高倍速增长&#xff0c;近年手工赛道趋势有目共睹&#xff0c;可谓小红书长盛不衰的内容。 相关话题常年位居热门话题榜TOP30&#xff0c;浏览量超百亿&#xff0c;话题下更是诞生了很多大爆文。小编就来带大家探索下&#xff0c;为何小红书“手工”赛道会如此火热&…

高校党费收缴系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;党费收缴管理&#xff0c;论坛信息管理&#xff0c;新闻动态管理&#xff0c;公告管理&#xff0c;基础数据管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;公告&…

Spring Cloud 配置中心详解:微服务动态读取与案例示范

在微服务架构中&#xff0c;每个微服务往往都有其独立的配置&#xff0c;这些配置可能会根据环境的不同&#xff08;开发、测试、生产&#xff09;进行调整和变化。Spring Cloud 配置中心提供了一种集中化管理和动态更新微服务配置的解决方案。在本文中&#xff0c;我们将详细介…

SpringSecurity(三)——自定义优化器

在SpringSecurity中&#xff0c;如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕 获到。在ExceptionTranslationFilter中会去判断是认证失败还是授权失败出现的异常。 一、自定义验证异常类 创建exception包&#xff0c;在exception包下创建自定义…

centos7.9升级rockylinux8.8

前言 查看centos的版本 &#xff0c;我这台服务器是虚拟机,下面都是模拟实验 升级前一定要把服务器上配置文件&#xff0c;数据等进行备份 [rootlocalhost ~]#cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]#uname -a Linux jenkins_ser…

爱吃蟠桃的孙悟空

文章目录 1. 题目描述2. 实现3. 整体思路4. 函数定义及参数解释5.二分查找过程6.主函数部分 1. 题目描述 2. 实现 #include <iostream> #include <vector> #include <algorithm>using namespace std;int findMinEatingSpeed(vector<int>& piles, …