File size: 852 Bytes
afbf5e5 edbe376 afbf5e5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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
@app.post("/analyze/")
def analyze_text(data: Text):
result = analyzer.analyze_text(data.text)
return AnalysisResult(sentiment=result["sentiment"], intention=result["intention"])
|