Wir haben dieses Repository und den Kurs mit einem Development Container eingerichtet, der eine universelle Laufzeitumgebung bietet und die Entwicklung mit Python3, .NET, Node.js und Java unterstützt. Die zugehörige Konfiguration ist in der Datei devcontainer.json im Ordner .devcontainer/ im Stammverzeichnis dieses Repositories definiert.
Um den Dev Container zu aktivieren, starte ihn in GitHub Codespaces (für eine cloudbasierte Laufzeit) oder in Docker Desktop (für eine lokal gehostete Laufzeit). Lies diese Dokumentation für weitere Details, wie Dev Container in VS Code funktionieren.
Tip
Wir empfehlen GitHub Codespaces für einen schnellen Einstieg mit minimalem Aufwand. Es bietet ein großzügiges kostenloses Nutzungskontingent für persönliche Konten. Konfiguriere Timeouts, um inaktive Codespaces zu stoppen oder zu löschen und so dein Kontingent optimal zu nutzen.
Jede Lektion enthält optionale Aufgaben, die in einer oder mehreren Programmiersprachen bereitgestellt werden können, darunter Python, .NET/C#, Java und JavaScript/TypeScript. Dieser Abschnitt gibt allgemeine Hinweise zum Ausführen dieser Aufgaben.
Python-Aufgaben werden entweder als Anwendungen (.py Dateien) oder Jupyter-Notebooks (.ipynb Dateien) bereitgestellt.
- Um das Notebook auszuführen, öffne es in Visual Studio Code, klicke dann oben rechts auf Select Kernel und wähle die standardmäßige Python 3-Option aus. Du kannst nun Run All auswählen, um das Notebook auszuführen.
- Um Python-Anwendungen über die Kommandozeile auszuführen, folge den aufgabenspezifischen Anweisungen, um sicherzustellen, dass du die richtigen Dateien auswählst und die erforderlichen Argumente übergibst.
Aufgaben können auch so eingerichtet sein, dass sie mit einem oder mehreren Large Language Model (LLM) Deployments über einen unterstützten Service Provider wie OpenAI, Azure oder Hugging Face arbeiten. Diese bieten einen gehosteten Endpunkt (API), auf den wir mit den richtigen Zugangsdaten (API-Schlüssel oder Token) programmgesteuert zugreifen können. In diesem Kurs behandeln wir folgende Provider:
- OpenAI mit verschiedenen Modellen, darunter die Kern-GPT-Serie.
- Azure OpenAI für OpenAI-Modelle mit Fokus auf Unternehmensreife
- Hugging Face für Open-Source-Modelle und Inferenzserver
Für diese Übungen benötigst du eigene Accounts. Die Aufgaben sind optional, du kannst also je nach Interesse einen, alle oder keinen der Provider einrichten. Hier einige Hinweise zur Anmeldung:
| Anmeldung | Kosten | API-Schlüssel | Playground | Kommentare |
|---|---|---|---|---|
| OpenAI | Preise | Projektbasiert | No-Code, Web | Mehrere Modelle verfügbar |
| Azure | Preise | SDK Quickstart | Studio Quickstart | Zugang muss vorab beantragt werden |
| Hugging Face | Preise | Access Tokens | Hugging Chat | Hugging Chat hat begrenzte Modelle |
Folge den untenstehenden Anweisungen, um dieses Repository für die Nutzung mit verschiedenen Providern zu konfigurieren. Aufgaben, die einen bestimmten Provider erfordern, enthalten einen dieser Tags im Dateinamen:
aoai- erfordert Azure OpenAI Endpunkt und Schlüsseloai- erfordert OpenAI Endpunkt und Schlüsselhf- erfordert Hugging Face Token
Du kannst einen, keinen oder alle Provider konfigurieren. Fehlende Zugangsdaten führen bei den entsprechenden Aufgaben zu Fehlern.
Wir gehen davon aus, dass du die obigen Hinweise gelesen, dich beim jeweiligen Provider registriert und die erforderlichen Zugangsdaten (API_KEY oder Token) erhalten hast. Im Fall von Azure OpenAI solltest du außerdem eine gültige Bereitstellung eines Azure OpenAI Service (Endpunkt) mit mindestens einem GPT-Modell für Chat Completion eingerichtet haben.
Der nächste Schritt ist, deine lokalen Umgebungsvariablen wie folgt zu konfigurieren:
-
Suche im Stammverzeichnis nach einer Datei
.env.copy, die etwa folgenden Inhalt hat:# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
Kopiere diese Datei mit folgendem Befehl zu
.env. Diese Datei ist in.gitignoreeingetragen, um Geheimnisse zu schützen.cp .env.copy .env
-
Fülle die Werte aus (ersetze die Platzhalter rechts vom
=) wie im nächsten Abschnitt beschrieben. -
(Optional) Wenn du GitHub Codespaces nutzt, kannst du Umgebungsvariablen als Codespaces Secrets speichern, die mit diesem Repository verknüpft sind. Dann ist keine lokale
.envDatei nötig. Beachte jedoch, dass diese Option nur mit GitHub Codespaces funktioniert. Wenn du Docker Desktop verwendest, musst du die.envDatei weiterhin einrichten.
Hier ein kurzer Überblick über die Variablennamen und ihre Bedeutung:
| Variable | Beschreibung |
|---|---|
| HUGGING_FACE_API_KEY | Das Benutzerzugangstoken, das du in deinem Profil eingerichtet hast |
| OPENAI_API_KEY | Der Autorisierungsschlüssel für die Nutzung des Dienstes bei nicht-Azure OpenAI Endpunkten |
| AZURE_OPENAI_API_KEY | Der Autorisierungsschlüssel für die Nutzung des Azure OpenAI Dienstes |
| AZURE_OPENAI_ENDPOINT | Der bereitgestellte Endpunkt für eine Azure OpenAI Ressource |
| AZURE_OPENAI_DEPLOYMENT | Der Endpunkt für das Textgenerierungs-Modell Deployment |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Der Endpunkt für das Text-Embedding-Modell Deployment |
Hinweis: Die letzten beiden Azure OpenAI Variablen beziehen sich auf ein Standardmodell für Chat Completion (Textgenerierung) bzw. Vektorsuche (Embeddings). Die Anweisungen zum Setzen dieser Werte findest du in den jeweiligen Aufgaben.
Die Werte für Azure OpenAI Endpunkt und Schlüssel findest du im Azure Portal. Beginnen wir dort:
- Gehe zum Azure Portal
- Klicke in der Seitenleiste (linkes Menü) auf Keys and Endpoint
- Klicke auf Show Keys – du solltest folgende Werte sehen: KEY 1, KEY 2 und Endpoint
- Verwende den Wert von KEY 1 für AZURE_OPENAI_API_KEY
- Verwende den Wert von Endpoint für AZURE_OPENAI_ENDPOINT
Als Nächstes benötigen wir die Endpunkte für die spezifischen Modelle, die wir bereitgestellt haben.
- Klicke in der Seitenleiste (linkes Menü) auf Model deployments für die Azure OpenAI Ressource
- Klicke auf der Zielseite auf Manage Deployments
Du gelangst zur Azure OpenAI Studio Webseite, wo du die weiteren Werte wie unten beschrieben findest.
- Navigiere zu Azure OpenAI Studio über deine Ressource, wie oben beschrieben.
- Klicke auf den Tab Deployments (linke Seitenleiste), um die aktuell bereitgestellten Modelle zu sehen.
- Falls dein gewünschtes Modell nicht bereitgestellt ist, nutze Create new deployment, um es zu deployen.
- Du benötigst ein Text-Generation-Modell – wir empfehlen: gpt-35-turbo
- Du benötigst ein Text-Embedding-Modell – wir empfehlen text-embedding-ada-002
Aktualisiere nun die Umgebungsvariablen, um den Deployment-Namen widerzuspiegeln, der verwendet wird. Dieser entspricht in der Regel dem Modellnamen, sofern du ihn nicht explizit geändert hast. Zum Beispiel könnte das so aussehen:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Vergiss nicht, die .env Datei nach dem Bearbeiten zu speichern. Du kannst die Datei jetzt schließen und zu den Anweisungen zum Ausführen des Notebooks zurückkehren.
Deinen OpenAI API-Schlüssel findest du in deinem OpenAI Account. Falls du noch keinen hast, kannst du dich registrieren und einen API-Schlüssel erstellen. Sobald du den Schlüssel hast, kannst du ihn in der .env Datei in der Variable OPENAI_API_KEY eintragen.
Dein Hugging Face Token findest du in deinem Profil unter Access Tokens. Teile diese Tokens nicht öffentlich. Erstelle stattdessen einen neuen Token für dieses Projekt und trage ihn in der .env Datei unter der Variable HUGGING_FACE_API_KEY ein. Hinweis: Technisch gesehen ist dies kein API-Schlüssel, wird aber zur Authentifizierung verwendet, weshalb wir die Namenskonvention beibehalten.
Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen.