from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.responses import HTMLResponse from fastapi.responses import StreamingResponse from fastapi.responses import FileResponse from fastapi.middleware.cors import CORSMiddleware from io import StringIO import os from llmlingua import PromptCompressor llm_lingua = PromptCompressor( model_name="microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank", use_llmlingua2=True, # Whether to use llmlingua-2 device_map="cpu" ) app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.post("/get_compressed_text") async def get_compressed_text(original_propmt): compressed_prompt = llm_lingua.compress_prompt(original_propmt, instruction="", question="") print("compressed") return compressed_prompt