Allgemeine Informationen
Anleitung | |
---|---|
Informationen | |
Betriebssystem | Alle |
Service | KI |
Interessant für | Angestellte |
HilfeWiki des ZIM der Uni Paderborn |
Die Universität Paderborn bietet den Zugang zu verschiedenen KI-Modellen an. Sie können auf die Modelle entweder über die Chat-Benutzeroberfläche (ai-chat.upb.de ) zugreifen oder über die API/Programmierschnittstelle des Proxys ai-gateway.upb.de. Für den Zugriff über das AI-Gateway benötigen Sie einen API-Key. Diesen können Lehrende und Forschende auf Anfrage an ki-kontakt@upb.de beantragen.
Wann brauche ich einen API-Key?[Bearbeiten | Quelltext bearbeiten]
- Ein API-Key ermöglicht es Ihnen programmatisch auf die verschiedenen KI-Modelle und KI-Hosting-Angebote zuzugreifen. Dabei können Sie unterschiedliche Endpunkte für Ihre eigenen digitalen Werkzeuge nutzen. Endpunkte ermöglichen es Ihnen zum Beispiel Chats, Text-Vervollständigungen, Embeddings, Bilder oder Audio zu verarbeiten bzw. zu generieren. Die Endpunkte der OpenAI-Kompatiblen Schnittstelle finden Sie auf den Webseiten von OpenAI in der Reference-Dokumentation beschrieben.
- Außerdem können Sie eigene KI-Werkzeug nutzen, auch wenn Sie nicht die Rechenleistung oder den Zugang zu bestimmten KI-Modellen haben, indem Sie Ihre Software an das AI-Gateway anbinden. Einige KI-Werkzeuge bieten Ihnen dazu die Einstellungs-Optionen "Host" und "API-Key" an.
In beiden Fällen, nutzen Sie den Proxy um Ihre Anfragen weiterzuleiten. Für die Verbindung zum AI-Gateway geben Sie die Adresse des Hosts wie folgt an und Ihren angefragten API-Key:
API-Host: https://ai-gateway.uni-paderborn.de/v1/
API-Key: sk-xxxxxxxxxx
Beachten Sie dabei die Nutzungsbedingungen und Datenschutzrichtlinien.
Welche Modelle stehen zur Verfügung?[Bearbeiten | Quelltext bearbeiten]
Die Liste der KI-Modelle für Ihren persönlichen Zugang können Sie über den Endpunkt GET https://ai-gateway.uni-paderborn.de/v1/models abrufen. Beachten Sie dass Sie hierzu Ihren API-Key als Bearer mitschicken, wie in folgendem Beispiel:
#!/bin/bash
AUTH_KEY="sk-xxxxxxxxxx"
curl -v -X GET -H "Authorization: Bearer $AUTH_KEY" https://ai-gateway.uni-paderborn.de/v1/models
Wie chatte ich mit einem Sprachmodel?[Bearbeiten | Quelltext bearbeiten]
Für das Generieren einer Antwort eines LLMs gibt es in den OpenAI-Schnittstelle mehrere Optionen von einfachen Anfragen bis hin zu komplexeren Varianten mit Chat-History, Streaming und optionalen Einstellungsparametern. Letztendlich handelt es sich aber mehr oder weniger nur um HTTP-Anfragen mit ein bisschen strukturierte Daten im JSON-Format. Das folgende Beispiel verwendet den Endpunkt POST https://ai-gateway.uni-paderborn.de/v1/responses für eine einfache Text-Generierung. Alternativ könnte Sie auch den Endpunkt /v1/chat/completions/ benutzen.
#!/bin/bash
AUTH_KEY="sk-xxxxxxxxxx"
curl -v -X POST -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d '{"model":"gwdg.llama-3.3-70b-instruct","input": "Was weißt du über die Uni Paderborn?"}' https://ai-gateway.uni-paderborn.de/v1/responses
Siehe auch:
- Responses (Neuer Endpunkt zum Chatten und Text-Generieren)
- Chat/Completions
- Responses vs. Completions
Programmierbeispiel[Bearbeiten | Quelltext bearbeiten]
Um ein Sprachmodell über das Gateway anzusprechen, entscheiden Sie sich zunächst für eine Programmiersprache Ihrer Wahl und einen Client bzw. eine Bibliothek welche Ihnen bereits die standardisierte Schnittstelle funktional zugänglich macht. Python ist eine beliebte Programmiersprache und wird oft in diesem Kontext verwenden. Es gibt aber auch etliche andere Bibliotheken und Clients für andere Programmiersprachen. Das folgende Beispiel verwendet Python und die OpenAI-Bibliothek.
1. Umgebung einrichten[Bearbeiten | Quelltext bearbeiten]
Vorausgesetzt wird dass Sie bereits Python und Pip installiert haben. Erzeugen Sie zunächst eine virtuelle Umgebung:
# Erzeugen der Umgebung
python -m venv .venv
# Laden der Umgebung
source .venv/Scripts/activate
Nun installieren wir einige hilfreiche Bibliotheken:
pip install python-dotenv openai
Eine Alternative zum openai-Client ist langchain oder lamaindex Die Zugangsdaten und variable Optionen können wir zentral in eine Environment-Datei ".env" ablegen:
# .env file
API_BASE=https://ai-gateway.uni-paderborn.de/v1/
API_KEY=sk-xxxxxxxxxxxxx
2. Python-Script[Bearbeiten | Quelltext bearbeiten]
from openai import OpenAI
from dotenv import load_dotenv
import os
# Lädt die Umgebungsvariablen aus der .env-Datei
load_dotenv()
API_BASE=os.getenv('API_BASE')
# API_BASE="https://ai-gateway.uni-paderborn.de/v1/"
API_KEY=os.getenv('API_KEY')
# API_KEY="sk-xxxxxxxxxxxx"
API_CHAT_MODEL="gwdg.llama-3.3-70b-instruct"
client = OpenAI(
api_key=API_KEY,
base_url=API_BASE
)
prompt = "Nenne mir drei Gründe warum ich Python als Programmiersprache für KI nutzen sollte."
print("Prompt:", prompt)
print("Model:", API_CHAT_MODEL)
completion = client.chat.completions.create(
model=API_CHAT_MODEL,
messages=[
{"role": "developer", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
)
print(completion.choices[0].message)
Das Script führt eine einfache Chat-Anfrage mit einem Systemprompt (Rolle=Developer) und einer User-Eingabe aus. Der Systemprompt teilt dabei der LLM eine konkrete Anweisung mit und wird von der freien Texteingabe des Users getrennt. Mehr zu Rollen und Anweisungen finden Sie hier. Die Art und Weise wie der Systemprompt formuliert wird hat Auswirkungen auf die Textgenerierung. Dies umfasst das Thema Prompt-Engineering. Einige Vorlagen und Beispiele gibt es oft in sogenannten Prompt-Bibliotheken.
Nutzungsbedingungen und Datenschutzrichtlinien[Bearbeiten | Quelltext bearbeiten]
Analog zu den Nutzungsbedingungen und der Datenschutzerklärung des KI-Chats ai-chat.upb.de (GUI vor dem AI-Gateway), gelten diese ebenfalls wenn Sie per API mit der Infrastruktur "chatten". Die Datenschutzerklärung finden Sie hier und die Nutzungsbedingungen hier. Zusätzlich gelten für die Modelle der GWDG (gekennzeichnet durch das Präfix „gwdg.“) die Nutzungsbedingungen der „Academic Cloud“ der Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (Burckhardtweg 4, 37077 Göttingen) (siehe https://academiccloud.de/de/terms-of-use) sowie die AGB zur Nutzung von KISSKI des Verbund-Forschungsprojekts zu KI-Methoden (siehe https://kisski.gwdg.de/dok/nutzungserklaerung.pdf)