from transformers import AutoModelForCausalLM, AutoTokenizer from fastapi import FastAPI, Request import uvicorn model_name = "ibm-granite/granite-7b-base" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) app = FastAPI() @app.post("/generate") async def generate_text(request: Request): data = await request.json() prompt = data.get("prompt", "") inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=150) response_text = tokenizer.decode(outputs[0], skip_special_tokens=True) return {"output": response_text} if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)