【嘗試】本地部署openai-whisper,通過 http請求識別

安裝whisper的教程,已在

https://blog.csdn.net/qq_23938507/article/details/149394418

https://blog.csdn.net/qq_23938507/article/details/149326290

中說明。

1、創建whisperDemo1.py

from fastapi import FastAPI, UploadFile, File
import whisper
import osapp = FastAPI()# 加載Whisper模型
model = whisper.load_model("medium")  # 可替換為 small/medium/large@app.post("/transcribe/")
async def transcribe_audio(file: UploadFile = File(...)):try:# 臨時保存上傳的文件[7](@ref)temp_path = f"temp_{file.filename}"with open(temp_path, "wb") as f:f.write(await file.read())# 使用Whisper轉錄[7](@ref)result = model.transcribe(temp_path)# 刪除臨時文件os.remove(temp_path)return {"text": result["text"]}except Exception as e:return {"error": str(e)}

2、創建request001.py

import requestsdef upload_file(file_path, server_url):try:# 以二進制模式打開文件并上傳[8](@ref)[9](@ref)with open(file_path, 'rb') as f:files = {'file': f}response = requests.post(server_url, files=files, timeout=600)# 檢查響應狀態碼[9](@ref)if response.status_code == 200:try:# 嘗試解析JSON響應[3](@ref)result = response.json()print("上傳成功,轉錄結果:", result['text'])except ValueError:print("服務器返回非JSON響應:", response.text)else:print(f"上傳失敗,狀態碼:{response.status_code}\n響應內容:{response.text}")except FileNotFoundError:print(f"錯誤:文件 {file_path} 不存在")except requests.exceptions.RequestException as e:print(f"網絡請求失敗:{e}")# 使用示例
if __name__ == "__main__":upload_file(file_path="001.mp3",server_url=" http://127.0.0.1:8000/transcribe/")

3、運行whisperDemo1

在終端輸入:

uvicorn whisperDemo1:app --host 0.0.0.0 --port 8000

可以通過pip安裝uvicorn、fastapi

可以驗證服務是否 有開啟成功

啟動后,在瀏覽器輸入:

127.0.0.1:8000/docs

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92939.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Visual Studio 的常用快捷鍵

Visual Studio 作為主流的開發工具,提供了大量快捷鍵提升編碼效率。以下按功能分類整理常用快捷鍵,涵蓋基礎操作、代碼編輯、調試等場景(以 Visual Studio 2022 為例,部分快捷鍵可在「工具 > 選項 > 環境 > 鍵盤」中自定…

Triton Server部署Embedding模型

在32核CPU、無GPU的服務器上,使用Python后端和ONNX后端部署嵌入模型,并實現并行調用和性能優化策略。方案一:使用Python后端部署Embedding模型 Python后端提供了極大的靈活性,可以直接在Triton中運行您熟悉的sentence-transformer…

Java動態調試技術原理

本文轉載自 美團技術團隊胡健的Java 動態調試技術原理及實踐, 通過學習java agent方式進行動態調試了解目前很多大廠開源的一些基于此的調試工具。 簡介 斷點調試是我們最常使用的調試手段,它可以獲取到方法執行過程中的變量信息,并可以觀察到方法的執…

人工智能-python-OpenCV 圖像基礎認知與運用

文章目錄OpenCV 圖像基礎認知與運用1. OpenCV 簡介與安裝OpenCV 的優勢安裝 OpenCV2. 圖像的基本概念2.1. 圖像的存儲格式2.2. 圖像的表示3. 圖像的基本操作3.1. 創建圖像窗口3.2. 讀取與顯示圖像3.3. 保存圖像3.4. 圖像切片與區域提取3.5. 圖像大小調整4. 圖像繪制與注釋4.1. …

Windows電腦添加、修改打印機的IP地址端口的方法

本文介紹在Windows電腦中,為打印機添加、修改IP地址,從而解決電腦能找到打印機、但是無法打印問題的方法。最近,辦公室的打印機出現問題——雖然在電腦的打印機列表能找到這個打印機,但是選擇打印時,就會顯示文檔被掛起…

告別復雜配置!Spring Boot優雅集成百度OCR的終極方案

1. 準備工作 1.1 注冊百度AI開放平臺 訪問百度AI開放平臺 注冊賬號并登錄 進入控制臺 → 文字識別 → 創建應用 記錄下API Key和Secret Key 2. 項目配置 2.1 添加依賴 (pom.xml) <dependencies><!-- Spring Boot Web --><dependency><groupId>o…

「iOS」——內存五大分區

UI學習iOS-底層原理 24&#xff1a;內存五大區總覽一、棧區&#xff08;Stack&#xff09;1.1 核心特性1.2 優缺點1.3函數棧與棧幀1.3 堆棧溢出風險二、堆區&#xff08;Heap&#xff09;;2.1 核心特性2.2 與棧區對比三、全局 / 靜態區&#xff08;Global/Static&#xff09;3.…

每日一題【刪除有序數組中的重復項 II】

刪除有序數組中的重復項 II思路class Solution { public:int removeDuplicates(vector<int>& nums) {if(nums.size()<2){return nums.size();}int index 2;for (int i 2; i < nums.size();i ) {if(nums[i] ! nums[index-2]) {nums[index]nums[i];}}return ind…

兼容性問題記錄

1、dialog設置高度MATCH_PARENT全屏后&#xff0c;三星機型和好像是一加&#xff0c;會帶出頂部狀態欄&#xff0c;設置隱藏狀態欄屬性無效。解決方法&#xff1a;高度不設置為MATCH_PARENT&#xff0c;通過windowmanager.getdefaultdisplay來獲取并設置高度&#xff0c;再設置…

6.數組和字符串

在C語言中&#xff0c;數組和字符串是基礎且重要的概念。它們用于存儲和操作一系列相同類型的元素或字符序列。數組1. 數組定義與初始化數組是一系列相同類型的數據項的集合&#xff0c;這些數據項可以通過一個共同的名字來引用。數組中的每個元素都有一個索引&#xff08;也稱…

odoo代碼分析(一)

Odoo 是一套基于網絡的開放式源代碼商業應用套件,既可以作為獨立應用運行,也可以作為集成的全功能 ERP 系統使用。Odoo 平臺采用模塊化架構,允許組織根據自身需求起步,并在需求增長時擴展功能。 什么是 Odoo? Odoo 提供了一個完整的商業應用生態系統,包括: 客戶關系管…

從“人工眼”到‘智能眼’:EZ-Vision視覺系統如何重構生產線視覺檢測精度?

制造業是我國實體經濟的基礎&#xff0c;是國內經濟增長的重要引擎。制造業智能化建設是當下的必然趨勢&#xff0c;然而目前依舊有很多中小型企業因為成本原因&#xff0c;無法加快智能化制造的步伐。在智能檢測領域更是如此&#xff0c;很多企業依舊在采用人工檢測&#xff0…

Etcd原理基礎學習

etcd 是一個開源的分布式鍵值存儲系統&#xff0c;專注于提供高可用性、強一致性的數據存儲與訪問&#xff0c;廣泛應用于分布式系統的服務發現、配置管理和協調任務。以下是其核心特性和應用場景的詳細介紹。接下來就看看Etcd如何實現服務注冊&#xff0c;以及如何通過Raft算法…

【硬件-筆試面試題】硬件/電子工程師,筆試面試題-32,(知識點:模數轉換器,信噪比,計算公式,)

目錄 1、題目 2、解答 步驟一&#xff1a;明確理想 ADC 的信噪比公式 步驟二&#xff1a;推導公式的來源 步驟三&#xff1a;得出答案 3、相關知識點 一、信噪比&#xff08;SNR&#xff09;的定義 二、理想 ADC 的量化噪聲 三、滿量程正弦波信號的功率 四、信噪比公…

Redis過期數據的刪除策略是什么?有哪些?

定時刪除&#xff1a;- 每個設置了TTL的key中都會創建一個計時器&#xff0c;等到過期時間就會立即刪除- 對內存友好&#xff0c;但是會占用大量的CPU資源去處理過期數據&#xff0c;從而影響緩存的吞吐量和響應時間惰性刪除&#xff1a;- 設置了key的過期后&#xff0c;不會立…

linux dd命令詳解

dd 是一個功能強大的 Unix/Linux 命令行工具&#xff0c;用于低級別的字節流操作&#xff0c;常用于創建、復制、轉換和處理文件或設備數據。它在 macOS 和 Linux 系統上都可用&#xff0c;但在 macOS 上有一些細微差異。本文將詳細講解 dd 命令的用法&#xff0c;包括參數、常…

多線程同步技術是用于協調多個線程訪問共享資源或執行順序的機制,以避免數據競爭、死鎖、線程不安全等問題

多線程同步技術是用于協調多個線程訪問共享資源或執行順序的機制,以避免數據競爭、死鎖、線程不安全等問題。 在提供的代碼中,存在多線程操作加熱板的場景,涉及鎖競爭和硬件資源訪問,優化多線程同步可以顯著提升程序性能和穩定性。 以下是多線程同步技術的詳細解釋、常見…

CRMEB標準版,從創建數據表到實現最基礎增刪改查的實現過程

很多使用了CRMEB單商戶系統的童鞋在進行二開的時候&#xff0c;都會遇到新建了數據表之后不知道對數據表怎么進行操作。那么&#xff0c;這篇文章將帶你完整的實現一遍&#xff0c;以后就不會怕啦。一、創建數據表就以最簡單的為例&#xff0c;創建一個學生的信息表編號姓名性別…

J2EE模式---數據訪問對象模式

數據訪問對象模式基礎概念數據訪問對象模式&#xff08;Data Access Object Pattern&#xff0c;簡稱 DAO 模式&#xff09;是一種結構型設計模式&#xff0c;其核心思想是將數據訪問邏輯與業務邏輯分離&#xff0c;通過一個抽象層&#xff08;DAO&#xff09;來處理數據的持久…

【OpenCV篇】OpenCV——02day.圖像預處理(1)

目錄 前言 一、圖像色彩空間轉換 1 RGB顏色空間 2 顏色加法 3 顏色加權加法 4 HSV顏色空間 5 RGB轉Gray(灰度) 二、灰度實驗 1 灰度圖 2 最大值法 3 平均值法 4 加權均值法 5 兩個極端的灰度值 三、圖像二值化處理 二值圖像 1 閾值法(THRESH_BINARY) 2 反閾值…