KI-Einstellungen: Schluessel und Modell in der Oberflaeche
This commit is contained in:
+23
-3
@@ -1,13 +1,33 @@
|
||||
# 05 KI
|
||||
|
||||
Modell: **`gpt-5.6-luna`** (OpenAI), angesprochen über `chat/completions`.
|
||||
Schlüssel und Modell stehen ausschließlich in `server/.env` (chmod 600) – der
|
||||
Modell: **`gpt-5.6-luna`** (OpenAI), angesprochen über `chat/completions`. Der
|
||||
Browser spricht nie direkt mit OpenAI, jede Anfrage läuft über das Backend
|
||||
(`server/src/ai.js`).
|
||||
(`server/src/ai.js`). Schlüssel und Modell werden unter *Einstellungen → KI*
|
||||
gepflegt und liegen in `icon_settings`; `server/.env` (chmod 600) bleibt
|
||||
Startwert und Rückfall.
|
||||
|
||||
Fehlt der Schlüssel, läuft das CRM normal weiter und blendet die KI-Knöpfe aus.
|
||||
`GET /api/ai/status` sagt der Oberfläche, ob etwas eingerichtet ist.
|
||||
|
||||
## Schlüssel pflegen
|
||||
|
||||
*Einstellungen → KI* (nur Administratoren). Der Schlüssel steht in
|
||||
`icon_settings` (`openai_api_key`), die `.env` bleibt Startwert und Rückfall –
|
||||
**die Datenbank gewinnt**. Grund: ein Schlüssel läuft ab oder wird gewechselt,
|
||||
und dann soll niemand dafür eine Datei auf dem Server bearbeiten und einen
|
||||
Dienst neu starten müssen.
|
||||
|
||||
| Was | Verhalten |
|
||||
| --- | --- |
|
||||
| Anzeige | nur verkürzt (`sk-proj…a1b2`) – vollständig verlässt der Schlüssel den Server nie |
|
||||
| Eingabe | Passwortfeld, schreibt nur; ein bestehender Wert wird ersetzt |
|
||||
| Entfernen | löscht den Wert in der Datenbank; steht in der `.env` einer, gilt wieder dieser |
|
||||
| Modell | frei setzbar, Vorgabe `gpt-5.6-luna` |
|
||||
| Test | ein Miniaufruf gegen das Modell – sagt, ob Schlüssel, Modellname und Kontingent zusammenpassen |
|
||||
|
||||
In der Historie landet, **dass** jemand den Schlüssel gewechselt hat, nie der
|
||||
Wert. Ein stiller Wechsel wäre später nicht mehr nachvollziehbar.
|
||||
|
||||
> **Fallstrick:** `gpt-5.6-luna` akzeptiert **kein eigenes `temperature`** und
|
||||
> weist jeden Wert außer dem Standard mit HTTP 400 ab. `ai.js` schickt deshalb
|
||||
> keines. `response_format: {type:'json_object'}` funktioniert dagegen.
|
||||
|
||||
Reference in New Issue
Block a user