Blog Post

Desenvolvedores BR
6 MIN READ

Live Session: Crie Aplicações Inteligentes com TypeScript, Azure OpenAI e GitHub Copilot

Glaucia_Lemos's avatar
Glaucia_Lemos
Icon for Microsoft rankMicrosoft
Apr 24, 2024

Introdução

 

A tecnologia evolui a passos largos, e com ela, a necessidade de educação contínua em campos tecnológicos se torna cada vez mais crítica. Glaucia Lemos, numa apresentação detalhada e rica em conteúdo, explora o uso combinado de TypeScript, Azure OpenAI e GitHub Copilot para criar aplicações inteligentes, ilustrando o poder da integração de ferramentas avançadas no desenvolvimento de software.

 

Vejamos os principais pontos abordados durante a live session da DIO em parceria com a Microsoft Brasil.

 

O que foi abordado na live session

 

Caso você tenha perdido a live session, não se preocupe! Você pode conferir o vídeo completo abaixo:

 

 

Agora vamos resumir os principais pontos abordados durante a live session:

 

Desenvolvimento de Aplicações com TypeScript, Azure OpenAI e GitHub Copilot

 

A apresentação se aprofunda no uso prático de TypeScript em conjunto com o Azure OpenAI e GitHub Copilot.

 

Glaucia explica como essas ferramentas podem ser integradas para desenvolver aplicações que não apenas automatizam tarefas. Mas, também aprimoram a capacidade de inovação dos desenvolvedores. O TypeScript, com sua tipagem estática, oferece uma base robusta para criar aplicações escaláveis e de fácil manutenção.

 

Live Coding: Criando uma Aplicação DALL-E com Azure OpenAI e TypeScript

 

Um ponto alto da apresentação é o tutorial passo a passo onde Glaucia demonstra a criação de uma aplicação para gerar imagens usando Azure OpenAI integrado com o modelo DALL-E. Ela detalha a configuração do ambiente, desde a instalação de dependências até a autenticação e interação com a API do Azure OpenAI. O exemplo prático ilustra como enviar um prompt textual para o modelo DALL-E da OpenAI, que então retorna uma imagem gerada baseada na descrição fornecida.

 

Abaixo está o código TypeScript utilizado para interagir com a API do Azure OpenAI:

 

 

import { OpenAIClient, AzureKeyCredential } from "@azure/openai";
import * as dotenv from "dotenv";

dotenv.config();

const endpoint = process.env.AZURE_OPENAI_ENDPOINT || '';
const azureApiKey = process.env.AZURE_OPENAI_KEY || '';

const promptImage = "A captain with parrot on his shoulder";

export async function main() {
  try {
    console.log("=== Image Generation App with Dall-E ===");

    const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
    const deploymentName = 'dall-e-3';

    const imageGeneration = await client.getImages(deploymentName, promptImage, {
      n: 1,
      size: "1024x1024",
      responseFormat: "url",
      quality: "standard",
      style: "vivid",
    });

    for (const image of imageGeneration.data) {
      console.log(`Image URL: ${image.url}`);
    }
  } catch (error) {
    console.log("The sample encountered an error...: ", error);
  }
}

main();

 

 

 

Vamos destacar alguns pontos-chave do código de exemplo criado durante a live session:

 

  • Configuração do Ambiente: A aplicação TypeScript faz uso do pacote dotenv para carregar variáveis de ambiente a partir de um arquivo .env. Isso permite que informações sensíveis, como chaves de API, sejam mantidas fora do código fonte.

 

Dentro desse arquivo .env, você deve adicionar as seguintes variáveis:

 

AZURE_OPENAI_ENDPOINT="<URL_DO_ENDPOINT_AZURE_OPENAI>"
AZURE_OPENAI_KEY="<CHAVE_DE_AUTENTICAÇÃO_AZURE_OPENAI>"

 

 

  • Na variável promptImage, é definida a descrição textual que será enviada ao modelo DALL-E para gerar a imagem. Neste caso específico pedimos que seja gerada uma imagem de: "Um capitão com um papagaio no seu ombro"

  • Durante a live, a Glaucia destaca que, para criar modelos de imagem com o DALL-E, só está disponível no servidor do Azure na região da Sweden Central.

  • Também durante , a live a Glaucia mostra como criar esse modelo no Azure AI Studio, que é uma plataforma para criar, treinar e gerenciar modelos de IA.

  • A função main() é responsável por orquestrar a interação com a API do Azure OpenAI. Ela cria uma instância do cliente OpenAIClient e chama o método getImages() para gerar uma imagem baseada no prompt fornecido.

  • Os parâmetros passados para o método getImages() incluem o nome do modelo DALL-E, o prompt de imagem, o número de imagens a serem geradas, o tamanho da imagem, o formato de resposta, a qualidade e o estilo da imagem.

  • O resultado da chamada à API é uma URL que aponta para a imagem gerada. Essa URL é então exibida no console para que o usuário possa visualizar o resultado.

 

E, o resultado final é uma imagem gerada pelo modelo DALL-E da OpenAI, baseada na descrição textual fornecida.

 

 

Muito realista a imagem, não é mesmo? A cada dia que passa, os modelos do DALL-E tem gerado imagens com mais perfeição! E abaixo o gif do resultado final da aplicação:

 

 

 

Discussão sobre Inteligência Artificial e Aprendizado Contínuo

 

Glaucia não apenas mostra o "como" mas também discute o "porquê", abordando as implicações éticas e práticas do uso de Inteligência Artificial, em relação da preocupação da Microsoft seguir os princípios da IA Responsável que, pode ser resumido em 6 princípios:

 

  1. Equidade: A IA deve ser projetada para ser justa e imparcial, protegendo os direitos humanos e garantindo que todos sejam tratados de forma
  2. Transparência: A IA deve ser transparente e explicável, permitindo que as pessoas entendam como as decisões são tomadas.
  3. Privacidade e Segurança: A IA deve ser segura e respeitar a privacidade das pessoas.
  4. Inclusão: A IA deve ser projetada para ser acessível e inclusiva, capacitando todas as pessoas.
  5. Responsabilidade: A IA deve ser responsável e confiável, garantindo que as pessoas possam confiar nas decisões tomadas.
  6. Robustez: A IA deve ser robusta e confiável, garantindo que funcione de forma consistente e previsível.

 

Para saber mais sobre os princípios da IA Responsável, acesse o site da Microsoft.

 

Ela também enfatiza a necessidade de considerar a Inteligência Artificial como uma ferramenta de auxílio ao invés de uma ameaça, realçando como a AI pode ser usada para aumentar a produtividade sem substituir o elemento humano.

 

A Importância da Adaptação Tecnológica mediante aos avanços na área de Inteligência Artificial

 

A apresentação conclui com uma reflexão sobre a importância de se manter atualizado com as tendências tecnológicas.

 

Glaucia reitera que o aprendizado e a adaptação contínua são essenciais para qualquer profissional da área de tecnologia. A habilidade de integrar novas ferramentas e tecnologias é muito importante seja ela para o desenvolvimento de soluções inovadoras e eficientes ou até mesmo pessoal!

 

Conclusão

 

Durante a live poder ver como a busca contínua por conhecimento e a educacão tecnológica pode ser transformadora. Através da exploração de TypeScript, Azure OpenAI e GitHub Copilot, podemos ver que quando é bem aplicada e acompanhada de uma base educacional sólida, abre caminhos para o futuro do desenvolvimento de software e para a evolução contínua dos profissionais envolvidos.

 

Não podemos negar que devido a constante evolução no mundo de IA, a necessidade de se manter sempre atualizado será algo importante. E, principalmente, procurar fazer uso dessas ferramentas para que as pessoas, em diferentes escopos de trabalho, tenham ganhos de produtividade e eficiência.

 

Recursos Adicionais

 

Se você deseja saber mais sobre TypeScript, Azure OpenAI e GitHub Copilot, confira os cursos gratuitos que a Microsoft disponibiliza através da plataforma Microsoft Learn.

E, para ficar por dentro das novidades e tendências em tecnologia, siga a Glaucia Lemos no Twitter e acompanhem as lives sessions que também ocorrem no canal do Microsoft Reactor! Acessem agora a página oficial do Microsoft Reactor para ficar por dentro de todas as lives sessions e outras novidades em relação a: Nuvem, Dados e Inteligência Artificial. 

 

 

 

Esperamos que este artigo tenha sido útil e inspirador para você! Continue aprendendo e explorando novas possibilidades no mundo da tecnologia. Até a próxima!

Updated Apr 24, 2024
Version 2.0
No CommentsBe the first to comment