Hoe ik AI-vergelijkingspagina's bouwde met een beperkt budget

Ik moest vergelijkingspagina's bouwen voor mijn directory van AI-tools.

De rekensom was angstaanjagend. Met 200 modellen stond ik voor bijna 20.000 mogelijke paren. Het dagelijks gebruiken van Claude Haiku om content voor elk paar te genereren, zou te veel kosten.

Hier is hoe ik het heb opgelost met behulp van logica en limieten.

De Strategie

Ik richtte me op zoekopdrachten met een hoge intentie. Gebruikers willen weten "Llama 3 vs Mistral". Ze willen een beslissing, geen lang essay.

Ik gebruikte deze regels om de kosten te beheersen:

• Gropeer modellen op basis van hun pipeline-tag. • Selecteer alleen de top 4 modellen op basis van het aantal downloads in elke groep. • Stel een harde limiet in op het totaal aantal paren.

Dit verminderde het aantal paren van 20.000 naar ongeveer 50. Hierdoor blijven mijn kosten laag, terwijl ik wel de meest populaire modellen dek.

De Technische Opzet

Ik heb een ETL-proces gebouwd dat elke nacht draait. Het is idempotent. Dit betekent dat als het paar al in mijn database staat, het script dit overslaat.

De meeste nachten draait het script in 3 seconden en kost het $0, omdat het alles overslaat.

Ik gebruik verschillende trucjes om het efficiënt te houden:

• Prompt Caching: Ik gebruik een gedeelde Claude Haiku-client. Omdat de system prompt hetzelfde blijft, maakt caching opeenvolgende aanroepen bijna gratis. • Lean Prompts: Ik verkort modelbeschrijvingen tot 400 tekens. Dit houdt de input klein en snel. • Static Generation: Ik gebruik Astro om de data om te zetten in statische JSON-bestanden. Er zijn geen trage database-aanroepen of edge function-latenties voor de gebruiker.

Wat er gebeurt als het misgaat?

AI kan onvoorspelbaar zijn. Soms geeft Claude ongeldige JSON terug.

Ik heb een fallback-systeem geschreven. Als de AI faalt, crasht de pagina niet. In plaats daarvan wordt er een standaardtemplate getoond. Er wordt de gebruiker gevraagd om de individuele modelpagina's te bekijken. Ik houd deze fouten bij in mijn database, zodat ik ze later opnieuw kan proberen.

Wat ik anders zou doen

Als ik vandaag opnieuw zou beginnen, zou ik twee dingen veranderen:

  1. Cross-pipeline vergelijkingen: Het vergelijken van een tekstmodel met een vision-model is waardevoller dan het vergelijken van twee vergelijkbare tekstmodellen.
  2. Zoekopdracht-gestuurde selectie: In plaats van het aantal downloads te gebruiken, zou ik daadwerkelijke zoeklogs van gebruikers gebruiken om te bepalen welke paren ik moet maken.

Bouwen met beperkingen dwingt je om slimmer te bouwen.

Source: https://dev.to/morinaga/how-i-built-pairwise-ai-model-compare-pages-with-claude-haiku-and-a-budget-cap-3hpm

Optional learning community: https://t.me/GyaanSetuAi