Nutze den "OpenAI Chat Model" Node in n8n Advanced AI.
+
+
+
+ Einfach den Node verbinden, "coder" als Modell-ID (Expression) eintippen und loslegen.
+
+
+
+
+
+ Begrifflichkeiten (Glossar)
+
+
LLM-Engine (llama-swap): Der Server im Hintergrund, der die Sprachmodelle (LLMs) lädt und OpenAI-kompatible Schnittstellen bereitstellt.
+
VRAM: Der Grafikkarten-Speicher. KI-Modelle sind extrem groß und benötigen viel VRAM, um schnell zu laufen.
+
Quantisierung (z.B. Q4_K_M): Ein Verfahren, das die Genauigkeit der Modellgewichte leicht reduziert (von 16-Bit auf 4-Bit), damit sie in den VRAM passen, ohne signifikant dümmer zu werden.
+
Context-Window: Wie viel Text ("Tokens") sich das Modell gleichzeitig "merken" kann. Ein Buchstabe ist ~0.3 Tokens. Mehr Kontext braucht drastisch mehr VRAM.
+
+
-
-
n8n (AI Agent Nodes)
-
Nutze den "OpenAI Chat Model" Node in n8n Advanced AI.
-
-
-
- Einfach den Node verbinden, "coder" als Modell-ID (Expression) eintippen und loslegen.
-
- 💡 Modelle werden automatisch geladen, sobald eine Chat-Anfrage (z.B. über OpenWebUI oder Cursor) an sie gestellt wird. Du musst sie hier nicht manuell starten.
+ 💡 Modelle werden automatisch geladen, sobald eine Chat-Anfrage an sie gestellt wird. Du musst sie nicht manuell starten.
-
Modell
Fähigkeiten
Details
Status
Port
Aktion
+
Modell
Fähigkeiten
Details
Status
Port
Aktionen
-
Noch keine Modelle konfiguriert — zieh dir oben eins rein. 👇
`;
+
Noch keine Modelle konfiguriert — zieh dir oben eins rein. 👇
+
+
+
+
+
+
Modell konfigurieren
+
+
+
+
+
+
Höhere Werte erlauben längere Dokumente, brauchen aber mehr VRAM.
+
+
+
+
+
+ `;
$("#chat-btn").addEventListener("click", sendChat);
+ $("#cfg-close").addEventListener("click", () => $("#cfg-modal").style.display = "none");
+ $("#cfg-save").addEventListener("click", saveConfig);
}
function onStatus(s) {
- const models = s?.models || [];
+ ALL_MODELS = s?.models || [];
const tb = $("#models");
if (!tb) return;
tb.innerHTML = "";
- $("#models-empty").style.display = models.length ? "none" : "block";
- $("#m-count").textContent = models.length ? models.length + " konfiguriert" : "";
+ $("#models-empty").style.display = ALL_MODELS.length ? "none" : "block";
+ $("#m-count").textContent = ALL_MODELS.length ? ALL_MODELS.length + " konfiguriert" : "";
const sel = $("#chat-model");
const cur = sel.value;
sel.innerHTML = "";
- for (const m of models) {
+ for (const m of ALL_MODELS) {
const tr = document.createElement("tr");
let capsHtml = "–";
if (m.meta && m.meta.caps) {
capsHtml = m.meta.caps.map(c => {
- if (c === "Text") return `${icon("search")}`;
- if (c === "Code") return `${icon("code")}`;
- if (c === "Bild") return `${icon("eye")}`;
+ if (c === "Text") return `${icon("compass")}`;
+ if (c === "Code") return `{ }`;
+ if (c === "Bild") return `👁`;
return "";
}).join(" ");
}
@@ -71,14 +93,45 @@ function onStatus(s) {