Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -4,7 +4,7 @@ import os
|
|
4 |
from tempfile import NamedTemporaryFile
|
5 |
|
6 |
app = Flask(__name__)
|
7 |
-
model = whisper.load_model("base")
|
8 |
|
9 |
@app.route('/ask', methods=['POST'])
|
10 |
def ask():
|
@@ -13,14 +13,21 @@ def ask():
|
|
13 |
|
14 |
file = request.files['file']
|
15 |
|
|
|
|
|
|
|
|
|
16 |
with NamedTemporaryFile(delete=False, suffix=".webm") as temp_audio:
|
17 |
file.save(temp_audio.name)
|
18 |
try:
|
19 |
result = model.transcribe(temp_audio.name)
|
20 |
question = result['text']
|
21 |
# Dummy AI response for now
|
22 |
-
|
|
|
|
|
|
|
23 |
finally:
|
24 |
os.unlink(temp_audio.name)
|
25 |
|
26 |
-
|
|
|
4 |
from tempfile import NamedTemporaryFile
|
5 |
|
6 |
app = Flask(__name__)
|
7 |
+
model = whisper.load_model("base") # Consider loading a smaller model if resource constraints apply
|
8 |
|
9 |
@app.route('/ask', methods=['POST'])
|
10 |
def ask():
|
|
|
13 |
|
14 |
file = request.files['file']
|
15 |
|
16 |
+
# Ensure the file is an audio file (e.g., webm, mp3, wav)
|
17 |
+
if not file.filename.lower().endswith(('.webm', '.mp3', '.wav')):
|
18 |
+
return jsonify({'error': 'Unsupported file format'}), 400
|
19 |
+
|
20 |
with NamedTemporaryFile(delete=False, suffix=".webm") as temp_audio:
|
21 |
file.save(temp_audio.name)
|
22 |
try:
|
23 |
result = model.transcribe(temp_audio.name)
|
24 |
question = result['text']
|
25 |
# Dummy AI response for now
|
26 |
+
response = {"transcription": question, "response": f"You said: {question}"}
|
27 |
+
return jsonify(response)
|
28 |
+
except Exception as e:
|
29 |
+
return jsonify({'error': f'Processing failed: {str(e)}'}), 500
|
30 |
finally:
|
31 |
os.unlink(temp_audio.name)
|
32 |
|
33 |
+
# Remove app.run() for production
|