Spaces:
Runtime error
Runtime error
| from config import config | |
| from app.src.src import pipeline_sentiment, pipeline_stats, pipeline_summarize | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from prometheus_fastapi_instrumentator import Instrumentator | |
| from pydantic import BaseModel | |
| # from transformers import pipeline | |
| # import uvicorn | |
| import pandas as pd | |
| import os | |
| # sentiment_model = pipeline(model=config.sentiment_model) | |
| # sum_model = pipeline(model=config.sum_model, use_fast=True) | |
| headers = {"Authorization": f"Bearer {os.environ.get('API_TOKEN')}"} | |
| SENT_API_URL = f"https://api-inference.huggingface.co/models/{config.sentiment_model}" | |
| SUM_API_URL = f"https://api-inference.huggingface.co/models/{config.sum_model}" | |
| app = FastAPI() | |
| class YouTubeUrl(BaseModel): | |
| url_video: str | |
| def read_root(): | |
| return {'message': 'FastAPI+HuggingFace app sentiment + summarize YouTube comments'} | |
| def get_comments(url_video: YouTubeUrl): | |
| data = pipeline_sentiment(url_video.url_video, os.environ.get("API_KEY"), headers, SENT_API_URL) | |
| data.to_csv(f"{config.DATA_FILE}", index=False) | |
| return data # {'message': 'Success'} | |
| def get_stats_sent(): | |
| if f"{config.NAME_DATA}" in os.listdir(f"{config.PATH_DATA}"): | |
| data = pd.read_csv(f"{config.DATA_FILE}") | |
| return pipeline_stats(data) | |
| def get_summarize(): | |
| if f"{config.NAME_DATA}" in os.listdir(f"{config.PATH_DATA}"): | |
| data = pd.read_csv(f"{config.DATA_FILE}") | |
| return pipeline_summarize(data['text_comment'], headers, SUM_API_URL) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"] , | |
| ) | |
| Instrumentator().instrument(app).expose(app) | |
| #if __name__ == '__main__': | |
| # uvicorn.run(app, host='127.0.0.1', port=80) |