Guia de início rápido: adicionar DALL-E ao seu aplicativo da área de trabalho .NET MAUI para Windows
Neste início rápido, nós demonstraremos como integrar os recursos de geração de imagem do DALL-E ao seu aplicativo da área de trabalho .NET MAUI para Windows.
Pré-requisitos
- Visual Studio 2022 17.8 ou superior, com a carga de trabalho da interface do usuário do aplicativo multiplataforma .NET instalada. Para obter mais informações, confira Instalação.
- Um projeto funcional .NET MAUI com integração do OpenAI ao qual esse recurso será integrado. Consulte Criar um aplicativo de recomendação com o .NET MAUI e o ChatGPT - demonstraremos como integrar o DALL-E à interface do usuário neste tutorial.
- Uma chave de API OpenAI do painel do desenvolvedor de OpenAI.
- Um pacote NuGet do .NET OpenAI versão 2.0.0 ou posterior instalado em seu projeto. Esta API está em pré-lançamento. Se acompanhou o tutorial do ChatGPT do .NET MAUI, você terá essa dependência instalada e configurada.
Que problema vamos resolver?
Você deseja adicionar os recursos de geração de imagem do DALL-E ao seu aplicativo da área de trabalho .NET MAUI para Windows para fornecer aos usuários uma experiência rica e interativa. Eles já podem usar o aplicativo para gerar recomendações baseadas em texto e você deseja adicionar a capacidade de gerar imagens que visualizem uma atividade no local em que elas foram inseridas.
Definir as variáveis de ambiente
Para usar o SDK do OpenAI, você precisará definir uma variável de ambiente com a chave de API. Neste exemplo, usaremos a variável de ambiente OPENAI_API_KEY
. Depois de obter a chave de API no painel do desenvolvedor de OpenAI, é possível definir a variável de ambiente da linha de comando da seguinte maneira:
setx OPENAI_API_KEY <your-api-key>
Observe que esse método funciona para desenvolvimento no Windows, mas convém usar um método mais seguro para aplicativos de produção e suporte móvel. Por exemplo, você pode armazenar sua chave de API em um cofre de chaves seguro que um serviço remoto possa acessar em nome do seu aplicativo. Consulte Práticas recomendadas para segurança de chave OpenAI para obter mais informações.
Instalar e inicializar a biblioteca OpenAI para .NET
Nesta seção, vamos instalar o SDK no projeto .NET MAUI e inicializá-lo com sua chave de API do OpenAI.
Se você ainda não tiver instalado o
OpenAI
pacote NuGet, poderá fazer isso executandodotnet add package OpenAI -IncludePrerelease
da janela de terminal do Visual Studio.Uma vez instalado, você pode inicializar a instância
OpenAIClient
do SDK com sua chave de API do OpenAI emMainPage.xaml.cs
da seguinte maneira: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); }
Modifique a interface do usuário do aplicativo
Em seguida, modificaremos a interface do usuário para incluir um controle Image
que exibe uma imagem gerada abaixo do texto de recomendação.
Se você estiver começando com um novo projeto, copie o XAML para
MainPage.xaml
do tutorial Criar um aplicativo de recomendação com .NET MAUI e ChatGPT.Adicione um
StackLayout
contendo um controleLabel
e um controleCheckBox
paraMainPage.xaml
abaixo do controleLocationEntry
para permitir que os usuários selecionem se desejam gerar uma imagem:... <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> ...
Adicione um
Image
controle abaixo do controleSmallLabel
para exibir a imagem gerada:... <Image x:Name="GeneratedImage" WidthRequest="256" HeightRequest="256" HorizontalOptions="Center"/> </VerticalStackLayout>
Implementar a geração de imagens DALL-E
Nesta seção, adicionaremos um método para manipular a geração de imagem e o chamaremos do método GetRecommendationAsync
existente para exibir a imagem gerada.
Se você estiver começando com um novo projeto, verifique se o código em
MainPage.xaml.cs
corresponde ao código do tutorial Criar um aplicativo de recomendação com .NET MAUI e ChatGPT.Adicione um método chamado
GetImageAsync
para manipular a geração de imagens. O novo método chamará a API do OpenAI para gerar uma imagem com base no prompt que criaremos na próxima etapa. Ele retorna um objetoImageSource
que é usado para exibir a imagem na interface do usuário: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); }
Adicione uma diretiva de uso para as classes de geração de imagem na parte superior do arquivo:
using OpenAI.Images;
Adicione o código a seguir ao final do método
GetRecommendationAsync
para chamar condicionalmente o métodoGetImageAsync
e exibir a imagem gerada:if (IncludeImageChk.IsChecked) { var imagePrompt = $"Show some fun things to do in {LocationEntry.Text} when visiting a {recommendationType}."; GeneratedImage.Source = await GetImageAsync(imagePrompt); }
A cadeia de caracteres
imagePrompt
foi criada com base na entrada de localização do usuário e no tipo de recomendação selecionado.
Executar e testar
Execute seu aplicativo, insira um local válido e clique em um dos botões de recomendação. Você deverá ver algo como:
Como resolvemos o problema?
Adicionamos os recursos de geração de imagens do DALL-E ao nosso aplicativo da área de trabalho .NET MAUI para Windows. Os usuários agora podem gerar imagens com base no local que inserem e no tipo de recomendação que selecionarem. Isso fornece uma experiência rica e interativa para os usuários e aprimora a funcionalidade do aplicativo.
Limpar os recursos
É importante certificar-se de que sua conta do OpenAI esteja segura. Se você não estiver planejando usar a chave da API do OpenAI para outros projetos, exclua-a do painel do desenvolvedor OpenAI. Você também deve definir um limite de gastos razoável em sua conta do OpenAI para evitar cobranças inesperadas. Você pode verificar seu uso e gastos atuais no painel do OpenAI na página Uso.
Conteúdo relacionado
- Instalação do .NET MAUI
- Criar um aplicativo de recomendação com o .NET MAUI e o ChatGPT
- Adicionar DALL-E ao seu aplicativo de área de trabalho WinUI 3 / Windows App SDK
- Criar um aplicativo .NET MAUI com a Marcação C# e o Kit de Ferramentas da Comunidade
- Desenvolvendo aplicativos e recursos de IA generativa responsável no Windows