Switch from Claude Haiku to Claude Sonnet for better accuracy

Haiku was being too literal in price extraction, often "correcting"
valid alternative prices (like Amazon other sellers) to the main
buy box price.

Sonnet is more capable and should handle nuanced cases better.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
clucraft 2026-01-24 19:24:37 -05:00
parent 6327fd6cf1
commit d2e1cc70fc

View file

@ -173,7 +173,7 @@ async function extractWithAnthropic(
const preparedHtml = prepareHtmlForAI(html); const preparedHtml = prepareHtmlForAI(html);
const response = await anthropic.messages.create({ const response = await anthropic.messages.create({
model: 'claude-3-haiku-20240307', model: 'claude-sonnet-4-20250514',
max_tokens: 1024, max_tokens: 1024,
messages: [ messages: [
{ {
@ -269,7 +269,7 @@ async function verifyWithAnthropic(
.replace('$CURRENCY$', currency) + preparedHtml; .replace('$CURRENCY$', currency) + preparedHtml;
const response = await anthropic.messages.create({ const response = await anthropic.messages.create({
model: 'claude-3-haiku-20240307', model: 'claude-sonnet-4-20250514',
max_tokens: 512, max_tokens: 512,
messages: [{ role: 'user', content: prompt }], messages: [{ role: 'user', content: prompt }],
}); });
@ -625,7 +625,7 @@ async function arbitrateWithAnthropic(
const prompt = ARBITRATION_PROMPT.replace('$CANDIDATES$', candidatesList) + preparedHtml; const prompt = ARBITRATION_PROMPT.replace('$CANDIDATES$', candidatesList) + preparedHtml;
const response = await anthropic.messages.create({ const response = await anthropic.messages.create({
model: 'claude-3-haiku-20240307', model: 'claude-sonnet-4-20250514',
max_tokens: 512, max_tokens: 512,
messages: [{ role: 'user', content: prompt }], messages: [{ role: 'user', content: prompt }],
}); });