Update app.py with fixed imports
Browse files
app.py
CHANGED
@@ -27,7 +27,7 @@ else:
|
|
27 |
sst_model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h")
|
28 |
sst_processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h")
|
29 |
|
30 |
-
# LLM: Use local GGUF file if available, else raise error
|
31 |
if os.path.exists("./models/llama.gguf"):
|
32 |
llm = Llama("./models/llama.gguf")
|
33 |
else:
|
@@ -43,7 +43,6 @@ class LLMRequest(BaseModel):
|
|
43 |
# API Endpoints
|
44 |
@app.post("/tts")
|
45 |
async def tts_endpoint(request: TTSRequest):
|
46 |
-
"""Convert text to speech and return audio."""
|
47 |
text = request.text
|
48 |
inputs = tts_tokenizer(text, return_tensors="pt")
|
49 |
with torch.no_grad():
|
@@ -56,7 +55,6 @@ async def tts_endpoint(request: TTSRequest):
|
|
56 |
|
57 |
@app.post("/sst")
|
58 |
async def sst_endpoint(file: UploadFile = File(...)):
|
59 |
-
"""Convert speech to text and return transcription."""
|
60 |
audio_bytes = await file.read()
|
61 |
audio, sr = sf.read(io.BytesIO(audio_bytes))
|
62 |
inputs = sst_processor(audio, sampling_rate=sr, return_tensors="pt")
|
@@ -68,7 +66,6 @@ async def sst_endpoint(file: UploadFile = File(...)):
|
|
68 |
|
69 |
@app.post("/llm")
|
70 |
async def llm_endpoint(request: LLMRequest):
|
71 |
-
"""Generate text from a prompt using Llama.cpp."""
|
72 |
prompt = request.prompt
|
73 |
output = llm(prompt, max_tokens=50)
|
74 |
return {"text": output["choices"][0]["text"]}
|
|
|
27 |
sst_model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h")
|
28 |
sst_processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h")
|
29 |
|
30 |
+
# LLM: Use local GGUF file if available, else raise error
|
31 |
if os.path.exists("./models/llama.gguf"):
|
32 |
llm = Llama("./models/llama.gguf")
|
33 |
else:
|
|
|
43 |
# API Endpoints
|
44 |
@app.post("/tts")
|
45 |
async def tts_endpoint(request: TTSRequest):
|
|
|
46 |
text = request.text
|
47 |
inputs = tts_tokenizer(text, return_tensors="pt")
|
48 |
with torch.no_grad():
|
|
|
55 |
|
56 |
@app.post("/sst")
|
57 |
async def sst_endpoint(file: UploadFile = File(...)):
|
|
|
58 |
audio_bytes = await file.read()
|
59 |
audio, sr = sf.read(io.BytesIO(audio_bytes))
|
60 |
inputs = sst_processor(audio, sampling_rate=sr, return_tensors="pt")
|
|
|
66 |
|
67 |
@app.post("/llm")
|
68 |
async def llm_endpoint(request: LLMRequest):
|
|
|
69 |
prompt = request.prompt
|
70 |
output = llm(prompt, max_tokens=50)
|
71 |
return {"text": output["choices"][0]["text"]}
|