Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zintegruj funkcje generowania obrazów DALL-E z aplikacją klasyczną systemu Windows .NET MAUI, aby ulepszyć środowisko użytkownika dzięki wizualizacjom generowanym przez sztuczną inteligencję. Ten przewodnik zawiera instrukcje krok po kroku z przykładami kodu, aby dodać zaawansowane funkcje generowania obrazów do aplikacji.
Wymagania wstępne
- Program Visual Studio 2022 w wersji 17.8 lub nowszej z zainstalowanym pakietem pracy interfejsu użytkownika aplikacji wieloplatformowej platformy .NET. Aby uzyskać więcej informacji, zobacz Installation.
- Funkcjonalny projekt MAUI platformy .NET z integracją openAI, w którym ta funkcja zostanie zintegrowana. Zobacz Tworzenie aplikacji rekomendacji przy użyciu interfejsu .NET MAUI i ChatGPT — pokażemy, jak zintegrować DALL-E z interfejsem użytkownika z tego przewodnika.
- Klucz API OpenAI z pulpitu nawigacyjnego dewelopera OpenAI.
- Pakiet NuGet .NET OpenAI w wersji 2.0.0 lub nowszej jest zainstalowany w Twoim projekcie. Ta wersja jest obecnie w wersji przedpremierowej. Jeśli śledziłeś samouczek .NET MAUI ChatGPT, będziesz mieć tę zależność zainstalowaną i skonfigurowaną.
Jaki problem rozwiążemy?
Chcesz dodać możliwości generowania obrazów przez DALL-E do swojej aplikacji desktopowej .NET MAUI na Windows, aby zapewnić użytkownikom bogate, interaktywne doświadczenie. Mogą już używać aplikacji do generowania rekomendacji opartych na tekście i chcesz dodać możliwość generowania obrazów wizualizowania działania w wprowadzonej lokalizacji.
Ustawianie zmiennej środowiskowej
Aby korzystać z zestawu OpenAI SDK, należy ustawić zmienną środowiskową przy użyciu klucza interfejsu API. W tym przykładzie użyjemy zmiennej środowiskowej OPENAI_API_KEY . Po uzyskaniu klucza interfejsu API z pulpitu nawigacyjnego dewelopera OpenAI, możesz ustawić zmienną środowiskową z poziomu wiersza polecenia w następujący sposób:
setx OPENAI_API_KEY <your-api-key>
Należy pamiętać, że ta metoda działa na potrzeby programowania w systemie Windows, ale należy użyć bezpieczniejszej metody dla aplikacji produkcyjnych i obsługi urządzeń przenośnych. Możesz na przykład przechowywać klucz interfejsu API w bezpiecznym magazynie kluczy, do którego usługa zdalna może uzyskać dostęp w imieniu aplikacji. Aby uzyskać więcej informacji , zobacz Best practices for OpenAI key safety (Najlepsze rozwiązania dotyczące bezpieczeństwa kluczy openAI ).
Instalowanie i inicjowanie biblioteki OpenAI dla platformy .NET
W tej sekcji zainstalujemy zestaw SDK w projekcie .NET MAUI i zainicjujemy go przy użyciu klucza interfejsu API OpenAI.
Jeśli pakiet NuGet nie został jeszcze zainstalowany
OpenAI, możesz to zrobić, uruchamiając poleceniedotnet add package OpenAI -IncludePrereleasew oknie terminalu programu Visual Studio.Po zainstalowaniu można zainicjować
OpenAIClientwystąpienie z zestawu SDK przy użyciu klucza interfejsu API OpenAI w następującyMainPage.xaml.cssposób:private OpenAIClient _chatGptClient; public MainPage() { InitializeComponent(); this.Loaded += MainPage_Loaded; } private void MainPage_Loaded(object sender, EventArgs e) { var openAiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY"); _chatGptClient = new(openAiKey); }
Modyfikowanie interfejsu użytkownika aplikacji
Następnie zmodyfikujemy interfejs użytkownika tak, aby zawierał kontrolkę Image , która wyświetla wygenerowany obraz poniżej tekstu zalecenia.
Jeśli zaczynasz nowy projekt, skopiuj kod XAML z samouczka
MainPage.xaml.Dodaj kontrolkę
StackLayoutzawierającą kontrolkęLabeli kontrolkęCheckBoxponiżejMainPage.xamlkontrolkiLocationEntry, aby umożliwić użytkownikom wybranie, czy ma zostać wygenerowany obraz:... <Entry x:Name="LocationEntry" Placeholder="Enter your location" SemanticProperties.Hint="Enter the location for recommendations" HorizontalOptions="Center"/> <!-- Add this markup --> <StackLayout Orientation="Horizontal" HorizontalOptions="Center"> <Label Text="Generate image" VerticalOptions="Center"/> <CheckBox x:Name="IncludeImageChk" VerticalOptions="Center"/> </StackLayout> ...Dodaj kontrolkę
Imageponiżej kontrolki,SmallLabelaby wyświetlić wygenerowany obraz:... <Image x:Name="GeneratedImage" WidthRequest="256" HeightRequest="256" HorizontalOptions="Center"/> </VerticalStackLayout>
Implementacja generowania obrazów DALL-E
W tej sekcji dodamy metodę do obsługi generowania obrazów i wywołania jej z istniejącej GetRecommendationAsync metody w celu wyświetlenia wygenerowanego obrazu.
Jeśli zaczynasz od nowego projektu, upewnij się, że kod w
MainPage.xaml.cspliku jest zgodny z kodem z samouczka Create a recommendation app with .NET MAUI and ChatGPT (Tworzenie aplikacji rekomendacji przy użyciu programu .NET MAUI i ChatGPT ).Dodaj metodę o nazwie
GetImageAsyncdo obsługi generowania obrazów. Nowa metoda wywoła interfejs API OpenAI w celu wygenerowania obrazu na podstawie monitu, który utworzymy w następnym kroku. ZwracaImageSourceobiekt używany do wyświetlania obrazu w interfejsie użytkownika:public async Task<ImageSource> GetImageAsync(string prompt) { // Use the DALL-E 3 model for image generation. ImageClient imageClient = _chatGptClient.GetImageClient("dall-e-3"); // Generate an image based on the prompt with a 1024x1024 resolution, the default for DALL-E 3. ClientResult<GeneratedImage> response = await imageClient.GenerateImageAsync(prompt, new ImageGenerationOptions { Size = GeneratedImageSize.W1024xH1024, ResponseFormat = GeneratedImageFormat.Uri }); // Image generation responses provide URLs you can use to retrieve requested image(s). Uri imageUri = response.Value.ImageUri; return ImageSource.FromUri(imageUri); }Dodaj dyrektywę using dla klas generowania obrazów w górnej części pliku:
using OpenAI.Images;Dodaj następujący kod na końcu
GetRecommendationAsyncmetody, aby warunkowo wywołać metodęGetImageAsynci wyświetlić wygenerowany obraz:if (IncludeImageChk.IsChecked) { var imagePrompt = $"Show some fun things to do in {LocationEntry.Text} when visiting a {recommendationType}."; GeneratedImage.Source = await GetImageAsync(imagePrompt); }Ciąg
imagePromptjest tworzony na podstawie danych wejściowych lokalizacji użytkownika i wybranego typu zalecenia.
Uruchamianie i testowanie
Uruchom aplikację, wprowadź prawidłową lokalizację i kliknij jeden z przycisków rekomendacji. Powinna zostać wyświetlona zawartość podobna do następującej:
Jak rozwiązaliśmy ten problem?
Dodaliśmy możliwości generowania obrazów DALL-E do naszej aplikacji desktopowej .NET MAUI systemu Windows. Użytkownicy mogą teraz generować obrazy na podstawie wprowadzonej lokalizacji i typu wybranej rekomendacji. Zapewnia to zaawansowane, interaktywne środowisko dla użytkowników i zwiększa funkcjonalność aplikacji.
Uprzątnij zasoby
Ważne jest, aby upewnić się, że twoje konto OpenAI jest bezpieczne. Jeśli nie planujesz używania klucza interfejsu API OpenAI dla innych projektów, usuń go z pulpitu nawigacyjnego dewelopera openAI. Należy również ustawić rozsądny limit wydatków na koncie OpenAI, aby uniknąć nieoczekiwanych opłat. Bieżące użycie i wydatki można sprawdzić na pulpicie nawigacyjnym interfejsu OpenAI na stronie Użycie .
Zobacz także
- Instalacja programu .NET MAUI
- Stwórz aplikację rekomendacyjną przy użyciu .NET MAUI i ChatGPT
- Dodaj DALL-E do aplikacji desktopowej WinUI 3 / Windows App SDK
- Tworzenie aplikacji MAUI platformy .NET przy użyciu znaczników języka C# i zestawu narzędzi Community Toolkit
- Tworzenie odpowiedzialnych aplikacji i funkcji sztucznej inteligencji w systemie Windows
- Galeria deweloperów sztucznej inteligencji
- Przykłady interfejsu API sztucznej inteligencji systemu Windows