Gradio NET Neue Perspektiven für die Entwicklung von Machine Learning Web Apps

Kategorien:
No items found.
Freigegeben:
August 27, 2024
Gradio .NET: Entwicklung von Machine Learning Web-Apps

Gradio .NET: Ein umfassender Überblick über die Entwicklung von Machine Learning Web-Apps

Einführung in Gradio .NET

In der sich ständig weiterentwickelnden Welt der Technologie stehen .NET-Entwickler vor zahlreichen Herausforderungen, insbesondere wenn es darum geht, schnell Webanwendungen zu implementieren. Traditionell war dafür umfassendes Wissen in JavaScript und CSS erforderlich. Mit Gradio .NET hat sich dies jedoch erheblich vereinfacht.

Gradio .NET ist ein innovatives Projekt, das die leistungsstarken Funktionen von Gradio in das .NET-Ökosystem integriert und es Entwicklern ermöglicht, herausragende Webanwendungen zu erstellen, ohne über Erfahrung im Frontend-Programmieren zu verfügen.

Was ist Gradio?

Gradio ist ein Open-Source-Python-Paket, das es ermöglicht, schnell eine Demo oder Webanwendung für Ihr Machine Learning Modell, Ihre API oder jede beliebige Python-Funktion zu erstellen. Dies erfordert keine Kenntnisse in JavaScript, CSS oder Webhosting.

Durch Gradio können Entwickler in wenigen Zeilen Python-Code eine benutzerfreundliche Oberfläche für ihr Machine Learning Modell erstellen und diese einfach teilen.

Gradio für .NET

Gradio .NET ist eine Portierung von Gradio, die es .NET-Entwicklern ermöglicht, die Vorteile von Gradio zu nutzen. Es vereinfacht den Entwicklungsprozess und ermöglicht es Entwicklern, sich auf ihre Kernkompetenzen im .NET-Programmieren zu konzentrieren. Mit nur wenigen Zeilen .NET-Code können Entwickler eine interaktive Benutzeroberfläche erstellen.

Erstellung Ihrer ersten Demo

Um eine erste Demo mit Gradio .NET zu erstellen, folgen Sie diesen Schritten:

  1. Erstellen Sie ein ASP.NET Core Web API-Projekt.
  2. Installieren Sie das NuGet-Paket Gradio.Net.AspNetCore.
  3. Geben Sie den folgenden Beispielcode in die Datei Program.cs ein:

App.Launch(await CreateBlocks());

async Task CreateBlocks()
{
    using (var blocks = gr.Blocks())
    {
        gr.Markdown("Start typing below and then click **Run** to see the output.");
        Textbox input, output;
        using (gr.Row())
        {
            input = gr.Textbox(placeholder: "What is your name?");
            output = gr.Textbox();
        }
        var btn = gr.Button("Run");
        await btn.Click(fn: async (input) => gr.Output($"Welcome to Gradio.Net, {Textbox.Payload(input.Data[0])}!"), inputs: new[] { input }, outputs: new[] { output });

        return blocks;
    }
}

Das war's schon! Mit diesen wenigen Zeilen Code haben Sie eine funktionierende Demo erstellt.

Verwendung von Gradio .NET in bestehenden Projekten

Sie können die Erweiterungsmethoden AddGradio und UseGradio in bestehenden Projekten verwenden:


var builder = WebApplication.CreateBuilder(args);
builder.Services.AddGradio();

var app = builder.Build();

app.UseGradio(await CreateBlocks());

app.Run();

Erstellung benutzerdefinierter Demos

Gradio bietet auch eine Low-Level-Ansatz für die Gestaltung von Web-Apps mit flexibleren Layouts und Datenflüssen über die Klasse gr.Blocks. Mit Blocks können Sie steuern, wo Komponenten auf der Seite erscheinen, komplexe Datenflüsse verwalten und Eigenschaften/ Sichtbarkeit von Komponenten basierend auf Benutzerinteraktionen aktualisieren - alles in Python.

Mit Gradio Blocks können sehr benutzerdefinierte und komplexe Anwendungen erstellt werden, wie z.B. die beliebte Bildgenerierungs-UI "Automatic1111".

Gradio .NET und die Python & JavaScript Ökosysteme

Gradio .NET eröffnet neue Möglichkeiten für .NET-Entwickler. Es beweist, dass selbst Entwickler ohne Frontend-Erfahrung leistungsstarke und ästhetisch ansprechende Webanwendungen erstellen können.

Das Gradio-Ökosystem umfasst Bibliotheken in Python und JavaScript, die es ermöglichen, Machine Learning Anwendungen zu erstellen oder sie programmatisch abzufragen. Dazu gehören:

  • Gradio Python Client: Abfrage jeder Gradio-App programmgesteuert in Python.
  • Gradio JavaScript Client: Abfrage jeder Gradio-App programmgesteuert in JavaScript.
  • Gradio-Lite: Schreiben Sie Gradio-Apps in Python, die vollständig im Browser laufen (kein Server erforderlich!), dank Pyodide.
  • Hugging Face Spaces: Der beliebteste Ort, um Gradio-Anwendungen kostenlos zu hosten.

Fazit

Gradio .NET eröffnet neue Möglichkeiten für .NET-Entwickler und zeigt, dass auch ohne Frontend-Erfahrung leistungsstarke und optisch ansprechende Webanwendungen erstellt werden können. Es ist an der Zeit, sich auf die Reise mit Gradio .NET zu begeben und die endlosen Möglichkeiten von .NET zu erkunden.

Bibliographie

- https://gradio.app/ - https://github.com/gradio-app/gradio - https://www.digitalocean.com/community/tutorials/how-to-build-machine-learning-web-application-using-gradio-on-ubuntu-22-04 - https://www.youtube.com/watch?v=YbOYWX4A3yg - https://github.com/feiyun0112/Gradio.Net - https://medium.com/@feiyun0112/exploring-gradio-net-a-powerful-tool-for-web-application-development-in-the-net-world-f5276c37681a - https://twitter.com/Gradio/status/1788224843898396802 - https://www.gradio.app/guides/creating-a-chatbot-fast
Was bedeutet das?