Python OpenAI API

27. November 2023

Lang: cs en de es

Sie können ChatGPT nicht nur über die Weboberfläche nutzen, sondern auch in Ihren eigenen Anwendungen verwenden. Das bedeutet, dass Sie das Programm verwenden, um sich mit ChatGPT über eine Schnittstelle namens API zu verbinden. In diesem Tutorial beschreibe ich, wie man mit künstlicher Intelligenz in der Programmiersprache Python, speziell OpenAI, arbeitet.

Was ist KI?

KI oder künstliche Intelligenz ist ein Teilgebiet der Informatik, das sich mit der Entwicklung von Computersystemen befasst, die in der Lage sind, Aufgaben zu erfüllen, die normalerweise menschliche Intelligenz erfordern. Diese Aufgaben können Bilderkennung, Spracherkennung, Sprachübersetzung, Entscheidungsfindung, Lernen und vieles mehr sein. Das Ziel bei der Entwicklung künstlicher Intelligenz ist es, Computersysteme zu schaffen, die in der Lage sind, zu verstehen, zu lernen und auf verschiedene Situationen ähnlich wie das menschliche Gehirn zu reagieren.
Es gibt verschiedene Ansätze für künstliche Intelligenz, darunter symbolisches Lernen, evolutionäre Algorithmen, neuronale Netze und Deep Learning. Vor allem neuronale Netze sind in letzter Zeit sehr populär geworden und werden zur Lösung komplexer Aufgaben wie der Erkennung von Bildern, Stimmen und natürlicher Sprache eingesetzt.
Künstliche Intelligenz hat eine breite Palette von Anwendungen, darunter autonome Fahrzeuge, Krankheitsdiagnose, personalisiertes Marketing, industrielle Automatisierung und viele andere Bereiche. KI kann stark (allgemein) oder schmal (spezialisiert) sein. Starke KI wäre in der Lage, jede intellektuelle Aufgabe auszuführen, die auch ein Mensch ausführen kann, während enge KI für eine bestimmte Aufgabe konzipiert ist, wie z. B. ein Sprachassistent oder ein Empfehlungssystem.

Künstliche Intelligenz erleben

Ich habe KI-Tools getestet, seit sie zum ersten Mal veröffentlicht wurden. Ausführlichere Informationen und Erfahrungen mit verschiedenen KI-Tools finden sich im Artikel Künstliche Intelligenz: Dalle2, Chat GPT.

In diesem Artikel werde ich mich dagegen nur auf die programmatische Nutzung von OpenAI mit Python konzentrieren.

Was ist OpenAI?

OpenAI ist eine Forschungsorganisation, die sich auf künstliche Intelligenz (KI) konzentriert. Sie wurde im Dezember 2015 gegründet, um KI-Technologien zum Nutzen der gesamten menschlichen Gesellschaft zu fördern und zu entwickeln. Die Organisation wurde von mehreren prominenten Persönlichkeiten aus dem Technologiebereich gegründet, darunter Elon Musk, Sam Altman, Ilya Sutskever, Greg Brockman und andere.

OpenAI hat zwei Hauptmissionen:

  1. Schaffung von sicherer und nützlicher künstlicher Intelligenz: OpenAI will das Feld der künstlichen Intelligenz voranbringen und gleichzeitig sicherstellen, dass diese Technologie zum Nutzen der Gesellschaft als Ganzes eingesetzt wird. Das bedeutet, dass die Organisation versucht, die potenziellen negativen Auswirkungen der KI auf die Gesellschaft zu minimieren und sich mit Sicherheits- und ethischen Fragen der KI befasst.
  2. Öffentlichen Nutzen stiften: OpenAI hat sich verpflichtet, seine Forschungsergebnisse und Entdeckungen mit der Welt zu teilen. Dazu gehört die Veröffentlichung einiger wissenschaftlicher Forschungsergebnisse und die Freigabe einiger Tools und Modelle für die Öffentlichkeit.

Es sollte berücksichtigt werden, dass OpenAI, obwohl es "offen" in seinem Namen trägt, nicht so offen ist, wie es vorgibt zu sein und früher offener war. Außerdem ist es ein kommerzielles Unternehmen, Daher sollten alle offiziellen Aussagen und Meinungen über Wohltätigkeit und Nützlichkeit mit Vorsicht genossen werden.

OpenAI ist bekannt für seine Forschung im Bereich Deep Learning und sehr große neuronale Netze. Von OpenAI entwickelte Modelle, wie GPT (Generative Pre-trained Transformer), sind derzeit (2023) einer der größten Fortschritte in der Verarbeitung natürlicher Sprache und werden bereits in vielen Anwendungen wie Chatbots, Compilern und vielen anderen eingesetzt.

KI-Alternativen

Es gibt weitere Alternativen zu OpenAI. Hier sind die beiden wichtigsten Alternativen:

  • Google Cloud AI: Die Plattform von Google bietet eine breite Palette von KI-Diensten, darunter NLP (Natural Language Processing), maschinelles Lernen und generative Modelle. Sie bietet Dienste wie Google Cloud Natural Language API, Google Cloud Translation API und TensorFlow, ein Framework für maschinelles Lernen.
  • Microsoft Azure AI: Microsoft Azure bietet verschiedene Tools für maschinelles Lernen, Spracherkennung, Verarbeitung natürlicher Sprache und mehr. Dazu gehören Dienste wie Azure Cognitive Services und Azure Machine Learning.

Verbindungen - API

Sie können eine Verbindung zu OpenAI herstellen und diese über die API nutzen. OpenAI stellt eine REST API zur Verfügung, die Sie direkt aufrufen oder eine Bibliothek verwenden können, die den Aufruf umhüllt. OpenAI API Dokumentation.

Wenn Sie mehr über REST-APIs in der Praxis erfahren möchten, lesen Sie den Artikel Wie man eigene REST-APIs in der Programmiersprache PHP implementiert.

API-Schlüssel

Ich gehe davon aus, dass Sie bereits ein Konto auf https://chat.openai.com/ haben. Um die API nutzen zu können, benötigen Sie als erstes einen API-Schlüssel. Ein API-Schlüssel ist eine eindeutige Zeichenfolge, deren Kenntnis beweist, dass Sie das Recht haben, die API zu nutzen, und die an Ihr Konto gebunden ist.

Nach dem Einloggen in Ihre OpenAI-Kontoverwaltung können Sie eine Zahlungsmethode wählen und z.B. 5 Dollar bezahlen.
openai-billing-overview
openai-payment-method
openai-billing-history

Wenn Sie nicht mehrwertsteuerpflichtig sind, müssen Sie 6,05 $ für 5 $ bezahlen, da die Mehrwertsteuer (21 % in der Tschechischen Republik) noch hinzukommt.

Anschließend können Sie Ihren API-Schlüssel zur Verwendung in Ihren Anwendungen generieren. openai-api-key

Wenn Sie einen größeren Betrag in Rechnung stellen, ist es eine gute Idee, einige Grenzen für die API-Nutzung festzulegen, damit Sie nicht versehentlich den gesamten Betrag verbrauchen oder der API-Schlüssel ausspioniert wird. openai-usage-limits

Test API-Schlüssel

Sie können die Funktionalität des Schlüssels auf dieser Seite überprüfen https://www.chatwithgpt.ai/. Dies ist eine klare Webanwendung, die ein Client der OpenAI API ist. Nachdem Sie Ihren Schlüssel eingegeben haben, können Sie Anfragen an die OpenAI API senden.

Python-Umgebung

Wir werden die Python-Umgebung einschließlich der notwendigen Bibliotheken mit docker vorbereiten. Ich habe eine Docker-Image-Konfiguration vorbereitet, aus der Sie dann den Docker-Container ablegen werden.

Hier ist das Dockerfile mit der Docker-Image-Definition:

FROM python:3.11.3

WORKDIR /app
COPY requirements.txt .
RUN pip install --upgrade pip setuptools
RUN pip install --no-cache-dir -r requirements.txt

Um das Image zu erstellen, verwenden Sie den Befehl:

docker build -t python-openai ./

Um einen Docker-Container aus einem erstellten Docker-Image zu starten, verwenden Sie den folgenden Befehl:

docker run -it --rm -v $PWD:/app -e OPENAI_API_KEY=key --name python-openai-run python-openai /bin/bash
Anstelle von key geben Sie Ihren API-Schlüssel ein.

Python-Programm und OpenAI-API

Der Quellcode für die Anwendung befindet sich in der Datei app.py. Wenn man alles gut vorbereitet hat, kann man nun das Programm von der Kommandozeile aus dem Container starten:

python app.py

Die Hauptfunktion, die ChatGPT aufruft, sieht wie folgt aus:

def getdata(display, data,temperature):
    prompt=command+" ```"+data+"```"
    model="gpt-3.5-turbo"

    response = openai.ChatCompletion.create(
        model=model, # Sie können ein anderes Modell nach Ihren Wünschen verwenden
                temperature=temperature, # Legen Sie die Temperatur für kreative Antworten fest
                max_tokens=500, # Legt die maximale Anzahl von Token in der Antwort fest
        messages=[
            {"role": "system", "content": "Sie: Wie kann ich Ihrem Patienten helfen?"},
            {"role": "user", "content": "prompt}
        ]
    )
    # Antwort vom Modell abrufen
    nova_response = response.choices[0].message['content']
    return nova_response

Ausführliche Dokumentation für die Python OpenAI Bibliothek

Quellcodes

Den gesamten Quellcode für die Anwendung und die Umgebungskonfiguration finden Sie auf meinem GitHub-Profil, wo das Repository lautet: GitHub Python OpenAI Beispiel.

Video-Tutorial

Komplettes Schritt-für-Schritt Video-Tutorial zur Nutzung der OpenAI-API unter Verwendung der Programmiersprache Python:

OpenAI-Nutzung

In der Praxis habe ich die OpenAI-API bei einem Hackathon verwendet, bei dem ich eine Anwendung programmiert habe, die medizinische Berichte in einen Text übersetzt, der für einen Laien verständlich ist.
Unter diesem Link ist Präsentation eines Projekts mit künstlicher Intelligenz. Hier sind weitere meiner Präsentationen und Vorträge.

ChatGPT ist zum Beispiel großartig:

  • wenn Sie einen Text umformulieren müssen
  • Sie möchten ein Problem mit einem Kollegen besprechen
  • als eine intelligentere Suchmaschine
  • Text generieren
  • Beispielprogramme generieren

Modelle & Preise

ChatGPT hat verschiedene Sprachmodelle. Die Unterschiede sind unterschiedlich. Sie unterscheiden sich zum Beispiel auch im Preis. Details zu den zu verwendenden Sprachmodellversionen und zur Preispolitik finden Sie unter dieser URL: https://platform.openai.com/docs/deprecations

Sie können die API-Nutzung und damit die Gutschrift hier überprüfen: https://platform.openai.com/account/usage

Artikel zu einem ähnlichen Thema

Python-Programm zur Steuerung von Docker über die API
Wie man MailCatcher zum Testen von E-Mails verwendet
Erstellen einer WebSocket-Webanwendung und Einrichten eines Proxys
Projektmanagement: agile Softwareentwicklung
Wie man alte PHP-Anwendungen ausführt
Was ein guter Programmierer wissen sollte
Programmiersprache Rust
NodeJS: Entwicklung, Serverkonfiguration
Nette Sicherheitslücke CVE-2020-15227
REST API: Plattform-API
Kundenspezifisches Web- und E-Mail-Hosting mit ISP Config-Software
Programmierung in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: sicheres Web
NoSQL-Datenbank Mongo DB
Herstellen einer Verbindung zu Microsoft SQL Server unter Linux
Was ist die Stellenbeschreibung eines Programmierers?
Lokalisierung von Python-Anwendungen
Welches Mail- und Webhosting Sie wählen sollten
Digispark - Atmel ATtiny Mikrocontroller mit Arduino IDE programmieren
Entwicklung für ARM-Prozessoren mit Arduino IDE
Wie programmiere ich den ESP8266 WiFi-Prozessor?
Offenes Smartphone mit Linux - Openmoko Neo FreeRunner

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+