paint-brush
100 Tage KI, Tag 12: So demonstrieren Sie schnell Ihre Gen-KI-Experimente, um Feedback zu erhaltenvon@sindamnataraj
661 Lesungen
661 Lesungen

100 Tage KI, Tag 12: So demonstrieren Sie schnell Ihre Gen-KI-Experimente, um Feedback zu erhalten

von Nataraj5m2024/03/01
Read on Terminal Reader

Zu lang; Lesen

In diesem Beitrag werden wir untersuchen, wie man ein KI-Experiment ganz einfach in eine Demo umwandeln kann, die Feedback einholen kann.
featured image - 100 Tage KI, Tag 12: So demonstrieren Sie schnell Ihre Gen-KI-Experimente, um Feedback zu erhalten
Nataraj HackerNoon profile picture

Hallo alle miteinander! Ich bin Nataraj und genau wie Sie bin ich von den jüngsten Fortschritten der künstlichen Intelligenz fasziniert. Als mir klar wurde, dass ich über alle Entwicklungen auf dem Laufenden bleiben musste, beschloss ich, mich auf eine persönliche Lernreise zu begeben, und so waren 100 Tage KI geboren! In dieser Reihe lerne ich etwas über LLMs und teile in meinen Blogbeiträgen Ideen, Experimente, Meinungen, Trends und Erkenntnisse. Sie können die Reise hier auf HackerNoon oder hier auf meiner persönlichen Website verfolgen. Im heutigen Artikel werden wir versuchen, mithilfe von GPT-4 einen semantischen Kernel zu erstellen.


Wenn Sie die 100 Days of AI-Reihe lesen, schreibe ich ein gemeinsames Thema, das Ihnen auffallen wird: In den meisten Beiträgen handelt es sich um eine Art Experiment oder eine Demo. Am Ende der Beiträge liste ich auch Ideen auf, die mit den von mir erforschten Technologien möglich sind. Die nächste offensichtliche Frage lautet also: Gibt es eine Möglichkeit, diese Experimente einfach in vorführfähige Produkte zu packen, sie mit anderen zu teilen und Feedback zu erhalten?


In diesem Beitrag werden wir untersuchen, wie man ein KI-Experiment ganz einfach in eine Demo umwandeln kann, die Feedback einholen kann.


Nehmen wir an, Sie möchten eine KI-App erstellen, die Text aufnimmt und eine Zusammenfassung zurückgibt. Und Sie möchten es mit anderen teilen und Feedback erhalten. Wenn Sie eine Web-App für diese App erstellen müssen, müssen Sie die Benutzeroberfläche codieren, sicherstellen, dass Sie eine Hosting-Lösung finden und herausfinden, wie der gesamte Stack aussehen wird. Natürlich gibt es fertige Webapp-Stacks, mit denen es schneller geht, aber Sie benötigen für Ihren Anwendungsfall nicht so viel Komplexität. Stattdessen werden wir Gradio verwenden, das eine Web-App-ähnliche Schnittstelle erstellt, ohne Code für diese App schreiben zu müssen.

Was ist Gradio?

Gradio ist eine Python-Bibliothek, mit der Sie ganz einfach Demos Ihrer KI-Apps erstellen und diese in Form einer Web-App mit einem Publikum teilen können.

Um zu verstehen, wie man ein Gen-KI-Experiment mit Gradio einfach demonstriert, erstellen wir eine Zusammenfassungs-Web-App, in der Sie der App einen Langtext geben können und die App die Zusammenfassung dieses Langtextes ausgibt.

Schritt 1: Einrichtung

Zusammen mit Gradio werden wir die Hugging-Face-App verwenden. Stellen Sie daher sicher, dass Sie Ihren Hugging-Face-API-Schlüssel griffbereit haben. Laden Sie zunächst den API-Schlüssel aus der .env-Datei hoch und fügen Sie die erforderlichen Python-Module hinzu.

 import os import io from IPython.display import Image, display, HTML #from PIL import Image import base64 import openai env_path = '../.env' from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv(env_path)) # read local .env file hf_api_key = os.environ['HF_API_KEY']

Schritt 2: Zusammenfassungsfunktion definieren

Die Kernlogik dessen, was wir erreichen wollen, besteht darin, einen langen Text an ein Modell zu senden und eine Zusammenfassung des Textes zu erhalten. Wir werden eine Funktion definieren, die den Langtext als Eingabe aufnimmt und ein Modell für die Umarmung des Gesichts namens „distilbart“ aufruft. Hier ist die Funktion, dies zu tun.

 def get_completion(inputs, parameters=None, ENDPOINT_URL=os.environ['HF_API_SUMMARY_BASE']): headers = { "Authorization": f"Bearer {hf_api_key}", "Content-Type": "application/json" } data = { "inputs": inputs } if parameters is not None: data.update({"parameters": parameters}) response = requests.request("POST", ENDPOINT_URL, headers=headers, data=json.dumps(data) ) return json.loads(response.content.decode("utf-8"))

Schritt 3: Verwenden Sie Gradio, um die Zusammenfassungs-App vorzuführen

Die Interaktion mit Gradio erfolgt hauptsächlich über die Schnittstellenfunktion . Wir müssen eine Funktion und die entsprechenden Ein- und Ausgänge übergeben. Beachten Sie, dass wir zu diesem Zweck eine neue Funktion namens summary definiert haben. Diese Funktion nimmt eine Eingabe entgegen, bei der es sich um den Langtext handelt, der zusammengefasst werden soll, und die Funktion ruft die Funktion get_completion aus Schritt 2 auf, um die Zusammenfassung des Eingabetextes abzurufen und diese als Ausgabe zurückzugeben. Abschließend bitten wir gradio, die Demo dieser App zu starten. Durch die Bereitstellung von „share=True“ weisen wir gradio an, einen öffentlichen Link zu erstellen, der für andere freigegeben werden kann, und geben außerdem den server_port an, auf dem der lokale Webhost ausgeführt werden soll. Im folgenden Code passen wir auch den Titel, die Beschreibung und die Beschriftungen der Eingabe- und Ausgabefelder an, die Sie in der Ausgabe bemerken werden.

 import gradio as gr def summarize(input): output = get_completion(input) return output[0]['summary_text'] gr.close_all() demo = gr.Interface(fn=summarize, inputs=[gr.Textbox(label="Text to summarize", lines=6)], outputs=[gr.Textbox(label="Result", lines=3)], title="Text summarization with distilbart-cnn", description="Summarize any text using the `shleifer/distilbart-cnn-12-6` model under the hood!" ) demo.launch(share=True, server_port=int(os.environ['PORT1']))

Sobald Sie dies ausführen, sieht die Ausgabe in Ihrem Browser unter http://127.0.0.1:<Ihre Portnummer> wie folgt aus.

Gradio-Ausgabe


So einfach ist es, ein Projekt mit Gradio vorzuführen. Das Schöne daran ist, dass Sie als Entwickler keinen UI-Stack entwickeln und sich nicht mit der Komplexität auseinandersetzen mussten, diesen Stack zu erlernen und ihn in die Produktion zu bringen. Gradio erledigt das für Sie.


Gradio bietet verschiedene Eingabe- und Ausgabetypen, mit denen Sie komplexere und interessantere Demos erstellen können, die leicht geteilt werden können. Wir werden in den kommenden Beiträgen weitere Demos mit Gradio und anderen Tools erkunden.


Das war's für Tag 12 von 100 Tagen KI.


Ich schreibe einen Newsletter mit dem Titel Above Average, in dem ich über die Erkenntnisse zweiter Ordnung spreche, die hinter allem stecken, was in der Big-Tech-Branche passiert. Wenn Sie in der Technikbranche tätig sind und nicht durchschnittlich sein möchten, abonnieren Sie es .


Folgen Sie mir auf Twitter , LinkedIn oder HackerNoon für die neuesten Updates zu 100 Tagen KI. Wenn Sie im technischen Bereich tätig sind, könnten Sie daran interessiert sein, meiner Community von technischen Fachleuten hier beizutreten.