feat(livia): das verwendete Modell steht im Ergebnis
Die Modellwahl läuft über eine Umgebungsvariable im Hosting-Dashboard. Damit sah man nirgends in der Anwendung, welches Modell gerade urteilt — und eine Einstellung, die man nur im Dashboard prüfen kann, prüft niemand. Der Refresh gibt das Modell jetzt zurück, die Kopfzeile zeigt es neben dem Zeitstempel. Wer wissen will, ob die Umstellung angekommen ist, sieht es dort, wo er ohnehin hinschaut. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
c19f071acc
commit
f0ef9c57d4
4 files changed
+12
-2
No files matched your search
@@ -102,7 +102,7 @@ const BATCH_SIZE = 5
|
|||||||
* claude-sonnet-5 ≈ 0.20 USD
|
* claude-sonnet-5 ≈ 0.20 USD
|
||||||
* claude-haiku-4-5 ≈ 0.08 USD für eine Ja/Nein-Einordnung meist ausreichend
|
* claude-haiku-4-5 ≈ 0.08 USD für eine Ja/Nein-Einordnung meist ausreichend
|
||||||
*/
|
*/
|
||||||
const MODEL = process.env.LIVIA_RESEARCH_MODEL ?? 'claude-opus-5'
|
export const MODEL = process.env.LIVIA_RESEARCH_MODEL ?? 'claude-opus-5'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wie viel Artikeltext das Modell zu lesen bekommt.
|
* Wie viel Artikeltext das Modell zu lesen bekommt.
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import {
|
|||||||
fetchZefixResearch,
|
fetchZefixResearch,
|
||||||
} from '../../_lib/researchSources.js'
|
} from '../../_lib/researchSources.js'
|
||||||
import type { ResearchItem } from '../../_lib/researchSources.js'
|
import type { ResearchItem } from '../../_lib/researchSources.js'
|
||||||
import { analyzeResearchItems } from '../../_lib/researchAnalysis.js'
|
import { MODEL, analyzeResearchItems } from '../../_lib/researchAnalysis.js'
|
||||||
import type { ResearchRefreshResult, ResearchSourceResult } from '../../../src/domain/researchLead.js'
|
import type { ResearchRefreshResult, ResearchSourceResult } from '../../../src/domain/researchLead.js'
|
||||||
|
|
||||||
interface Quelle {
|
interface Quelle {
|
||||||
@@ -80,6 +80,7 @@ export default async function handler(req: IncomingMessage, res: ServerResponse)
|
|||||||
watchlist: 0,
|
watchlist: 0,
|
||||||
leads: [],
|
leads: [],
|
||||||
refreshedAt: new Date().toISOString(),
|
refreshedAt: new Date().toISOString(),
|
||||||
|
model: MODEL,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (items.length === 0) {
|
if (items.length === 0) {
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ export function ResearchWorkspace() {
|
|||||||
{`${ergebnis.watchlist} Watchlist · `}
|
{`${ergebnis.watchlist} Watchlist · `}
|
||||||
{`${ergebnis.leads.length} ${ergebnis.leads.length === 1 ? 'relevante Entwicklung' : 'relevante Entwicklungen'}`}
|
{`${ergebnis.leads.length} ${ergebnis.leads.length === 1 ? 'relevante Entwicklung' : 'relevante Entwicklungen'}`}
|
||||||
{` · Stand ${new Date(ergebnis.refreshedAt).toLocaleTimeString('de-CH', { hour: '2-digit', minute: '2-digit' })}`}
|
{` · Stand ${new Date(ergebnis.refreshedAt).toLocaleTimeString('de-CH', { hour: '2-digit', minute: '2-digit' })}`}
|
||||||
|
{ergebnis.model && ` · Modell ${ergebnis.model}`}
|
||||||
</Typography>
|
</Typography>
|
||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -72,6 +72,14 @@ export interface ResearchRefreshResult {
|
|||||||
leads: ResearchLead[]
|
leads: ResearchLead[]
|
||||||
/** Zeitpunkt des Laufs, ISO. */
|
/** Zeitpunkt des Laufs, ISO. */
|
||||||
refreshedAt: string
|
refreshedAt: string
|
||||||
|
/**
|
||||||
|
* Welches Modell die Einordnung vorgenommen hat.
|
||||||
|
*
|
||||||
|
* Wird angezeigt, weil die Modellwahl über eine Umgebungsvariable läuft und
|
||||||
|
* man sonst nirgends in der Anwendung sähe, welche gerade gilt — eine
|
||||||
|
* Einstellung, die man nur im Hosting-Dashboard prüfen kann, prüft niemand.
|
||||||
|
*/
|
||||||
|
model: string
|
||||||
/**
|
/**
|
||||||
* Gesetzt, wenn die Analyse nicht laufen konnte — etwa weil serverseitig
|
* Gesetzt, wenn die Analyse nicht laufen konnte — etwa weil serverseitig
|
||||||
* kein Schlüssel hinterlegt ist. Die Oberfläche sagt das dann offen, statt
|
* kein Schlüssel hinterlegt ist. Die Oberfläche sagt das dann offen, statt
|
||||||
|
|||||||
Reference in new issue
Block a user