Ursprünglich veröffentlicht auf dem Streamlit-Blog von Liz Acosta
Erinnern Sie sich, wie cool es war, zum ersten Mal mit einem KI-Bildgenerator zu spielen? Diese zwanzig Millionen Finger und alptraumhaften Spaghetti-Essen-Bilder waren mehr als nur amüsant, sie zeigten ganz nebenbei, dass Ups! KI-Modelle sind nur so schlau wie wir. Wie wir haben auch sie Schwierigkeiten, Hände zu zeichnen.
KI-Modelle sind schnell ausgefeilter geworden, aber mittlerweile gibt es so viele davon. Und – wiederum – wie wir sind einige von ihnen bei bestimmten Aufgaben besser als andere. Nehmen wir zum Beispiel die Textgenerierung. Auch wenn Llama, Gemma und Mistral allesamt LLMs sind, sind einige von ihnen besser im Generieren von Code, während andere besser im Brainstorming, Programmieren oder kreativen Schreiben sind. Sie bieten je nach Anforderung unterschiedliche Vorteile, daher kann es sinnvoll sein, mehr als ein Modell in Ihre KI-Anwendung einzubeziehen.
AberWieintegrieren Sie all diese Modelle in Ihre App,ohneCode zu duplizieren? Wie gestalten Sie Ihren Einsatz von KI modularer und damit einfacher zu warten und zu skalieren? Hier kann eine API einen standardisierten Satz von Anweisungen für die Kommunikation über verschiedene Technologien hinweg bereitstellen.
In diesem Blogbeitrag werfen wir einen Blick darauf, wie Sie Replicate mit Streamlit verwenden, um eine App zu erstellen, mit der Sie verschiedene LLMs mit einem einzigen API-Aufruf konfigurieren und aufrufen können. Und keine Sorge – wenn ich „App“ sage, meine ich nicht, dass Sie einen ganzen Flask-Server hochfahren oder Ihre Routen mühsam konfigurieren oder sich um CSS kümmern müssen. Streamlit hat das für Sie abgedeckt ?
Lesen Sie weiter, um zu erfahren:
Keine Lust auf Lesen? Hier sind einige andere Möglichkeiten, diese Demo zu erkunden:
Replicate ist eine Plattform, die es Entwicklern ermöglicht, Open-Source-KI-Modelle über eine CLI, API oder ein SDK bereitzustellen, zu optimieren und darauf zuzugreifen. Die Plattform erleichtert die programmgesteuerte Integration von KI-Funktionen in Softwareanwendungen.
Bei gemeinsamer Verwendung ermöglicht Ihnen Replicate die Entwicklung multimodaler Apps, die Eingaben akzeptieren und Ausgaben in verschiedenen Formaten generieren können, sei es Text, Bild, Sprache oder Video.
Streamlit ist ein Open-Source-Python-Framework zum Erstellen hochgradig interaktiver Apps – in nur wenigen Codezeilen. Streamlit lässt sich in die neuesten Tools der generativen KI integrieren, wie z. B. jedes LLM, jede Vektordatenbank oder verschiedene KI-Frameworks wie LangChain, LlamaIndex oder Weights & Biases. Die Chat-Elemente von Streamlit machen die Interaktion mit KI besonders einfach, sodass Sie Chatbots erstellen können, die „mit Ihren Daten sprechen“.
In Kombination mit einer Plattform wie Replicate ermöglicht Ihnen Streamlit die Erstellung generativer KI-Anwendungen ohne Aufwand für das App-Design.
? Um mehr darüber zu erfahren, wie Streamlit Sie zum Fortschritt vorantreibt, schauen Sie sich diesen Blogbeitrag an.
Um mehr über Streamlit zu erfahren, schauen Sie sich den 101-Leitfaden an.
Aber glauben Sie mir nicht beim Wort. Probieren Sie die App selbst aus oder schauen Sie sich ein Video an und sehen Sie, was Sie denken.
In dieser Demo starten Sie eine Streamlit-Chatbot-App mit Replicate. Die App nutzt eine einzige API, um auf drei verschiedene LLMs zuzugreifen und Parameter wie Temperatur und Top-P anzupassen. Diese Parameter beeinflussen die Zufälligkeit und Vielfalt des KI-generierten Textes sowie die Methode, mit der Token ausgewählt werden.
?Was ist die Modelltemperatur?Die Temperatur steuert, wie das Modell Token auswählt. Eine niedrigere Temperatur macht das Modell konservativer und bevorzugt gebräuchliche und „sichere“ Wörter. Umgekehrt ermutigt eine höhere Temperatur das Modell, mehr Risiken einzugehen, indem es weniger wahrscheinliche Token auswählt, was zu kreativeren Ergebnissen führt.
?Qu'est-ce que top-p ?Également connu sous le nom d'« échantillonnage de noyau » — est une autre méthode d'ajustement du caractère aléatoire. Cela fonctionne en considérant un ensemble plus large de jetons à mesure que la valeur top-p augmente. Une valeur top-p plus élevée conduit à l'échantillonnage d'une gamme plus diversifiée de jetons, produisant des sorties plus variées.
? Pour en savoir plus sur les clés API, consultez l'article de blog ici.
Configuration locale
Configuration des espaces de codes GitHub
À partir du dépôt Cookbook sur GitHub, créez un nouvel espace de code en sélectionnant l'option Codespaces à partir du bouton Code
Une fois l'espace de code généré, ajoutez votre clé API Replicate au fichier Recipes/replicate/.streamlit/secrets_template.toml
Mettez à jour le nom de fichier de secrets_template.toml à secrets.toml
(Pour en savoir plus sur la gestion des secrets dans Streamlit, reportez-vous à la documentation ici.)
Depuis le répertoire racine du Cookbook, changez le répertoire en Répliquer la recette : cd recettes/replicate
Installez les dépendances : pip install -r exigences.txt
Ajoutez le code suivant au fichier :
import replicate import toml import os # Read the secrets from the secrets.toml file with open(".streamlit/secrets.toml", "r") as f: secrets = toml.load(f) # Create an environment variable for the Replicate API token os.environ['REPLICATE_API_TOKEN'] = secrets["REPLICATE_API_TOKEN"] # Run a model for event in replicate.stream("meta/meta-llama-3-8b", input={"prompt": "What is Streamlit?"},): print(str(event), end="")
Exécutez le script : python replique_hello_world.py
Vous devriez voir une impression du texte généré par le modèle.
Pour en savoir plus sur les modèles Replicate et leur fonctionnement, vous pouvez vous référer à leur documentation ici. À la base, un « modèle » Replicate fait référence à un programme logiciel formé, packagé et publié qui accepte les entrées et renvoie les sorties.
Dans ce cas particulier, le modèle est meta/meta-llama-3-8b et l'entrée est "prompt" : "Qu'est-ce que Streamlit ?". Lorsque vous exécutez le script, un appel est effectué au point de terminaison Replicate et le texte imprimé est la sortie renvoyée par le modèle via Replicate.
Pour exécuter l'application de démonstration, utilisez la CLI Streamlit : streamlit run streamlit_app.py.
L'exécution de cette commande déploie l'application sur un port sur localhost. Lorsque vous accédez à cet emplacement, vous devriez voir une application Streamlit en cours d'exécution.
Vous pouvez utiliser cette application pour inviter différents LLM via Répliquer et produire du texte génératif en fonction des configurations que vous fournissez.
L'utilisation de Replicate signifie que vous pouvez lancer plusieurs LLM open source avec une seule API, ce qui contribue à simplifier l'intégration de l'IA dans les flux logiciels modernes.
Ceci est accompli dans le bloc de code suivant :
for event in replicate.stream(model, input={"prompt": prompt_str, "prompt_template": r"{prompt}", "temperature": temperature, "top_p": top_p,}): yield str(event)
Les configurations du modèle, de la température et du top p sont fournies par l'utilisateur via les widgets de saisie de Streamlit. Les éléments de chat de Streamlit facilitent l'intégration des fonctionnalités de chatbot dans votre application. Le meilleur, c'est que vous n'avez pas besoin de connaître JavaScript ou CSS pour implémenter et styliser ces composants – Streamlit fournit tout cela dès le départ.
Replicate fournit un point de terminaison API pour rechercher des modèles publics. Vous pouvez également explorer les modèles présentés et les cas d'utilisation sur leur site Web. Cela facilite la recherche du modèle adapté à vos besoins spécifiques.
Différents modèles ont des caractéristiques de performance différentes. Utilisez le modèle approprié en fonction de vos besoins de précision et de rapidité.
Die Ausgabedaten von Replicate sind nur eine Stunde lang verfügbar. Verwenden Sie Webhooks, um die Daten in Ihrem eigenen Speicher zu speichern. Sie können auch Webhooks einrichten, um asynchrone Antworten von Modellen zu verarbeiten. Dies ist entscheidend für die Erstellung skalierbarer Anwendungen.
Nutzen Sie nach Möglichkeit Streaming. Einige Modelle unterstützen Streaming, sodass Sie Teilergebnisse bereits während der Generierung erhalten. Dies ist ideal für Echtzeitanwendungen.
Die Verwendung von Bild-URLs bietet eine verbesserte Leistung im Vergleich zur Verwendung hochgeladener Bilder, die mit Base 64 kodiert sind.
Mit Streamlit werden monatelange App-Designarbeiten auf nur wenige Zeilen Pythonrationalisiert. Es ist der perfekte Rahmen, um Ihre neuesten KI-Erfindungen zu präsentieren.
Machen Sie sichschnellan die Arbeit mit anderen KI-Rezepten im Streamlit-Kochbuch. (Und vergessen Sie nicht, uns im Forum zu zeigen, was Sie bauen!)
Viel Spaß beim Streamliten! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!