# KI-Rechner

# Brave-Leo-AI mit PING KI

## Konfigurieren von Leo AI im Brave Browser mit dem PING AI Server

<span class="anchor" id="bkmrk--1"></span>

Auf cogito (KI-Server) läuft ein [Ollama](https://ollama.com)-server, der einen OpenAI-API kompatiblen Endpunkt bereitstellt. Er ist unter [https://ki.ping.de:8000/](https://buero.ping.de:11434/) erreichbar, man benötigt für den Zugriff ein Bearer Token. <span class="anchor" id="bkmrk--2"></span><span class="anchor" id="bkmrk--3"></span>

1. Besorgt euch das Bearer Token, siehe [API-Token Seite](https://wiki.ping.de/books/anleitungen/page/api-token "API Token") (für Mitglieder)
2. Im Brave Browser oben rechts auf das "Leo AI" Icon ![Brave Leo AI Icon.png](https://wiki.ping.de/uploads/images/gallery/2026-02/brave-leo-ai-icon.png "Brave Leo AI Icon.png") klicken. <span class="anchor" id="bkmrk--5"></span>
3. Klickt oben rechts auf die 3 Punkte übereinander "⋮" <span class="anchor" id="bkmrk--6"></span>
4. Klickt ganz unten auf "Erweiterte Einstellungen" (mit dem Zahnrad). Ihr landet dann auf `brave://settings/leo-ai` <span class="anchor" id="bkmrk--7"></span>
5. Unter "Bringen Sie Ihr eigenes Modell mit" klickt auf "Neues Modell hinzufügen" <span class="anchor" id="bkmrk--8"></span>
6. Macht folgende Einstellungen: <span class="anchor" id="bkmrk--9"></span>
    - Beschriftung: `ping-qwen3` <span class="anchor" id="bkmrk--10"></span>
    - Modellanfragename: `cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit` (diesen Namen seht ihr so auch im open-webui oder s.u.) <span class="anchor" id="bkmrk--11"></span>
    - Server-Endpunkt: `https://ki.ping.de:8000/v1/chat/completions` <span class="anchor" id="bkmrk--12"></span>
    - Kontext-Größe: `16384` (mehr geht auch, hängt vom LLM und freien VRAM ab). <span class="anchor" id="bkmrk--13"></span>
    - API-Schlüssel: Siehe Punkt 1. Ohne "Bearer" davor eingeben.  
        <span style="color: rgb(224, 62, 45);">ACHTUNG, Screenshot veraltet:</span>  
        ![Brave Leo AI config.png](https://wiki.ping.de/uploads/images/gallery/2026-02/brave-leo-ai-config.png "Brave Leo AI config.png") <span class="anchor" id="bkmrk--14"></span>
7. Klickt auf "Modell speichern" <span class="anchor" id="bkmrk--15"></span>
8. Stellt das "Standardmodell für neue Unterhaltungen" auf `ping-qwen3` <span class="anchor" id="bkmrk--16"></span><span class="anchor" id="bkmrk--17"></span>

Fertig. Wenn ihr jetzt auf das Leo-AI-Icon klickt startet eine neue Unterhaltung mit dem LLM auf dem PING Server cogito. Wenn ihr auf das "Seitenleiste anzeigen" Icon daneben klickt teilt sich das Browserfenster und ihr seht neben der Webseite das Leo AI Chatinterface, dort könnt ihr dann das LLM zur gerade aktiven Webseite befragen (zusammenfassen etc.). <span class="anchor" id="bkmrk--18"></span><span class="anchor" id="bkmrk--19"></span>

Die KI von der Brave Search läuft davon unabhängig in der Cloud von Brave. <span class="anchor" id="bkmrk--20"></span><span class="anchor" id="bkmrk--21"></span>

### Verfügbare Modelle auflisten

<span class="anchor" id="bkmrk--23"></span>

Wenn ihr eine Liste aller installierten Modelle sehen möchtet, dann könnt ihr das entweder in [open-webui](https://buero.ping.de) oder es geht über die Ollama API wie folgt (ihr benötigt die Befehle `curl` und `jq`): <span class="anchor" id="bkmrk--24"></span><span class="anchor" id="bkmrk--25"></span>

<span class="anchor" id="bkmrk--27"></span><span class="anchor" id="bkmrk--28"></span><span class="anchor" id="bkmrk--29"></span>

```
BEARER_TOKEN=siehe_oben
curl -sH "Authorization: Bearer $BEARER_TOKEN" https://ki.ping.de:8000/v1/models | jq
```

# Visual Studio Code und OpenCode

Wie nutzt ihr Visual Studio Code und [OpenCode](https://techdoc.ping.de/OpenCode) mit dem PING KI Server? <span class="anchor" id="bkmrk-"></span><span class="anchor" id="bkmrk--1"></span>

#### Bearer Token / API key / API token

Zunächst braucht ihr das Bearer Token. Es heißt manchmal auch API Token.   
PING Mitglieder finden es unter [API Token](https://wiki.ping.de/books/anleitungen/page/api-token "API Token").

Ermittelt welche Modelle der Server anbietet, die euch fürs Programmieren interessieren. Unter `max\_model\_len` seht ihr die maximale Kontext-Länge.

<span class="anchor" id="bkmrk--74"></span><span class="anchor" id="bkmrk--75"></span><span class="anchor" id="bkmrk--76"></span>

```
BEARER_TOKEN=siehe_oben
curl -sH "Authorization: Bearer $BEARER_TOKEN" https://ki.ping.de:8000/v1/models|jq
```

<span class="anchor" id="bkmrk--78"></span>

Aktuell (2026-04) gibt es nur ein Model: ``qwen36-27b`` mit Kontext-Länge 200.000. Es ist gut und schnell und bietet Tool calling, ist multi-modal etc. 👍

Dann geht es wie folgt: <span class="anchor" id="bkmrk--2"></span><span class="anchor" id="bkmrk--3"></span>

## Visual Studio Code

<span class="anchor" id="bkmrk--5"></span>

Für VS Code gibt es mehrere KI-Plugins die in Frage kommen. Hier findet ihr für einige exemplarische die benötigten Schritte zur Konfiguration: <span class="anchor" id="bkmrk--6"></span><span class="anchor" id="bkmrk--7"></span>

### Cline Plugin

<span class="anchor" id="bkmrk--9"></span>

1. In VS Code das [Cline](https://cline.bot/) Plugin installieren. Achtet darauf dass es das blaue Checkmark hat: <span class="anchor" id="bkmrk--10"></span>
    
    
    - ![cline1.png](https://wiki.ping.de/uploads/images/gallery/2026-02/cline1.png "cline1.png") <span class="anchor" id="bkmrk--11"></span><span class="anchor" id="bkmrk--12"></span>
2. *How will you use Cline?* "**Bring my own API key**" <span class="anchor" id="bkmrk--13"></span><span class="anchor" id="bkmrk--14"></span>
3. API Provider:**OpenAI**
4. Custom base URL: `https://ki.ping.de:8000`
5. API key: **siehe\_oben** (nutzt das Bearer Token) <span class="anchor" id="bkmrk--18"></span>
6. Model: `qwen36-27b`

Fertig! <span class="anchor" id="bkmrk--21"></span><span class="anchor" id="bkmrk--22"></span>

### Kilo Code Plugin

<span class="anchor" id="bkmrk--24"></span>

1. In VS Code das [Kilo Code AI Agent](https://kilo.ai/) Plugin installieren. Achtet darauf dass ihr kein falsches erwischt. Aktuell sieht es etwa so aus: <span class="anchor" id="bkmrk--25"></span>
    
    
    - ![kilo code vs code.png](https://wiki.ping.de/uploads/images/gallery/2026-02/kilo-code-vs-code.png "kilo code vs code.png") <span class="anchor" id="bkmrk--26"></span>
2. Wählt "Use your own API key" <span class="anchor" id="bkmrk--27"></span>
3. API Provider: OpenAI compatible
4. Base URL: `https://ki.ping.de:8000` <span class="anchor" id="bkmrk--29"></span>
5. API Key: **siehe\_oben** (nehmt das Bearer Token)<span class="anchor" id="bkmrk--30"></span>
6. Model Name: `qwen36-27b`

Fertig! <span class="anchor" id="bkmrk--33"></span><span class="anchor" id="bkmrk--34"></span>

### Continue Plugin

<span class="anchor" id="bkmrk--36"></span>

Installiert das [Continue](https://docs.continue.dev/) Plugin in VS Code. <span class="anchor" id="bkmrk--37"></span><span class="anchor" id="bkmrk--38"></span>

![continue vs code.png](https://wiki.ping.de/uploads/images/gallery/2026-02/continue-vs-code.png "continue vs code.png") <span class="anchor" id="bkmrk--40"></span><span class="anchor" id="bkmrk--41"></span>

Nehmt folgende Config Datei (<span style="color: rgb(224, 62, 45);">ungeprüft</span>). Tragt dort den API Key ein in der letzten Zeile. ([Doku](https://docs.continue.dev/customize/model-providers/top-level/openai))<span class="anchor" id="bkmrk--42"></span><span class="anchor" id="bkmrk--43"></span>

<span class="anchor" id="bkmrk--45"></span><span class="anchor" id="bkmrk--46"></span><span class="anchor" id="bkmrk--47"></span><span class="anchor" id="bkmrk--48"></span><span class="anchor" id="bkmrk--49"></span><span class="anchor" id="bkmrk--50"></span><span class="anchor" id="bkmrk--51"></span><span class="anchor" id="bkmrk--52"></span><span class="anchor" id="bkmrk--53"></span><span class="anchor" id="bkmrk--54"></span><span class="anchor" id="bkmrk--55"></span><span class="anchor" id="bkmrk--56"></span><span class="anchor" id="bkmrk--57"></span><span class="anchor" id="bkmrk--58"></span><span class="anchor" id="bkmrk--59"></span><span class="anchor" id="bkmrk--60"></span><span class="anchor" id="bkmrk--61"></span><span class="anchor" id="bkmrk--62"></span><span class="anchor" id="bkmrk--63"></span><span class="anchor" id="bkmrk--64"></span>

```
name: My Config
version: 0.0.1
schema: v1

models:
  - name: qwen36-ping
    provider: openai
    model: qwen36-27b
    apiBase: https://ki.ping.de:8000/v1
    apiKey: siehe_oben

```

<span class="anchor" id="bkmrk--66"></span>

Fertig!

## OpenCode

<span class="anchor" id="bkmrk--68"></span>

Für [OpenCode](https://techdoc.ping.de/OpenCode) müsst ihr eine `opencode.json` Datei anlegen z.B. im Verzeichnis `~/.config/opencode/` <span class="anchor" id="bkmrk--69"></span><span class="anchor" id="bkmrk--70"></span>

<span class="anchor" id="bkmrk--82"></span><span class="anchor" id="bkmrk--83"></span><span class="anchor" id="bkmrk--84"></span><span class="anchor" id="bkmrk--85"></span><span class="anchor" id="bkmrk--86"></span><span class="anchor" id="bkmrk--87"></span><span class="anchor" id="bkmrk--88"></span><span class="anchor" id="bkmrk--89"></span>

<span class="anchor" id="bkmrk--91"></span>

Tragt das/die Modelle in die opencode.json Datei ein, in etwa wie so: <span class="anchor" id="bkmrk--92"></span><span class="anchor" id="bkmrk--93"></span>

<span class="anchor" id="bkmrk--95"></span><span class="anchor" id="bkmrk--96"></span><span class="anchor" id="bkmrk--97"></span><span class="anchor" id="bkmrk--98"></span><span class="anchor" id="bkmrk--99"></span><span class="anchor" id="bkmrk--100"></span><span class="anchor" id="bkmrk--101"></span><span class="anchor" id="bkmrk--102"></span><span class="anchor" id="bkmrk--103"></span><span class="anchor" id="bkmrk--104"></span><span class="anchor" id="bkmrk--105"></span><span class="anchor" id="bkmrk--106"></span><span class="anchor" id="bkmrk--107"></span><span class="anchor" id="bkmrk--108"></span><span class="anchor" id="bkmrk--109"></span><span class="anchor" id="bkmrk--110"></span><span class="anchor" id="bkmrk--111"></span><span class="anchor" id="bkmrk--112"></span><span class="anchor" id="bkmrk--113"></span><span class="anchor" id="bkmrk--114"></span><span class="anchor" id="bkmrk--115"></span><span class="anchor" id="bkmrk--116"></span><span class="anchor" id="bkmrk--117"></span><span class="anchor" id="bkmrk--118"></span>

```
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ki.ping.de": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "ki.ping.de",
      "options": {
        "baseURL": "https://ki.ping.de:8000/v1",
        "apiKey": "siehe_oben"
      },
      "models": {
        "qwen36-27b": {
          "name": "Qwen 3.6 (ping)",
          "modalities": { "input": ["image", "text"], "output": ["text"] },
          "limit": {
            "context": 200000,
            "output": 16000
          }
        }
      }
    }
  }
}
```

<span class="anchor" id="bkmrk--120"></span>

Wenn ihr das nächste Mal [OpenCode](https://techdoc.ping.de/OpenCode) startet und /connect tippt könnt ihr nach "PING" suchen und solltet den Eintrag "vLLM (PING)" angezeigt bekommen. Wenn euch dann das [OpenCode](https://techdoc.ping.de/OpenCode) nach dem API Key fragt, gebt das Bearer Token (s.o.) ein.

# Inferenz Benchmarks

2026-04-18 vLLM mit cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit

vLLM optionen:
```      
      --model cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit
      --tensor-parallel-size 2
      --max-model-len 65536
      --gpu-memory-utilization 0.85
      --enable-prefix-caching
      --reasoning-parser qwen3
      --enable-auto-tool-choice
      --tool-call-parser qwen3_coder
      --max-num-seqs 32
      --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}'
```

Benchmark mit `uvx llama-benchy --base-url http://cogito.buero.ping.de:8000/v1 --depth 2000 32768 63000`

| model                             |            test |              t/s |       peak t/s |         ttfr (ms) |      est_ppt (ms) |     e2e_ttft (ms) |
|:----------------------------------|----------------:|-----------------:|---------------:|------------------:|------------------:|------------------:|
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit |  pp2048 @ d2000 | 5463.38 ± 111.87 |                |    748.82 ± 14.93 |    741.48 ± 14.93 |    748.93 ± 14.93 |
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit |    tg32 @ d2000 |   103.13 ± 22.06 | 112.49 ± 24.41 |                   |                   |                   |
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit | pp2048 @ d32768 |  5178.25 ± 25.55 |                |   6731.33 ± 33.06 |   6724.00 ± 33.06 |   6731.41 ± 33.05 |
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit |   tg32 @ d32768 |     25.65 ± 1.43 |   27.93 ± 1.52 |                   |                   |                   |
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit | pp2048 @ d63000 |  4534.72 ± 42.10 |                | 14353.15 ± 133.93 | 14345.82 ± 133.93 | 14353.26 ± 133.94 |
| cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit |   tg32 @ d63000 |     12.85 ± 3.50 |   14.45 ± 3.21 |                   |                   |                   |

Plan: P2P einschalten, da geht noch mehr...

# OpenCode Nutzung

## Was ist OpenCode?

OpenCode ist ein interaktiver Kommandozeilen-Editor, der auf LLM-Künstlicher Intelligenz basiert und direkt im Terminal läuft. Er ermöglicht es Entwicklern, Softwareaufgaben natürlich auf Deutsch zu beschreiben und von der KI durchführen zu lassen. Die Software ist Open Source.

## Installation und Start

OpenCode kann mit dem PING KI-Server (cogito.ping.de) genutzt werden. Installationshinweise gibts auf der Homepage [https://opencode.ai/](https://opencode.ai/)

## Erste Schritte

Nach dem Start von OpenCode öffnet sich eine interaktive Shell in deinem Terminal. Hier kannst du:

- **Dateien bearbeiten lassen** – Beschreibe einfach auf Deutsch, was geändert werden soll
- **Code analysieren lassen** – Ask about code structure, bugs or improvements
- **Neue Dateien erstellen** – OpenCode erzeugt neue Dateien oder Ordner direkt im angegebenen Verzeichnis
- **Shells ausführen lassen** – Terminal-Befehle können durch die KI ausgeführt lassen

## Tips für die Nutzung

1. **Sei spezifisch** – Je genauer du beschreibst, was du möchtest, desto besser ist das Ergebnis
2. **Kontext geben** – Öffne relevante Dateien oder Verzeichnisse, damit die KI den Kontext versteht
3. **Iterativ arbeiten** – Bei komplexeren Aufgaben teile sie in kleine Schritte auf
4. **Reviewieren** – Überprüfe die Änderungen der KI immer antes des Speicherns

## Shared Sessions mit der KI

OpenCode unterstützt **Shared Sessions**, mit denen du parallel zur laufenden Shell arbeiten kannst. So funktioniert es:

- **Neue Session starten** – Drücke die Tastenkombination `Ctrl+Shift+O`, um eine neue Session neben der aktuellen Shell zu öffnen.
- **Parallel arbeiten** – Du kannst in der Shell weiter Code ausführen, während die KI parallel in der Session Aufgaben bearbeitet.
- **Shell-Befehle einfügen** – Kopiere beliebige Terminal-Befehle in die Session. Die KI führt sie aus und zeigt die Ausgabe direkt an.
- **Shell-Pipeline verketten** – Du kannst auch mehrere Befehle hintereinander ausführen, z.B. `git status && git diff`

**Tipp:** Die Session ist im Browser unter einer eigenen URL verfügbar. Du kannst sie mit anderen teilen, damit diese die gleiche Shell-Session nutzen können – ideal für gemeinsames Debugging oder Pair Programming.

## Hinweis

Diese Seite wurde von **opencode**, einem KI-basierten Terminal-Editor, für **Sven Neuhaus** verfasst.

# Zugriff auf vLLM via OpenAI-kompatibler API

Für viele Tools benötigt ihr lediglich den Zugriff auf den OpenAI-kompatiblen API Endpunkt, den unser vLLM bereitstellt.

Hier findet ihr die nötigen Daten:

**Base URL**: `https://ki.ping.de:8000/v1`

**API-Key**: siehe [API Token](https://wiki.ping.de/books/anleitungen/page/api-token) (für Mitglieder)