KI: Vorgabemodell auf gpt-6-luna umgestellt
gpt-6-luna kostet rund 50 % weniger als gpt-5.6-luna. Das Modell in icon_settings (Einstellungen -> KI) hat weiter Vorrang vor der Vorgabe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4adf48f336
commit
6fe5b18c11
+3
-3
@@ -1,6 +1,6 @@
|
||||
# 05 KI
|
||||
|
||||
Modell: **`gpt-5.6-luna`** (OpenAI), angesprochen über `chat/completions`. Der
|
||||
Modell: **`gpt-6-luna`** (OpenAI, seit 29.09.2026; vorher `gpt-5.6-luna`, rund 50 % teurer), angesprochen über `chat/completions`. Der
|
||||
Browser spricht nie direkt mit OpenAI, jede Anfrage läuft über das Backend
|
||||
(`server/src/ai.js`). Schlüssel und Modell werden unter *Einstellungen → KI*
|
||||
gepflegt und liegen in `icon_settings`; `server/.env` (chmod 600) bleibt
|
||||
@@ -22,7 +22,7 @@ Dienst neu starten müssen.
|
||||
| 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 | Auswahlliste der Chat-Modelle, die der Schlüssel nutzen darf (siehe unten); Vorgabe `gpt-5.6-luna` |
|
||||
| Modell | Auswahlliste der Chat-Modelle, die der Schlüssel nutzen darf (siehe unten); Vorgabe `gpt-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
|
||||
@@ -61,7 +61,7 @@ sequenceDiagram
|
||||
| Liste nicht abrufbar (kein Schlüssel, OpenAI down) | Rückfall auf das Textfeld mit Hinweis und *Erneut versuchen* |
|
||||
| Schlüssel gespeichert/entfernt | Liste wird neu geladen bzw. verworfen |
|
||||
|
||||
> **Fallstrick:** `gpt-5.6-luna` akzeptiert **kein eigenes `temperature`** und
|
||||
> **Fallstrick:** die Luna-Modelle (`gpt-5.6-luna`, `gpt-6-luna`) akzeptieren **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.
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ Zuordnung in `navigation.open()` und der Filter in der Historie.
|
||||
|
||||
## Bekannte Fallen
|
||||
|
||||
**`gpt-5.6-luna` und `temperature`.** Jeder eigene Wert wird mit HTTP 400
|
||||
**Luna-Modelle und `temperature`.** Jeder eigene Wert wird mit HTTP 400
|
||||
abgewiesen. `ai.js` schickt keinen.
|
||||
|
||||
**Instabile Arrays in der Netzwerkansicht.** Ein `= []` als Vorgabewert erzeugt
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ flowchart TB
|
||||
DB[("MariaDB<br/>icon_CRM")]
|
||||
end
|
||||
|
||||
OAI["OpenAI<br/>gpt-5.6-luna"]
|
||||
OAI["OpenAI<br/>gpt-6-luna"]
|
||||
PCRM["perinco CRM<br/>pcrm.perinco.de"]
|
||||
HF["Hugging-Face-CDN"]
|
||||
|
||||
|
||||
+2
-2
@@ -36,10 +36,10 @@ UPLOAD_DIR=/var/www/icon_CRM/uploads
|
||||
# Der Schluessel bleibt auf dem Server - der Browser spricht nie direkt mit
|
||||
# OpenAI. Fehlt er, laeuft das CRM normal weiter und blendet die KI-Knoepfe aus.
|
||||
#
|
||||
# Hinweis zum Modell: gpt-5.6-luna akzeptiert KEIN eigenes "temperature";
|
||||
# Hinweis zum Modell: die Luna-Modelle akzeptieren KEIN eigenes "temperature";
|
||||
# ai.js schickt deshalb nur den Standardwert.
|
||||
OPENAI_API_KEY=
|
||||
OPENAI_MODEL=gpt-5.6-luna
|
||||
OPENAI_MODEL=gpt-6-luna
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Lesender Zugriff auf die Kontakte des perinco CRM
|
||||
|
||||
+3
-3
@@ -26,7 +26,7 @@ const ENDPOINT = 'https://api.openai.com/v1/chat/completions';
|
||||
/** Nach dieser Zeit wird abgebrochen - die Oberflaeche soll nicht haengen. */
|
||||
const TIMEOUT_MS = 120_000;
|
||||
|
||||
export const DEFAULT_MODEL = 'gpt-5.6-luna';
|
||||
export const DEFAULT_MODEL = 'gpt-6-luna';
|
||||
|
||||
const KEY_SETTING = 'openai_api_key';
|
||||
const MODEL_SETTING = 'openai_model';
|
||||
@@ -164,8 +164,8 @@ class AiError extends Error {
|
||||
/**
|
||||
* Ein Aufruf an das Modell.
|
||||
*
|
||||
* `temperature` wird bewusst NICHT mitgeschickt: gpt-5.6-luna laesst nur den
|
||||
* Standardwert zu und weist jeden anderen mit 400 ab.
|
||||
* `temperature` wird bewusst NICHT mitgeschickt: die Luna-Modelle lassen nur den
|
||||
* Standardwert zu und weisen jeden anderen mit 400 ab.
|
||||
*
|
||||
* @param {object} options
|
||||
* @param {string} options.system Rollenanweisung
|
||||
|
||||
@@ -174,7 +174,7 @@ export const AiSettings: React.FC = () => {
|
||||
hint={
|
||||
models
|
||||
? `${models.length} Modelle für diesen Schlüssel verfügbar. Vorgabe ist ${config.defaultModel}.`
|
||||
: `Vorgabe ist ${config.defaultModel}. Achtung: gpt-5.6-luna erlaubt keinen eigenen „temperature"-Wert – das Backend schickt deshalb keinen.`
|
||||
: `Vorgabe ist ${config.defaultModel}. Achtung: die Luna-Modelle erlauben keinen eigenen „temperature"-Wert – das Backend schickt deshalb keinen.`
|
||||
}
|
||||
>
|
||||
{models ? (
|
||||
|
||||
Reference in New Issue
Block a user