feat(01-02): costanti dominio, schemas Pydantic, FormatSelector
- backend/constants.py: CANVA_FIELDS (33 col locked), PERSUASION_DISTRIBUTION (13), SCHWARTZ_DISTRIBUTION (13) - backend/schemas/calendar.py: CalendarSlot, CalendarRequest, CalendarResponse - backend/schemas/generate.py: SlideContent, GeneratedPost, TopicResult, GenerateRequest, PostResult, GenerateResponse - backend/data/format_mapping.json: matrice 6 tipi x 5 livelli (30 combinazioni) - backend/services/format_selector.py: FormatSelector con select_format e fallback PAS - fix .gitignore: backend/data/prompts/ e format_mapping.json non erano ignorabili
This commit is contained in:
45
backend/data/format_mapping.json
Normal file
45
backend/data/format_mapping.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"_comment": "Matrice di mapping tipo_contenuto x livello_schwartz -> formato_narrativo. Scegliere il formato più efficace per ogni combinazione in base al livello di consapevolezza del pubblico.",
|
||||
"valore": {
|
||||
"L5": "Listicle",
|
||||
"L4": "PAS",
|
||||
"L3": "PAS",
|
||||
"L2": "Obiezione_Risposta",
|
||||
"L1": "AIDA"
|
||||
},
|
||||
"storytelling": {
|
||||
"L5": "BAB",
|
||||
"L4": "Storytelling",
|
||||
"L3": "BAB",
|
||||
"L2": "Storytelling",
|
||||
"L1": "AIDA"
|
||||
},
|
||||
"news": {
|
||||
"L5": "Dato_Implicazione",
|
||||
"L4": "Dato_Implicazione",
|
||||
"L3": "PAS",
|
||||
"L2": "Obiezione_Risposta",
|
||||
"L1": "AIDA"
|
||||
},
|
||||
"riprova_sociale": {
|
||||
"L5": "Storytelling",
|
||||
"L4": "BAB",
|
||||
"L3": "Obiezione_Risposta",
|
||||
"L2": "PAS",
|
||||
"L1": "AIDA"
|
||||
},
|
||||
"coinvolgimento": {
|
||||
"L5": "Listicle",
|
||||
"L4": "PAS",
|
||||
"L3": "Obiezione_Risposta",
|
||||
"L2": "Obiezione_Risposta",
|
||||
"L1": "AIDA"
|
||||
},
|
||||
"promozione": {
|
||||
"L5": "AIDA",
|
||||
"L4": "AIDA",
|
||||
"L3": "PAS",
|
||||
"L2": "PAS",
|
||||
"L1": "AIDA"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user