from fastapi import FastAPI, File, UploadFile, Form from fastapi.responses import HTMLResponse, JSONResponse import torch import torchaudio from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq, AutoTokenizer, AutoModelForCausalLM app = FastAPI() # Load IBM Granite models once on startup SPEECH_MODEL = "ibm-granite/granite-speech-3.3-8b" LLM_MODEL = "ibm-granite/granite-3.3-8b-instruct" speech_processor = AutoProcessor.from_pretrained(SPEECH_MODEL) speech_model = AutoModelForSpeechSeq2Seq.from_pretrained(SPEECH_MODEL).to("cpu") tokenizer = AutoTokenizer.from_pretrained(LLM_MODEL) llm_model = AutoModelForCausalLM.from_pretrained(LLM_MODEL).to("cpu") @app.get("/", response_class=HTMLResponse) def home(): return """
{transcript}
{summary}
Back
"""
return HTMLResponse(content=html)
# Add any orchestration/agent endpoints as needed!