Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@ check:
format:
cd backend && uv run ruff format .

# Paràmetres opcionals: CONFIG, DEVICE_MAP, CATEGORY i FORCE.
# Exemple: make inferences CATEGORY=traduccio
inferences:
uv run --group inference python scripts/inferencia.py $(if $(CONFIG),--config $(CONFIG)) $(if $(DEVICE_MAP),--device-map $(DEVICE_MAP)) $(if $(FORCE),--force)
uv run --group inference python scripts/inferencia.py $(if $(CONFIG),--config $(CONFIG)) $(if $(DEVICE_MAP),--device-map $(DEVICE_MAP)) $(if $(CATEGORY),--prompt-prefix $(CATEGORY)_) $(if $(FORCE),--force)

# Publica les inferències generades a la branca de dades.
publish_inferences:
Expand Down
1 change: 1 addition & 0 deletions backend/app/seeds.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
{"code": "correccio", "name": "Correcció", "description": "Corregeix aquest text."},
{"code": "reformulacio", "name": "Reformulació", "description": "Reformula aquest text."},
{"code": "traduccio", "name": "Traducció", "description": "Tradueix aquest text."},
{"code": "generacio", "name": "Generació", "description": "Genera un text."},
]
2 changes: 1 addition & 1 deletion backend/tests/test_carrega_inferencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def test_versioned_v1_prompts_follow_loader_naming_convention(session, tmp_path)
summary = loader.run_load(session, prompts_dir, inferencies_dir)

assert summary.prompts.errors == 0
assert summary.prompts.inserted == 30
assert summary.prompts.inserted == 40


def test_load_is_idempotent(session, dirs):
Expand Down
2 changes: 1 addition & 1 deletion config/inferencia/inferencia_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ parametres_generacio:
max_new_tokens: 1024
min_token_len: 25
# System prompt idèntic en intenció per a tots
system_prompt: "Ets un assistent d'intel·ligència artificial útil, precís i que respon exclusivament en llengua catalana. Contesta només amb el que es demana sense cap explicació ni text addicional."
system_prompt: "Ets un assistent d'intel·ligència artificial útil, precís i que respon exclusivament en llengua catalana. Contesta només amb el que es demana sense cap explicació ni text addicional. Contesta sempre en text pla, sense format Markdown o HTML ni elements com ara taules."

models:
# 1. Qwen 3.6 27B
Expand Down
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Redacta un correu electrònic d'aproximadament 100 paraules a una professora d'universitat per demanar-li dos dies més per lliurar un treball. Explica que coincideix amb la preparació d'una actuació castellera, reconeix que t'has organitzat malament i proposa una nova data. Inclou un assumpte i fes servir un to formal i cordial. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Escriu una reflexió personal d'aproximadament 110 paraules sobre una ruta literària pel municipi en què l'estudiant ha reconegut carrers presents en obres d'autors locals. Explica què li ha aportat l'experiència i fixa un objectiu lingüístic per al trimestre següent. Fes servir un to sincer i madur. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Prepara una intervenció oral d'aproximadament 130 paraules perquè un estudiant de batxillerat presenti els castells a companys europeus. Explica què són la pinya, el tronc i l'enxaneta, i què significa «força, equilibri, valor i seny». El text ha de sonar natural en veu alta. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Escriu una explicació divulgativa d'aproximadament 120 paraules sobre el modernisme català per a un alumne de tercer d'ESO. Situa breument el moviment en el seu context i explica dos trets artístics amb exemples fàcils d'imaginar. Inclou un títol i evita el llenguatge massa tècnic. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Prepara un pla d'estudi d'aproximadament 130 paraules per preparar en cinc dies un examen d'història contemporània de Catalunya, amb una hora disponible cada tarda. Combina comprensió, esquemes i repàs, i dedica l'últim dia a comprovar què s'ha après. Presenta'l en una taula clara i afegeix dos consells breus. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Escriu una carta de motivació d'aproximadament 130 paraules per optar a unes pràctiques d'estiu en un museu d'història local. La candidata estudia Humanitats, ha col·laborat en l'arxiu fotogràfic del barri i vol aprendre a apropar el patrimoni a públics diversos. Relaciona aquestes experiències amb les pràctiques i mantén un to professional. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Redacta un missatge d'aproximadament 80 paraules per al grup de classe per organitzar una sessió d'estudi de literatura catalana. Proposa lloc, dia i durada, i reparteix entre quatre persones la preparació de poesia, narrativa, teatre i context històric. Fes servir un to proper i resolutiu. Escriu en català balear.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Prepara un discurs d'aproximadament 130 paraules per a un debat escolar sobre com Sant Jordi pot combinar la tradició amb formats com els audiollibres i els còmics digitals. Defensa una posició integradora amb dos arguments i acaba amb una proposta concreta per a l'institut. Escriu en català central.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_8.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Escriu una sol·licitud formal d'aproximadament 100 paraules a una biblioteca municipal perquè amplie l'horari de la sala d'estudi durant les proves d'accés a la universitat. Justifica breument la petició i proposa una franja horària concreta. Inclou salutació i comiat. Escriu en català valencià.
1 change: 1 addition & 0 deletions data/prompts/v1/generacio_9.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Redacta una introducció d'aproximadament 110 paraules per a un treball de recerca de batxillerat sobre la transmissió de receptes familiars catalanes entre generacions. Presenta el tema, formula una pregunta de recerca i indica com es podrien combinar entrevistes i receptaris. Utilitza un registre acadèmic entenedor. Escriu en català central.
6 changes: 3 additions & 3 deletions frontend/src/diff.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ export interface PromptParts {

/** Separa l'enunciat en instrucció i text d'origen.
*
* Les tres categories segueixen la mateixa forma: una instrucció, un salt de
* línia i el text. Alguns enunciats de correcció acaben la instrucció amb dos
* punts i no tenen salt, d'aquí el segon intent.
* Les categories de transformació segueixen la mateixa forma: una instrucció,
* un salt de línia i el text. Alguns enunciats de correcció acaben la instrucció
* amb dos punts i no tenen salt, d'aquí el segon intent.
*/
export function splitPrompt(prompt: string): PromptParts {
const newline = prompt.indexOf("\n");
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/types.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
/** Tipus compartits, alineats amb els esquemes Pydantic de `backend/app/schemas.py`. */

export type CategoryCode = "correccio" | "reformulacio" | "traduccio";
export type CategoryCode = "correccio" | "generacio" | "reformulacio" | "traduccio";

/** `""` vol dir «qualsevol»: `GET /api/task` sense `category_code` tria la primera pendent. */
export type CategoryFilter = CategoryCode | "";

export const CATEGORIES: { code: CategoryFilter; label: string }[] = [
{ code: "", label: "Qualsevol categoria" },
{ code: "correccio", label: "Correcció" },
{ code: "generacio", label: "Generació" },
{ code: "reformulacio", label: "Reformulació" },
{ code: "traduccio", label: "Traducció" },
];
Expand Down