Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify | |
| import os | |
| from langchain.chat_models import ChatOpenAI | |
| from langchain.schema import ( | |
| AIMessage, | |
| HumanMessage, | |
| SystemMessage | |
| ) | |
| from flask_cors import CORS,cross_origin | |
| # import gradio as gr | |
| import whisperx | |
| from utils import * | |
| import io | |
| import soundfile | |
| from io import BytesIO | |
| import numpy as np | |
| from pathlib import Path | |
| # Join various path components | |
| device = "cpu" | |
| compute_type = "int8" # change to "int8" if low on GPU mem (may reduce accuracy) | |
| model = whisperx.load_model("large-v2", device, compute_type=compute_type) | |
| app = Flask(__name__) | |
| CORS(app) | |
| messages = [ | |
| SystemMessage(content=base1) | |
| ] | |
| def get_all_text(result): | |
| all_text = '' | |
| for i in range(len(result['segments'])): | |
| fragment = result['segments'][i]['text'] | |
| all_text += fragment | |
| return all_text | |
| def get_fragment_list(result): | |
| fragment_list = [] | |
| for i in range(len(result['segments'])): | |
| fragment = result['segments'][i]['text'] | |
| fragment_list.append(fragment) | |
| return fragment_list | |
| def inference(): | |
| audio = request.files['audio'].read() | |
| openai_api_key = request.form['openai_api_key'] | |
| print(audio, request.form['openai_api_key']) | |
| if openai_api_key: | |
| chat = ChatOpenAI(temperature=0, openai_api_key=openai_api_key.strip()) | |
| batch_size = 16 # reduce if low on GPU mem | |
| audio = whisperx.load_audio(io.BytesIO(audio)) | |
| result = model.transcribe(audio, batch_size=batch_size) | |
| text = get_all_text(result) | |
| messages.append(HumanMessage(content=text)) | |
| feedback = chat(messages).content | |
| print(result["segments"]) | |
| print('All_text', text + '\n\n' + 'Feedback: ' + feedback) | |
| response = (jsonify({'text': text + '\n\n' + 'Feedback: ' + feedback})) | |
| response.headers['Access-Control-Allow-Origin'] = '*' | |
| return response | |
| else: | |
| return 'Please provide OpenAI API Key' | |
| # faz uma rota pra mim simples | |
| def hello(): | |
| return "Hello World!" | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=8000, debug=True) | |