LLM-Analysis-TDS-Project-2 / tools /audio_transcribing.py
ShoaibSSM's picture
Update tools/audio_transcribing.py
fab790b verified
raw
history blame contribute delete
760 Bytes
from langchain.tools import tool
import whisper
import os
import re
model = whisper.load_model("base")
@tool
def transcribe_audio(file_path: str) -> str:
"""
Transcribe audio AND return the SUM of all numbers spoken.
Returns a stringified integer ready for submission.
"""
try:
fp = os.path.join("LLMFiles", file_path)
# run whisper
result = model.transcribe(fp)
text = result["text"]
# extract all numbers
nums = re.findall(r"\d+", text)
nums_int = [int(n) for n in nums]
if not nums_int:
return "Error: No numbers detected"
# sum them
total = sum(nums_int)
return str(total)
except Exception as e:
return f"Error: {e}"