import os import io import requests import json from IPython.display import Image, display, HTML from PIL import Image import base64 from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # read local .env file model_id = os.getenv("model_id") hf_api_key = os.getenv(hf_api_key) #api_url ="https://api-inference.huggingface.co/models/DunnBC22/flan-t5-base-text_summarization_data" api_url =f"https://api-inference.huggingface.co/models/DunnBC22/{model_id}" def get_completion(inputs, parameters=None, ENDPOINT_URL=api_url): headers = { "Authorization": f"Bearer {hf_api_key}", "Content-Type": "application/json" } data = { "inputs": inputs } if parameters is not None: data.update({"parameters": parameters}) response = requests.request("POST", ENDPOINT_URL, headers=headers, data=json.dumps(data) ) return json.loads(response.content.decode("utf-8")) get_completion(text) import gradio as gr def summarize(input): output = get_completion(input) return output[0]['summary_text'] gr.close_all() demo = gr.Interface(fn=summarize, inputs=[gr.Textbox(label="Text to summarize", lines=6)], outputs=[gr.Textbox(label="Result", lines=3)], title="基于HF requests.request的文本总结AI App/Text summarization with distilbart-cnn", description="Summarize any text using the `shleifer/distilbart-cnn-12-6` model under the hood!" ) demo.launch()