File size: 866 Bytes
a9df982
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0fed822
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
from fastapi import FastAPI, HTTPException
from io import BytesIO
import requests
from models import InsertedLink, ExtractedText
import extractor

os.environ['TRANSFORMERS_CACHE'] = '/transformers_cache'
os.environ['HF_HOME'] = '/transformers_cache'


app =  FastAPI()
@app.get("/", response_model=dict[str, str])
def getall():
    return {"hello":"world"}


@app.post("/speech2text", response_model=ExtractedText)
async def extract(link: InsertedLink):
    response = requests.get(link.link)
    if response.status_code == 200:
        # Open the PDF from bytes in memory
        mp3 = (BytesIO(response.content))
    else:
        #return error, make 500 because file server error
        raise HTTPException(status_code=response.status_code, detail="File server error")

    dictresult = extractor.speech2text(mp3)
    return ExtractedText(**dictresult)