Inhaltsverzeichnis

Flask ChatGPT

Flask ChatGPT

Einleitung

Warum benötigt man ein Webframework um die ChatGPT Api zu verwenden?

Man benötigt ein Backend Framework, da man den API Key sonst aus dem Seitenquelltext des Frontends lesen könnte.

Frontend würde folgendermaßen aussehen:


<html>
<script>
const apiKey="HIER Sollte ihr API Key nicht stehen";
</script>
</html>

Daher muss man ein Backend Framework nutzen, in welchem dann der API KEY angegeben ist, dieser kann aber nicht aus dem Seitenquelltext ausgelesen werden.

Zum Glück ist das garnicht so schwer!

Was ist ChatGPT?

ChatGPT ist ein großes Sprachmodell, das auf der GPT-3.5-Architektur von OpenAI basiert. Es wurde speziell entwickelt, um in der Lage zu sein, menschenähnliche Konversationen auf natürliche Weise zu führen und auf eine Vielzahl von Fragen und Anfragen zu antworten.

Als KI-basiertes Sprachmodell verwendet ChatGPT ein neuronales Netzwerk, um aus den Eingaben, die ihm gegeben werden, eine Antwort zu generieren. Es wurde darauf trainiert, auf eine Vielzahl von Themen und Fragen zu antworten, einschließlich Wissenschaft, Technologie, Kunst, Gesundheit, Geschichte und vieles mehr.

ChatGPT kann auf verschiedenen Plattformen und in verschiedenen Anwendungen verwendet werden, wie zum Beispiel auf Chatbots, um Kundenanfragen zu beantworten oder auf Foren, um Fragen von Benutzern zu beantworten. Es kann auch zur Automatisierung von Textgenerierung und -verarbeitung in verschiedenen Anwendungen eingesetzt werden.

Was ist Flask?

Python Flask ist ein Web-Framework, das in der Programmiersprache Python geschrieben wurde. Es ist eine schnelle und flexible Möglichkeit, Webanwendungen zu entwickeln, die auf dem sogenannten Model-View-Controller (MVC)-Konzept basieren.

Flask ermöglicht es Entwicklern, schnell und einfach Webanwendungen zu erstellen, die auf einem Webserver ausgeführt werden können. Es bietet eine Reihe von Funktionen und Tools, die die Entwicklung erleichtern, wie zum Beispiel die Unterstützung von HTTP-Anfragen, Vorlagen, Datenbanken und vieles mehr.

Flask ist ein sogenanntes "Micro-Framework", das bedeutet, dass es sehr schlank und leichtgewichtig ist. Im Gegensatz zu anderen Frameworks bietet es nur eine begrenzte Anzahl von Funktionen "out of the box", aber es kann durch die Verwendung von Erweiterungen oder Add-ons einfach erweitert werden. Flask ist auch sehr flexibel und kann mit anderen Python-Tools und -Bibliotheken integriert werden.

Insgesamt ist Flask eine großartige Option für Entwickler, die eine schnelle und flexible Möglichkeit suchen, um Webanwendungen mit Python zu erstellen. Es ist einfach zu erlernen, schnell und bietet viele Erweiterungsmöglichkeiten.

ChatGPT in Python Aufrufen

Um ChatGPT mit der Python Library zu verwenden, müssen Sie zuerst die OpenAI API-Zugangsdaten erhalten, um auf das Modell zugreifen zu können. Hier sind die grundlegenden Schritte, um ChatGPT mit der Python Library zu verwenden:

  1. Installieren Sie die OpenAI Python-Bibliothek, indem Sie den folgenden Befehl in der Kommandozeile ausführen:

pip install openai
  1. Richten Sie ein Konto bei OpenAI ein und erhalten Sie Ihre API-Zugangsdaten.
  2. Verwenden Sie die Funktion openai.Completion.create() um eine Anfrage an das GPT-Modell zu senden und die Ausgabe zu erhalten. Hier ist ein Beispiel:

import openai

def get_completion(prompt):
    openai.api_key = "IHR API KEY"
    completion = openai.Completion.create(max_tokens=50, engine="text-davinci-003",
                                          prompt=prompt, stop=".")
    if "choices" not in completion or len(completion.choices) == 0:
        raise Exception("Chatbot could not respond to prompt")
    return completion.choices[0].text

In Flask wird ein Controller als eine Funktion definiert, die eine URL-Anfrage (HTTP Request) verarbeitet und eine HTTP-Antwort zurückgibt. Die Verarbeitung einer URL-Anfrage in Flask wird als "Routing" bezeichnet.


from flask import Flask, request, make_response
from chatgpt_completion import get_completion
import logging
from flask_cors import CORS

app = Flask(__name__)
CORS(app)
app.logger.level = logging.DEBUG
logging.basicConfig(level=logging.DEBUG)


@app.route('/', methods=["GET"])
def get_chatgpt_answer():
    text = request.args.get("prompt", "")
    app.logger.error(text)

    result = get_completion(text)
    app.logger.error(result)
    response = make_response(result)
    response.headers["Access-Control-Allow-Origin"] = "*"
    return response


if __name__ == '__main__':
    app.run(debug=True, port=5000, host="0.0.0.0")

Die Flask-CORS-Bibliothek bietet Cross-Origin Resource Sharing (CORS) Unterstützung für Flask-Anwendungen. CORS ist ein Mechanismus, der es Webanwendungen ermöglicht, Ressourcen aus anderen Domains aufzurufen. Die Verwendung von CORS in Flask-Anwendungen erlaubt beispielsweise einem Frontend in JavaScript, auf eine Backend-API zuzugreifen, die auf einem anderen Server ausgeführt wird.

Die Flask-CORS-Bibliothek bietet eine einfache Möglichkeit, CORS in Flask-Anwendungen zu aktivieren und zu konfigurieren. Hier ist eine grundlegende Erläuterung, wie Flask-CORS funktioniert:

  1. Installieren Sie Flask-CORS, indem Sie den folgenden Befehl in der Kommandozeile ausführen:

pip install flask-cors

Verwende die Flask CORS Bibliothek:


from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

No items found.

Häufig gestellte Fragen:

Weitere Artikel:

Tobias Bück

Meine Leidenschaft für die Programmierung begleitet mich schon seit vielen Jahren und ich bin stolz darauf, mein Wissen und meine Erfahrungen in der Entwicklung von Softwarelösungen nutzen zu können, um meinen Kunden maßgeschneiderte Lösungen anzubieten. Besonders gut kenne ich mich mit dem OTOBO Ticketsystem aus und bin in der Lage, damit auch komplexe Probleme zu lösen. Neben meiner Arbeit als Geschäftsführer, genieße ich es in meiner Freizeit zu joggen. Die Bewegung in der Natur tut mir gut und hilft mir dabei, mich zu entspannen und neue Energie zu tanken. Obwohl ich meinen Lebensmittelpunkt in Karlsruhe habe, verbringe ich auch gerne Zeit in meiner Heimatstadt Mainz, um Freunde und Familie zu besuchen. Das Internet ermöglicht es mir, meine Hilfe auch Menschen aus der ganzen Welt anzubieten. Ich freue mich, mein Wissen zu teilen und anderen bei ihren Projekten und Problemen zu helfen. Es bereitet mir Freude, wenn ich dabei helfen kann, dass Ideen und Projekte erfolgreich umgesetzt werden können.
tobias.bueck@softoft.de
Zuletzt Aktualisiert
14.4.2023

Kontakt:

Gerne vereinbaren wir ein Beratungsgespräch

info@softoft.de
Wir Freuen Uns Über Deine Nachricht!
Bitte gebe Kontaktdaten an über die wir dich erreichen können
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Email Schreiben