46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# OpenAI-forbrug og omkostninger
|
|
|
|
## Formål
|
|
|
|
Tilbudsgivern viser lokalt registreret tokenforbrug og kan hente organisationsomkostninger, når en gyldig admin-nøgle er konfigureret.
|
|
|
|
## Konfiguration
|
|
|
|
Sæt værdierne i `backend/.env` eller den godkendte serverkonfiguration:
|
|
|
|
```dotenv
|
|
OPENAI_ADMIN_KEY=REPLACE_ME
|
|
OPENAI_BUDGET_QUOTA_USD=0
|
|
```
|
|
|
|
En værdi på `0` for budgetkvoten betyder, at der ikke håndhæves en lokal månedlig kvote. Hemmeligheder må aldrig skrives i dokumentation eller committes.
|
|
|
|
## Endpoints
|
|
|
|
Routes findes i `backend/src/routes/quotes.js` og den samlede server:
|
|
|
|
| Endpoint | Funktion |
|
|
|---|---|
|
|
| `GET /api/quotes/openai/stats` | Lokalt registreret token- og omkostningsforbrug |
|
|
| `POST /api/quotes/openai/stats/update` | Forsøger at opdatere forbrugsdata |
|
|
| `GET /api/quotes/openai/costs?daysBack=30` | Organisationsomkostninger for en periode |
|
|
| `GET /api/quotes/openai/costs/breakdown` | Grupperet omkostningsfordeling |
|
|
| `GET /api/quotes/openai/budget/status` | Lokal budgetstatus og advarselsniveau |
|
|
|
|
## Lokal kontrol
|
|
|
|
```bash
|
|
curl http://localhost:4032/api/quotes/openai/stats
|
|
curl http://localhost:4032/api/quotes/openai/costs?daysBack=7
|
|
curl http://localhost:4032/api/quotes/openai/budget/status
|
|
```
|
|
|
|
Uden `OPENAI_ADMIN_KEY` skal endpoints, der kræver organisationsdata, returnere en kontrolleret fejl uden at lække konfiguration.
|
|
|
|
## Vedligeholdelse
|
|
|
|
- Brug data fra API-svaret som sandhedskilde for aktuelle omkostninger.
|
|
- Undgå at gemme modelpriser i dokumentationen; priser og modeludvalg ændrer sig.
|
|
- Kontrollér implementeringen i `backend/src/services/openaiService.js` og credential-håndteringen i `backend/src/utils/openaiCredentials.js`.
|
|
- Log aldrig admin-nøgler eller komplette API-svar med følsomme metadata.
|