Zurück zum Blog

Erste SchritteAnleitung

Erste Anfrage aus Google Colab: API-Schlüssel in Secrets aufbewahren

Sende deine erste Chat-Completion aus einem Colab-Notebook mit dem in Colab Secrets gespeicherten Schlüssel und lies dann die Antwort und die Token-Nutzung aus.

Von CheapTokens TeamVeröffentlicht am 5 Min. Lesezeit

Google-Colab-Notebook-Zelle, die den Schlüssel aus Colab Secrets liest und die CheapTokens-API aufruft
Auf dieser Seite
  1. Was du brauchst
  2. Den Schlüssel in Colab Secrets ablegen
  3. Die erste Anfrage ausführen
  4. Was die Anfrage kostet
  5. Wenn eine Zelle fehlschlägt
  6. Teilen und Rotieren

Du kannst deine erste Anfrage in einem Colab-Notebook ausführen, ohne etwas auf deinem Computer zu installieren. Speichere den Schlüssel in Colab Secrets, lies ihn mit userdata.get(...) aus, richte das Paket openai auf https://api.cheaptokens.dev/v1 aus und gib choices[0].message.content und usage aus. Der Schlüssel steht nie in einer Zelle, sodass das Teilen des Notebooks nicht deinen Schlüssel teilt.

Genau deshalb lohnt sich der Aufwand. Angenommen, du bist mit dem Notebook fertig und schickst den Link an einen Kommilitonen. Wenn der Schlüssel in eine Zelle eingefügt wurde, hat er ihn jetzt. Wenn er in Secrets liegt, bekommt er den Code und sonst nichts.

Diese Anleitung baut auf der ersten Anfrage mit einfachem requests auf. Neu ist hier nur, wo der Schlüssel liegt und wie ein Notebook ihn liest. Dieselbe Idee auf einem Laptop findest du unter einen Schlüssel in einer Umgebungsvariable speichern.

Was du brauchst#

  • Ein Google-Konto und ein neues Notebook unter colab.research.google.com.
  • Einen CheapTokens-API-Schlüssel und ein aufgeladenes Guthaben. Schlüssel und Guthaben findest du in deinem Konto; die Dokumentation zeigt die genauen Schritte.
  • Fünf Minuten.

Die API ist mit OpenAI Chat Completions kompatibel, daher funktioniert das Standard-Python-Paket openai mit einem anderen base_url. Die openai-python-README (geprüft am 5. November 2026) nennt Python 3.10 oder höher und pip install openai.

Den Schlüssel in Colab Secrets ablegen#

In der linken Seitenleiste des Notebooks gibt es ein Schlüsselsymbol, das das Secrets-Panel öffnet. Füge ein neues Secret hinzu, nenne es CHEAPTOKENS_KEY, füge deinen Schlüssel als Wert ein und aktiviere den Notebook-Zugriff für das Notebook, in dem du arbeitest. Die Beschriftung von Schaltflächen kann sich ändern, daher solltest du nach dem Schlüsselsymbol statt nach einem Menüpfad suchen.

Wähle den Namen jetzt mit Bedacht: Er ist die Zeichenkette, die du an den Code übergibst. Ein falscher Name ist ein leicht gemachter Fehler, und der Abschnitt zu Fehlern zeigt, wie er aussieht.

Vorher und nachher: ein in die Zelle eingefügter Schlüssel gegenüber userdata.get
Links: Der Schlüssel steht in der Zelle und reist mit dem Notebook. Rechts: Die Zelle nennt nur das Secret.

Die erste Anfrage ausführen#

Colab liest Secrets mit google.colab.userdata.get(name), einer Funktion in Googles colabtools-Modul (Docstrings geprüft am 5. November 2026). Installiere das SDK, lies das Secret und sende eine Anfrage.

Schritt für Schritt

Deine erste Anfrage in drei Zellen

Das Paket installieren

Führe dies in der ersten Zelle aus. Das Flag -q hält die Ausgabe kurz, und es funktioniert unabhängig davon, ob das Paket bereits in der Laufzeit vorhanden ist.

python
!pip install -q openai

Den Schlüssel lesen und den Client erstellen

Der Schlüssel kommt aus Secrets. Hier wird nichts eingefügt.

python
from google.colab import userdata
from openai import OpenAI

client = OpenAI(
    api_key=userdata.get('CHEAPTOKENS_KEY'),
    base_url='https://api.cheaptokens.dev/v1',
)

Eine Anfrage senden und das Ergebnis ausgeben

Verwende die vollständige Modell-ID mit dem Entwickler-Präfix. Kurze IDs werden nicht akzeptiert.

python
resp = client.chat.completions.create(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    messages=[{'role': 'user', 'content': 'Explain a token in one sentence.'}],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Die erste print zeigt die Antwort des Modells. Die zweite gibt zwei Zahlen aus: die gesendeten Tokens und die vom Modell geschriebenen Tokens. Das ist die gesamte Rechnung für die Anfrage, weshalb wir sie jedes Mal ausgeben.

Was die Anfrage kostet#

Tokens sind das, wofür du bezahlst, also schau dir die zweite Ausgabezeile an. Angenommen, eine kurze Frage wie die oben verbraucht etwa 40 Tokens als Eingabe und die Antwort umfasst 150 Tokens als Ausgabe. Diese Anfrage kostet $0.000016 zum aktuellen Preis, und tausend davon kosten $0.0156. Ersetze 40 und 150 durch die beiden Zahlen, die dein Notebook ausgegeben hat.

DeepSeek-V4-Flash ist hier aus gutem Grund der Standard: 380K Kontext, bis zu 32.768 Ausgabe-Tokens pro Antwort und ein Preis zu jeder Tageszeit, ohne Stoßzeiten. Ein Guthaben deckt jedes Modell ab, sodass du das Modell in dieser Zelle austauschen kannst, ohne etwas anderes zu ändern. Probiere zai-org/GLM-5.3-Flash aus (390K Kontext, bis zu 8.192 Ausgabe-Tokens) und führe die Zelle erneut aus. Die vollständige Liste findest du unter alle Modelle und Preise.

Probier es selbstProbier es aus: Was ist resp.choices[0].finish_reason?Antwort anzeigen

Füge print(resp.choices[0].finish_reason) unter den anderen Ausgaben hinzu. Wenn die Antwort natürlich endete, siehst du stop. Setze max_tokens=5 und führe es erneut aus: Die Antwort wird abgeschnitten und du siehst length, was bedeutet, dass das Limit sie gestoppt hat, nicht das Modell.

Wenn eine Zelle fehlschlägt#

Fehler von der Secrets-Seite kommen zuerst, bevor irgendeine Anfrage Colab verlässt. Der colabtools-Quellcode (geprüft am 5. November 2026) besagt, dass userdata.get drei Fehler auslösen kann.

Colab-Fehler: SecretNotFoundError
SecretNotFoundError bedeutet, dass der Name im Code zu keinem Secret passt.
  • SecretNotFoundError: Es gibt kein Secret mit diesem Namen. Vergleiche die Zeichenkette in userdata.get('...') Buchstabe für Buchstabe mit dem Namen im Secrets-Panel. Groß- und Kleinschreibung zählt.
  • NotebookAccessError: Das Secret existiert, aber dieses Notebook hat keinen Zugriff darauf. Aktiviere den Zugriffs-Schalter im Secrets-Panel und führe die Zelle erneut aus.
  • TimeoutException: Colab hat die Anfrage nach dem Secret nicht beantwortet. Die Fehlermeldung besagt, dass Secrets nur abgerufen werden können, wenn der Code über die Colab-Oberfläche ausgeführt wird, also führe die Zelle im Colab-Notebook selbst aus, nicht in einem exportierten Skript.

Wenn das Secret geladen wird und die Anfrage trotzdem fehlschlägt, liegt das Problem auf der API-Seite. Ein 401 bedeutet, dass der Schlüssel falsch oder fehlt; ein 404 deutet meist auf eine falsche Basis-URL oder Modell-ID hin. API 401 oder 404: Schlüssel, Basis-URL, Modell-ID geht beidem nach, und Modelle mit GET /v1/models auflisten zeigt, wie du die exakte ID kopierst.

Teilen und Rotieren#

Teile das Notebook, und der Code, der userdata.get aufruft, geht mit; der Schlüssel steht in keiner Zelle und in keiner Ausgabe, also gibt es nichts, was durchsickern könnte. Wer das Notebook öffnet, braucht ein eigenes Secret mit demselben Namen, sonst bekommt er SecretNotFoundError (siehe oben).

Wenn du einen neuen Schlüssel erstellst, aktualisiere den Wert im Secrets-Panel; der Code bleibt gleich, weil er nur das Secret nennt.

Eine Gewohnheit zählt trotzdem: Gib den Schlüssel niemals aus. Eine Zelle wie print(userdata.get('CHEAPTOKENS_KEY')) schreibt ihn in die Ausgabe, und Ausgaben werden mit dem Notebook gespeichert.

Kurzer Check

Wo sollte der API-Schlüssel in einem geteilten Colab-Notebook liegen?

Antwort anzeigen

Antwort: In Colab Secrets, gelesen mit userdata.get

Eine Zelle und ihre Ausgabe werden mit dem Notebook gespeichert und mit ihm geteilt; der Code nennt nur das Secret.

Nächster Schritt: Packe die Antwort in eine Schleife, einen Chat oder ein kleines Tool. Die Dokumentation behandelt den Rest der API.