Commits

La IA entra als Ajustes: proveïdors, SEO i articles automàtics

Configuració de proveïdors IA, depuració de 500 i 429, SEO per article amb

Avui ha sigut el dia de la IA: configuració de proveïdors al panell i dues fases noves. La web queda a un pas d'una redacció semiautomàtica completa.

Ajustos d'IA: proveïdors, usos i to

Nova secció a /admin/ajustes/ia amb tres pestanyes. A Proveïdors hi ha presets precarregats (configuracions ja preparades per a OpenAI, Mistral, Groq, OpenRouter, Gemini, Z.ai, Minimax i Ollama), URL base editable, clau emmascarada en desar-la i un botó «Carregar models» que detecta què sap fer cada model. A Usos decideixes quin model fa cada cosa: crear contingut, imatges, escàner de visió, traducció o veu. I To guarda els prompts (les instruccions que reben els models) de to, audiència i estructura d'articles.

Els 500 del camí

La depuració va deixar tres arranjaments. AIService no guardava la connexió a la base de dades i els texts alternatius automàtics de les imatges donaven 500 (error intern del servidor). L'URL de l'asset (el fitxer, en aquest cas) només existia a l'esquema i el router, el que reparteix les peticions, la generava malament. I la regla més útil: provar per HTTP, no només cridant el servei. Els 500 només apareixien pel camí del router.

Minimax i el domini equivocat

La clau de Minimax no funcionava. El compte és de la plataforma internacional (minimax.io) i el preset apuntava a minimaxi.com, la xinesa. Ho vaig diagnosticar provant la clau contra els tres dominis del proveïdor sense exposar-la: resposta correcta només a .io, amb 8 models. D'increment, els errors de proveïdor ara mostren la resposta real en lloc d'un 502 genèric (un «servei no disponible» que no explica res).

Clau teclejada, clau desada

Arreglar «enviar el que es tecleja» va trencar el flux després de recarregar la pàgina. El formulari buit enviava una clau buida i el backend (la part del servidor) la preferia a la desada. Lògica corregida: el que es tecleja té prioritat; el que falta, es pren del que hi ha desat.

El tier gratuït i els seus 429

Els lots de visió rebentaven el límit de peticions del tier gratuït (el pla de pagament zero): 429: massa peticions seguides. Pausa entre trucades i errors per imatge dins la resposta. Gemini 2.5 Flash es gastava el pressupost de tokens (les peces de text que processa el model) «pensant»: el thinking ve activat per defecte, i les descripcions sortien tallades. Pressupost pujat a 2.000, escàner mogut a flash-lite i pool de límits separat. I Ollama Cloud va respondre 402 sense crèdits: la visió queda reassignada a un Gemini gratuït.

SEO per article

Columnes noves de meta títol, descripció i imatge social. Al rail de l'editor (l'editor nou va arribar amb Crepe fora, BlockNote dins) hi ha comptadors de caràcters i una puntuació SEO sobre 100, amb checklist de 10 comprovacions. L'assistent IA ofereix meta, resum, slug (l'adreça curta de l'article), revisió i reescriptura amb els prompts de To que ja tenia desats. La pàgina pública inclou JSON-LD d'Article (dades estructurades que els cercadors saben llegir).

Crear segons la competència

Flux complet: paraula clau, competidors (amb Tavily o URLs enganxades), extracció de cada pàgina, anàlisi IA i article nou. Prova real amb «història del café» i Wikipedia: esborrany de 9.462 caràcters, 8 apartats i meta SEO completa en 63 segons. Mistral va saturar la quota global del tier gratuït: contingut reassignat a MiniMax. És el camí invers de Del meu text al borrador.

Imatge destacada amb IA

Cada article pot generar la seva imatge destacada: es resumeix el text, es compon el prompt amb l'estil desat a To i es genera amb el model d'imatges. La web la publica i la fa servir d'og:image de reserva (la imatge que surt en compartir l'enllaç). Detall curiós: l'escena sortia en xinès perquè Minimax deriva al xinès. System prompt (la instrucció fixa que acompanya cada crida) forçant castellà i solucionat.

Pendent de banda meva: la clau de Tavily per al mode automàtic de cerca.

Altres entrades del diari