2025年3月4日 星期二

Dify + Whisper Asr Webservice

Dify + Whisper Asr Webservice

這邊假設你已經成功啟動 dify 的服務

Whisper Asr Webservice

Whisper Asr Webservice 是一個很方便的工具,因為作者已經幫忙把語音轉文字的服務 API 化,對於應用端來說只要做常規的 API 呼叫就可以滿足應用上的需求。

啟動 Whisper Asr Webservice

啟動服務最快的方法就是使用 Docker:

docker run -d -p 9000:9000 -e ASR_MODEL=base -e ASR_ENGINE=openai_whisper \
onerahmet/openai-whisper-asr-webservice:latest
docker run -d --gpus all -p 9000:9000 -e ASR_MODEL=base -e ASR_ENGINE=openai_whisper \
onerahmet/openai-whisper-asr-webservice:latest-gpu

不過要注意自己的 CUDA 版本是否有對應,如果最新版的無法啟動的話就要降版,這取決於你的硬體設備。

OpenAPI 設置

成功啟動 docker container 之後,可以直接連接到 http://你的ip:9000/docs ,沒意外的話你會看到下圖:

openapi image

點擊紅框處的 openapi.json,系統會開啟一個新的視窗顯示一堆 JSON 格式的字串,複製出來後進行以下處理:

  1. infopaths 中間加入 servers
  2. 修正 requestBody 中的 content-type,改為 multipart/form-data; boundary=----WebKitFormBoundarydzemBAPhdeDfTCfR
更多關於模型的選擇與細部配置請參考 Whisper Asr Webservice 官方文件說明。

Dify - 自定義工具設置

進入 Dify 後,點擊「工具」→「建立自定義工具」,貼上剛剛修改的 OpenAPI json 即可建立成功。

custom tool

Dify - 應用流程開發

現在可以在 workflow 中取用自定義的語音轉文字工具:

workflow

設定參數:

params

測試應用:

test

將文字結果轉成問答集:

問題:客戶在聯絡退稅服務時需要提供哪些信息? 答案:...(省略部分內容)... 問題:退稅作業需要多久時間? 答案:退稅大約需要一個星期。 ...(更多問答內容)...

若有興趣,可以將問答轉為主持人與來賓對話,發展成 Podcast 節目;若是公司會議紀錄,也能每日播放當作內部溝通素材。