SherryLiu пре 4 месеци
родитељ
комит
d4938c6ef8
3 измењених фајлова са 0 додато и 100 уклоњено
  1. 0 5
      environment.env
  2. 0 6
      error_correction.py
  3. 0 89
      whisper_simple.py

+ 0 - 5
environment.env

@@ -1,5 +0,0 @@
-# Choozemo
-SUPABASE_URI = "postgresql://postgres:chuz8310xsystex@db.ptt.cx:5432/postgres"
-SUPABASE_URL = "http://db.ptt.cx:8000/"
-SUPABASE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q"
-OPENAI_API_KEY = "sk-proj-kGQPjKXup6g5QmjWvN3GT3BlbkFJDOYyhv8auoHBDIznmbgj"

+ 0 - 6
error_correction.py

@@ -1,6 +0,0 @@
-error_correction = {
-    "看拳": "碳權",
-    "看盤插": "碳盤查",
-    "盤插": "盤查",
-    "看":"碳"
-}

+ 0 - 89
whisper_simple.py

@@ -1,89 +0,0 @@
-# 供資策會課程使用
-import os
-import argparse
-from openai import OpenAI
-from dotenv import load_dotenv
-
-load_dotenv('environment.env')
-client = OpenAI()
-
-system_prompt = """你是一位專業的轉錄校對助理,專門處理有關溫室氣體、碳排放和碳管理的對話轉錄。
-你的任務是:
-1. 確保以下專業術語的準確性:溫室氣體、碳排放、碳管理、碳盤查、碳權交易、碳足跡、淨零排放、碳權。
-2. 在必要時添加適當的標點符號,如句號、逗號,並使用正確的大小寫。
-3. 使用台灣的繁體中文,確保語言表達符合台灣的用語習慣。
-4. 只更正明顯的錯誤或改善可讀性,不要改變原文的意思或結構。
-5. 不要回答問題、解釋概念或添加任何不在原文中的信息。
-6. 如果原文是一個問句,保持它的問句形式,不要提供答案。
-
-請只根據提供的原文進行必要的更正,不要添加或刪除任何實質性內容。"""
-
-def transcribe(audio_file):
-    try:
-        transcript = client.audio.transcriptions.create(
-            file=audio_file,
-            model="whisper-1",
-            response_format="text"
-        )
-        return transcript
-    except Exception as e:
-        print(f"轉錄時發生錯誤:{str(e)}")
-        return None
-
-def post_process_transcript(transcript):
-    messages = [
-        {"role": "system", "content": system_prompt},
-        {"role": "user", "content": f"請校對並修正以下轉錄文本,但不要改變其原意或回答問題:\n\n{transcript}"}
-    ]
-
-    response = client.chat.completions.create(
-        model="gpt-3.5-turbo",
-        temperature=0,
-        messages=messages
-    )
-
-    return response.choices[0].message.content
-
-def process_audio_file(file_path):
-    try:
-        with open(file_path, "rb") as audio_file:
-            print(f"\n處理文件:{os.path.basename(file_path)}")
-            
-            raw_transcript = transcribe(audio_file)
-            if raw_transcript is None:
-                return
-
-            print("\n原始轉錄:")
-            print(raw_transcript)
-
-            corrected_transcript = post_process_transcript(raw_transcript)
-            print("\n修正後的轉錄:")
-            print(corrected_transcript)
-
-    except Exception as e:
-        print(f"處理文件 {os.path.basename(file_path)} 時發生錯誤:{str(e)}")
-
-def process_folder(folder_path):
-    processed_files = 0
-
-    for filename in os.listdir(folder_path):
-        if filename.endswith((".mp3", ".wav", ".m4a")):  
-            file_path = os.path.join(folder_path, filename)
-            process_audio_file(file_path)
-            processed_files += 1
-
-    print("\n=== 總結 ===")
-    print(f"處理的文件數:{processed_files}")
-
-def main():
-    parser = argparse.ArgumentParser(description="處理音頻文件使用 Whisper 和 GPT-3.5-turbo")
-    parser.add_argument("--folder", default="data", help="包含音頻文件的文件夾路徑(默認:data)")
-    args = parser.parse_args()
-
-    if os.path.isdir(args.folder):
-        process_folder(args.folder)
-    else:
-        print(f"錯誤:文件夾 '{args.folder}' 不存在。")
-
-if __name__ == "__main__":
-    main()