Views
No views yet
| Base model | Qwen/Qwen3-4B |
| Parameters | 4B |
| Training | Full SFT, 3 epochs, bf16 |
| Context | 16k tokens |
| Output | <think> reasoning + Linked Art JSON-LD |
| Train loss | 0.360 |
| Token accuracy | 96.6% |
| Valid JSON rate | 97% (on held-out test set) |
| Entity | Linked Art type | Description |
|---|---|---|
| A | PropositionalObject | The abstract creative Work — title, creator, BnF role, adaptation links |
| B_meta | Activity | Production metadata — title, venue, dates, genre, festival link |
| B_cast | Activity.produced_by | All performers — actors, dancers, musicians with BnF roles and characters |
| B_crew | Activity.produced_by | Creative/technical staff — director, lighting, costumes, set design with BnF roles |
| C | Activity | Single Performance — one specific date/time, venue, parent production link |
| Festival | Activity | Overall Event — festival edition (e.g. Festival d'Avignon 1996) |
| Text | LinguisticObject | Source literary work — the play or text being adapted/performed |
<think> tags to produce SYNTH-style dense reasoning traces before outputting JSON-LD. The reasoning:1from vllm import LLM, SamplingParams
2
3llm = LLM(model="PleIAs/linked-art-qwen3-4b", dtype="bfloat16", max_model_len=4096)
4tokenizer = llm.get_tokenizer()
5
6programme = """____ PAGE 1 ____
7
8FESTIVAL D'AVIGNON
9COUR D'HONNEUR DU PALAIS DES PAPES
107, 8, 12, 15, 18, 19 juillet à 22 h
11
12# Médée
13
14de Sénèque
15Mise en scène Jacques Lassalle
16"""
17
18messages = [
19 {"role": "system", "content": "You annotate French theater programmes from the Festival d'Avignon against the Linked Art performing-arts ontology. Extract structured JSON-LD entities from programme markdown."},
20 {"role": "user", "content": f"Extract the Work entity (A) from this theater programme. Output valid Linked Art JSON-LD for the Work as a PropositionalObject, including title, creator with BnF role, source attribution, and any adaptation/influence links.\n\nSource: Medee_FDA1996.md\n\n---\n\n{programme}"},
21]
22
23prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24prompt += "<think>\n"
25
26output = llm.generate([prompt], SamplingParams(max_tokens=2048, temperature=0.7, top_p=0.9))
27print(output[0].outputs[0].text)W-MEDE-JACQ-1996-a3f1) for deduplicationFDA1996). Without a filename, year extraction may fail.