text-generation / app.py
slothdev's picture
5
f8e76bd
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from transformers import pipeline
# Create a new FastAPI app instance
app = FastAPI()
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Allow all origins
allow_credentials=True,
allow_methods=["*"], # Allow all methods
allow_headers=["*"], # Allow all headers
)
# Initialize the text generation pipeline
pipe = pipeline("text2text-generation", model="google/flan-t5-small")
# Define a root path to verify the server is running
@app.get("/")
def read_root():
return {"message": "Welcome to the FastAPI application. Use /generate to generate text."}
# Define a function to handle the GET request at `/generate`
@app.get("/generate")
def generate(text: str):
"""
Using the text2text-generation pipeline from `transformers`, generate text
from the given input text. The model used is `google/flan-t5-small`.
"""
# Use the pipeline to generate text from the given input text
output = pipe(text)
# Return the generated text in a JSON response
return {"output": output[0]["generated_text"]}