Hammad712's picture
Updated content relevance and added keywords endpoint
538360f
# app/content_relevance/models.py
"""
Pydantic models for Content Relevance requests and recommendations (mirroring SEO logic).
"""
from pydantic import BaseModel, Field
from typing import Any, Dict, List
class ContentRelevanceRequest(BaseModel):
"""Payload for incoming content relevance data."""
data: Dict[str, Any] = Field(
..., description="Raw metrics and keyword data for relevance analysis."
)
class PrioritySuggestions(BaseModel):
"""Categorized content relevance suggestions by effort level."""
high: List[str] = Field(
..., description="High-effort content relevance suggestion strings."
)
medium: List[str] = Field(
..., description="Medium-effort content relevance suggestion strings."
)
low: List[str] = Field(
..., description="Low-effort content relevance suggestion strings."
)
class Recommendation(BaseModel):
"""Wrapper for prioritized content relevance suggestions."""
priority_suggestions: PrioritySuggestions = Field(
..., description="All content relevance suggestions categorized by effort level."
)
class ContentRelevanceResponse(BaseModel):
"""Response model for the combined content relevance endpoint."""
success: bool = Field(..., description="Indicates if the operation was successful.")
report: str = Field(..., description="Markdown-formatted content relevance report.")
priorities: PrioritySuggestions = Field(
..., description="Categorized priority suggestions."
)