{"id":60,"date":"2026-06-03T21:00:00","date_gmt":"2026-06-03T21:00:00","guid":{"rendered":"https:\/\/rpi.temporiti.net\/wordpress\/?p=60"},"modified":"2026-05-30T14:06:07","modified_gmt":"2026-05-30T12:06:07","slug":"cerebras-qwen3-235b","status":"publish","type":"post","link":"https:\/\/rpi.temporiti.net\/wordpress\/?p=60","title":{"rendered":"Qwen3 235B su Cerebras per Q&#038;A su documentazione tecnica e generazione playbook Ansible"},"content":{"rendered":"<p>Qwen3 235B servito sugli acceleratori Cerebras \u00e8 il pezzo che ho aggiunto al toolkit per leggere documentazione lunga senza perdere il filo. Il free tier d\u00e0 un milione di token al giorno, sufficiente per caricare due o tre RFC complete dentro lo stesso contesto e farci sopra domande senza ricaricare. La cosa che mi ha convinto a tenerlo fisso \u00e8 la velocit\u00e0: una risposta su un contesto da 80k token la ottengo in pochi secondi, non in minuti.<\/p>\n<p>Il modello \u00e8 open weights, Apache 2.0, sviluppato da Alibaba. Cerebras serve esclusivamente modelli open-source sulla sua piattaforma, quindi non ho la zona grigia dei modelli proprietari che ogni tanto compaiono sui gateway. Lo uso per ragionare su standard di rete, produrre prime bozze di playbook Ansible e estrarre tabelle pulite da PDF gi\u00e0 convertiti in markdown.<\/p>\n<h2>Configurazione di opencode<\/h2>\n<p>La chiave la creo su <code>cloud.cerebras.ai<\/code>, la salvo in <code>~\/.config\/claude-credentials\/credentials.env<\/code> con <code>chmod 600<\/code> e la carico in shell come <code>CEREBRAS_API_KEY<\/code>. Poi nel file <code>~\/.config\/opencode\/opencode.json<\/code> aggiungo il provider:<\/p>\n<pre><code class=\"language-json\">\n{\n  \"provider\": {\n    \"cerebras\": {\n      \"npm\": \"@ai-sdk\/openai-compatible\",\n      \"options\": {\n        \"apiKey\": \"{env:CEREBRAS_API_KEY}\",\n        \"baseURL\": \"https:\/\/api.cerebras.ai\/v1\"\n      },\n      \"models\": {\n        \"qwen-3-235b-a22b-instruct-2507\": { \"name\": \"Qwen3 235B Instruct\" }\n      }\n    }\n  }\n}\n<\/code><\/pre>\n<p>Da terminale lancio la TUI puntandola alla cartella che mi serve:<\/p>\n<pre><code class=\"language-bash\">\nopencode . --model cerebras\/qwen-3-235b-a22b-instruct-2507\n<\/code><\/pre>\n<p>La working directory \u00e8 di solito <code>~\/Documenti\/progetti\/<nome>\/<\/code>, dove tengo gi\u00e0 le RFC in markdown e i ruoli Ansible esistenti da cui voglio derivare il nuovo playbook.<\/p>\n<h2>Un esempio di sessione reale<\/h2>\n<p>Marted\u00ec alle 16:40 dovevo riscrivere un ruolo Ansible per installare e configurare uno stack LAMP su un host Debian 13 di laboratorio. Avevo un ruolo <code>webserver<\/code> vecchio di due anni, mezzo rotto su systemd recente per via di <code>apache2-utils<\/code> che era stato spostato di pacchetto. Ho aperto opencode dentro <code>progetti\/lamp-debian13\/<\/code>, dove avevo copiato il ruolo vecchio, il <code>site.yml<\/code> e un README con i requisiti. Il prompt:<\/p>\n<blockquote>\n<p>rivedi il ruolo webserver per Debian 13. Mantieni la struttura tasks\/handlers\/templates ma sostituisci i moduli deprecati, allinea agli idempotency check correnti di Ansible 2.18 e produci un changelog dei diff in coda.<\/p>\n<\/blockquote>\n<p>La risposta \u00e8 arrivata in undici secondi. Ha riscritto <code>tasks\/main.yml<\/code> sostituendo <code>apt:<\/code> con <code>ansible.builtin.apt<\/code> esplicito, ha aggiunto un <code>meta\/argument_specs.yml<\/code> che prima non c&#8217;era, e ha messo il changelog ordinato per file alla fine. Su due handler ha proposto di passare da <code>notify<\/code> esplicito a <code>listen<\/code>, scelta che ho accettato dopo averla verificata sulla doc. Il playbook risultante ha passato <code>ansible-lint<\/code> al primo colpo.<\/p>\n<h2>Cosa fa bene<\/h2>\n<p>Ragionamento lungo su molti file aperti nello stesso contesto. Estrazione di tabelle e elenchi puliti da documentazione tecnica densa. Generazione di Ansible idiomatico quando gli si fornisce un esempio recente come ancora. La velocit\u00e0 di inferenza Cerebras rende l&#8217;esperienza interattiva anche su prompt grandi: non aspetto mai pi\u00f9 di una manciata di secondi.<\/p>\n<h2>Cosa fa meno bene<\/h2>\n<p>Su domande aperte di tipo architetturale tende a essere prolisso e a riepilogare invece di prendere posizione. Sui task piccoli e veloci \u00e8 sovradimensionato: ci sono modelli pi\u00f9 snelli che rispondono in mezzo secondo. Il limite di 1M token al giorno \u00e8 abbondante per uso individuale ma si sente se carico pi\u00f9 volte di seguito un repository intero.<\/p>\n<h2>Privacy e termini del provider<\/h2>\n<p>Cerebras dichiara, nei Terms del 27 agosto 2024, che non usa input n\u00e9 output per addestramento. I log vengono cancellati &#8220;when no longer necessary&#8221;, senza finestra esplicita ma di fatto trattati come telemetria operativa. La residency \u00e8 USA, non c&#8217;\u00e8 opzione EU. Il limite del free tier \u00e8 1M token al giorno e 30 richieste al minuto, senza richiesta di carta di credito.<\/p>\n<p>Il modello servito \u00e8 Qwen 3 235B, licenza Apache 2.0, rilasciato da Alibaba: pesi pubblici, ridistribuibili, ispezionabili. Cerebras si limita all&#8217;hosting su acceleratori proprietari, non al training. La combinazione policy Cerebras + modello open \u00e8 quella che mi d\u00e0 la frizione minore sul piano legale per task tecnici, anche se la giurisdizione resta extra UE.<\/p>\n<h2>Cosa non gli mando<\/h2>\n<p>Niente nomi di clienti, niente IP interni, niente file di configurazione con secret, niente nomi reali di host del mio homelab. Prima di mandare un blocco di log faccio passare un sed che redatta indirizzi privati e hostname in placeholder generici. Se il contenuto \u00e8 davvero sensibile, esco da Cerebras e uso <code>qwen2.5-coder:14b<\/code> in locale su Ollama: stessa famiglia di modelli, niente uscita di rete.<\/p>\n<h2>In pratica<\/h2>\n<p>Nel mio toolkit Qwen3 235B su Cerebras \u00e8 il &#8220;lettore lungo&#8221; per documentazione e ruoli Ansible. Per task brevi e veloci scelgo Llama 3.1 8B Instant su Groq, che risponde in mezzo secondo. Per ragionamento architetturale puro con contesto enorme passo a Gemini 2.5 Pro, che gestisce finestre ancora pi\u00f9 grandi. Per coding mirato su singoli file Qwen3 32B su Groq \u00e8 pi\u00f9 rapido e altrettanto preciso. Tenere Cerebras pronto significa avere un modello frontier open ad altissima velocit\u00e0 senza pagare nulla.<\/p>\n<hr>\n<blockquote>\n<p>Immagine generata con Cloudflare Workers AI \/ FLUX.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Qwen3 235B servito sugli acceleratori Cerebras \u00e8 il pezzo che ho aggiunto al toolkit per leggere documentazione lunga senza perdere il filo. Il free tier d\u00e0 un milione di token al giorno, sufficiente per caricare due o tre RFC complete dentro lo stesso contesto e farci sopra domande senza ricaricare. La cosa che mi ha [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":61,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-60","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-locale"],"_links":{"self":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=60"}],"version-history":[{"count":11,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":366,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/60\/revisions\/366"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/61"}],"wp:attachment":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}