Akteure im Container, Kontakt im User-Agent
Das Abbild traegt jetzt spaCy und de_core_news_lg 3.8.0 mit fester Version sowie den Wikidata-Spiegel. Es waechst dadurch von 1,28 auf 2,12 GB. Das Modell liegt im Abbild statt im Cache-Volume: 568 MB, die sich nie aendern, und der erste Lauf auf Prod soll nicht an einem Download haengen. Gemessen: ein Slot-Lauf im Container erzeugt bitgleich dieselbe Nutzlast wie die Workstation - 3407 Codings, 0 Abweichungen, gleiche coder_version. Der User-Agent fuer die WDQS traegt jetzt die Impressumsadresse des Projekts, wie es die Nutzungsrichtlinie erbittet. NOTES.md haelt fest, woher die Zeichenkette "None" kommt: bei leerer <description> faellt der Poller auf content:encoded zurueck, und die ZEIT liefert dort einen Anker, dessen Text "None" lautet. Phase 1 schreibt getreu mit, der Fehler ist stromaufwaerts. Am Live-Feed reproduziert, 8 von 15 Items. Der Prod-Cluster-Dump ist per .gitignore ausgeschlossen - er enthaelt die Rollen samt Passworthashes, auch die von gitea und hedgedoc. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NupWEBPzsyohVPG47HsTz8
This commit is contained in:
co-authored by
Claude Opus 5
parent
7e4c31912c
commit
1ce7610e55
@@ -412,3 +412,41 @@ Wahl.
|
|||||||
Bei Stapelgröße 64, 7 und 1 sowie rückwärts durchlaufen liefert
|
Bei Stapelgröße 64, 7 und 1 sowie rückwärts durchlaufen liefert
|
||||||
`de_core_news_lg` für 400 Items identische Spannen. Der Kunstgriff mit der
|
`de_core_news_lg` für 400 Items identische Spannen. Der Kunstgriff mit der
|
||||||
festen Tokenlänge, den die Embeddings brauchen, ist hier nicht nötig.
|
festen Tokenlänge, den die Embeddings brauchen, ist hier nicht nötig.
|
||||||
|
|
||||||
|
|
||||||
|
## Woher `None` wirklich kommt
|
||||||
|
|
||||||
|
Reproduziert am Live-Feed, nicht erschlossen: bei Items mit leerer
|
||||||
|
`<description>` fällt der Poller korrekt auf `content:encoded` zurück, und
|
||||||
|
dort liefert die ZEIT
|
||||||
|
|
||||||
|
```
|
||||||
|
<a href="https://www.zeit.de/news/..."><img ...>None</a>
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Ankertext *ist* die Zeichenkette `None` — ein Renderfehler im CMS der
|
||||||
|
ZEIT. `klartext()` entfernt die Tags, und übrig bleibt `None`. Phase 1
|
||||||
|
schreibt also getreu mit; der Fehler ist stromaufwärts.
|
||||||
|
|
||||||
|
Am 8. September 2026 betraf das 8 von 15 Items im Feed. Im Prod-Bestand:
|
||||||
|
|
||||||
|
| Tag | `None` / zeit-Items |
|
||||||
|
|---|---|
|
||||||
|
| 2026-09-04 | 12 / 20 |
|
||||||
|
| 2026-09-05 | 83 / 136 |
|
||||||
|
| 2026-09-06 | 187 / 262 |
|
||||||
|
| 2026-09-07 | 305 / 400 |
|
||||||
|
| 2026-09-08 | 67 / 79 |
|
||||||
|
|
||||||
|
Gleichbleibend rund 70 bis 85 Prozent — der Fehler läuft weiter.
|
||||||
|
|
||||||
|
## Container mit spaCy
|
||||||
|
|
||||||
|
Das Abbild wächst durch `de_core_news_lg` von 1,28 auf 2,12 GB. Das Modell
|
||||||
|
liegt im Abbild, nicht im Cache-Volume: 568 MB, die sich nie ändern, und der
|
||||||
|
erste Lauf auf Prod soll nicht an einem Download hängen.
|
||||||
|
|
||||||
|
Gemessen, nicht behauptet: ein Slot-Lauf im Container (Debian trixie,
|
||||||
|
Python 3.13) erzeugt für die Akteure bitgleich dieselbe Nutzlast wie die
|
||||||
|
Workstation (Fedora, Python 3.14) — 3407 Codings, 0 Abweichungen, gleiche
|
||||||
|
`coder_version`.
|
||||||
|
|||||||
+5
-4
@@ -32,11 +32,12 @@ import urllib.request
|
|||||||
VERZEICHNIS = pathlib.Path(__file__).parent / "lexikon"
|
VERZEICHNIS = pathlib.Path(__file__).parent / "lexikon"
|
||||||
ENDPUNKT = "https://query.wikidata.org/sparql"
|
ENDPUNKT = "https://query.wikidata.org/sparql"
|
||||||
|
|
||||||
# Die Nutzungsrichtlinie der WDQS bittet um einen sprechenden User-Agent.
|
# Die Nutzungsrichtlinie der WDQS bittet um einen sprechenden User-Agent mit
|
||||||
# Eine Kontaktangabe gehoert hier hinein, sobald eine vereinbart ist -
|
# Kontaktangabe. Hier steht die Impressumsadresse des Projekts - eine
|
||||||
# bis dahin steht nur der Name des Projekts da, keine fremde Adresse.
|
# oeffentliche Adresse, die genau dafuer da ist.
|
||||||
KENNUNG = os.environ.get(
|
KENNUNG = os.environ.get(
|
||||||
"WDQS_USER_AGENT", "wurzelwerk-p2/0.1 (Datenjournalismus-Pipeline Wurzelwerkt)"
|
"WDQS_USER_AGENT",
|
||||||
|
"wurzelwerk-p2/0.1 (Datenjournalismus-Pipeline Wurzelwerkt; stress@bnd.wtf)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Pause zwischen zwei Abfragen. Die WDQS erlaubt mehr, aber wir haben es
|
# Pause zwischen zwei Abfragen. Die WDQS erlaubt mehr, aber wir haben es
|
||||||
|
|||||||
Reference in New Issue
Block a user