| import configparser | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from SentimentAndIntentionAnalysis import ZeroShotClassifier | |
| from data_loader import * | |
| # Initialize FastAPI app | |
| app = FastAPI() | |
| #Get model_name, data_path and labels_path | |
| model_name, data_path, labels_path = get_config() | |
| # Load sentiment labels and intention labels | |
| sentiment_labels, intention_labels = load_labels(labels_path) | |
| # Create Analzer | |
| analyzer = ZeroShotClassifier(model_name=model_name, sentiment_labels=sentiment_labels, intention_labels=intention_labels) | |
| class AnalysisResult(BaseModel): | |
| sentiment: str | |
| intention: str | |
| class Text(BaseModel): | |
| text: str | |
| def analyze_text(data: Text): | |
| result = analyzer.analyze_text(data.text) | |
| return AnalysisResult(sentiment=result["sentiment"], intention=result["intention"]) | |