Partilhar via


Soluções de IA generativa para desenvolvedores

A IA generativa, alimentada por grandes modelos de linguagem (LLMs), traz novas oportunidades para desenvolvedores e organizações. Serviços como o Azure OpenAI tornam a IA fácil de usar com APIs simples. Desenvolvedores de todos os níveis de habilidade podem adicionar recursos avançados de IA aos seus aplicativos sem precisar de conhecimento especial ou hardware.

Como desenvolvedor, você pode se perguntar qual é a sua função e onde você se encaixa. Talvez você queira saber em qual parte da "pilha de IA" se concentrar, ou o que você pode construir com a tecnologia de hoje.

Para responder a essas perguntas, comece construindo um modelo mental que conecte novos termos e tecnologias ao que você já sabe. Essa abordagem ajuda você a projetar e adicionar recursos de IA generativa aos seus aplicativos.

Nesta série, mostramos como suas habilidades atuais de software se aplicam à IA generativa. Também apresentamos termos-chave e conceitos para ajudá-lo a começar a construir suas primeiras soluções de IA generativa.

Como as empresas se beneficiam do uso de IA generativa

Para ver como suas habilidades de software se encaixam com a IA generativa, primeiro veja como as empresas a usam.

As empresas usam IA generativa para aumentar o envolvimento do cliente, trabalhar de forma mais eficiente e resolver problemas de maneiras criativas. Adicionar IA generativa aos sistemas existentes permite que as empresas melhorem seu software. Ele pode adicionar recursos como recomendações personalizadas ou agentes inteligentes que respondem a perguntas sobre uma empresa ou seus produtos.

Maneiras comuns pelas quais a IA generativa ajuda as empresas:

  • Geração de conteúdo:

    • Crie texto, código, imagens e som para marketing, vendas, TI e comunicações internas.
  • Processamento de linguagem natural:

    • Escreva ou melhore mensagens comerciais.
    • Permita que os usuários conversem com seus dados fazendo perguntas com base em documentos da empresa.
    • Resumir, organizar e simplificar grandes quantidades de conteúdo.
    • Use a pesquisa semântica para encontrar informações sem palavras-chave exatas.
    • Traduza conteúdo para alcançar mais pessoas.
  • Análise de dados:

    • Encontre tendências em dados e analise mercados.
    • Modele cenários "e se" para ajudar a planejar mudanças.
    • Revise o código para sugerir melhorias, corrigir bugs e criar documentação.

Como desenvolvedor, você pode fazer melhorias significativas adicionando recursos de IA generativa ao software que sua organização usa.

Como construir aplicações de IA generativas

Embora o LLM faça o trabalho pesado, você cria sistemas que integram, orquestram e monitoram os resultados. Há muito a aprender, mas você pode aplicar as habilidades que já tem, incluindo como:

  • Faça chamadas para APIs usando REST, JSON ou kits de desenvolvimento de software (SDKs) específicos da linguagem
  • Orquestre chamadas para APIs e execute lógica de negócios
  • Armazenar e recuperar de bases de dados
  • Integre entradas e resultados na experiência do usuário
  • Crie APIs que podem ser chamadas a partir de LLMs

O desenvolvimento de soluções de IA generativa baseia-se nas suas competências existentes.

Ferramentas e serviços para desenvolvedores

A Microsoft cria ferramentas, serviços, APIs, exemplos e recursos de aprendizagem para ajudá-lo a começar com IA generativa. Cada um deles cobre uma parte fundamental da construção de uma solução de IA generativa. Para utilizar bem estes recursos, certifique-se de que:

  • Conheça as principais funções, papéis e responsabilidades para cada tipo de recurso de IA generativa. Por exemplo, em sistemas de chat baseados em RAG, você precisa entender o problema e seus limites antes de projetar uma solução.
  • Saiba mais sobre as APIs, serviços e ferramentas para cada função ou função. Depois de conhecer o problema, você mesmo pode criá-lo com código, usar ferramentas low-code/no-code ou ligar para serviços existentes.
  • Explore suas opções, incluindo soluções de código, low-code e no-code. Você pode construir tudo sozinho, mas às vezes é mais rápido e fácil combinar diferentes ferramentas e abordagens.

Não há uma única maneira certa de adicionar recursos de IA generativa aos seus aplicativos. Você pode escolher entre muitas ferramentas e métodos. Pese sempre os prós e contras de cada um.

Comece com a camada de aplicativo

Você não precisa saber tudo sobre IA generativa para começar. Você provavelmente já tem as habilidades de que precisa. Use APIs e seu conhecimento atual para começar.

Você não precisa treinar seu próprio LLM. Treinar um LLM leva muito tempo e dinheiro para a maioria das empresas. Em vez disso, use modelos pré-treinados existentes, como GPT-4o, fazendo chamadas de API para serviços hospedados, como a API OpenAI do Azure. Adicionar recursos generativos de IA ao seu aplicativo é como adicionar qualquer outro recurso que use uma API.

Você pode querer aprender como LLMs são treinados ou como eles funcionam. Mas compreender plenamente LLMs requer conhecimento profundo de ciência de dados e matemática, muitas vezes em um nível de pós-graduação.

Se você tem formação em ciência da computação, sabe que a maioria do desenvolvimento de aplicativos acontece em uma camada mais alta na pilha de tecnologia. Você pode saber um pouco sobre cada camada, mas provavelmente se concentra no desenvolvimento de aplicativos, usando uma linguagem, plataforma, APIs e ferramentas específicas.

A mesma ideia se aplica à IA. Você pode aprender a teoria por trás dos LLMs, mas deve se concentrar na construção de aplicativos ou na criação de padrões e processos para IA generativa em sua empresa.

Aqui está uma visão simples das camadas de conhecimento necessárias para adicionar recursos generativos de IA a um aplicativo:

Diagrama que descreve as camadas de conhecimento necessárias para implementar recursos generativos de IA em um aplicativo.

No nível mais baixo, os cientistas de dados fazem pesquisas para melhorar a IA usando matemática avançada, como estatística e probabilidade.

Uma camada acima, os cientistas de dados usam a teoria para construir LLMs. Eles criam redes neurais e as treinam para aceitar prompts e gerar resultados (conclusão). O processo de geração de resultados a partir de prompts é chamado de inferência. Os cientistas de dados decidem como a rede neural prevê a próxima palavra ou pixel.

Como o treinamento e a execução de modelos exigem um poder de computação significativo, a maioria dos modelos é treinada e hospedada em grandes datacenters. Você pode treinar ou hospedar um modelo em seu próprio computador, mas é lento. GPUs dedicadas tornam esse treinamento mais rápido e eficiente.

Quando os modelos são executados em datacenters, você os acessa por meio de APIs REST. Os SDKs geralmente encapsulam essas APIs para torná-las mais fáceis para os desenvolvedores. Outras ferramentas ajudam no monitoramento e em outras tarefas.

Os desenvolvedores de aplicativos usam essas APIs para criar recursos de negócios.

Além de chamar modelos, novos padrões e processos ajudam as organizações a construir recursos confiáveis de IA generativa. Por exemplo, alguns padrões ajudam a garantir que o conteúdo gerado atenda aos padrões éticos, de segurança e de privacidade.

Se você for um desenvolvedor de aplicativos, considere se concentrar nestes tópicos da camada de aplicativos:

  • APIs e SDKs: saiba o que está disponível e o que cada ponto de extremidade faz.
  • Ferramentas e serviços: saiba como criar os recursos necessários para uma solução de IA generativa pronta para produção.
  • Engenharia imediata: Saiba como obter os melhores resultados fazendo ou reformulando perguntas.
  • Gargalos e escala: descubra onde as lentidões acontecem e como escalar. Saiba como registar e obter dados de aplicações sem violar a privacidade.
  • Características do LLM: Conheça os pontos fortes, casos de uso, benchmarks e diferenças entre modelos e fornecedores. Este conhecimento ajuda-o a escolher o modelo certo para as suas necessidades.
  • Padrões e fluxos de trabalho: mantenha-se atualizado sobre as maneiras mais recentes de criar recursos de IA generativa eficazes e confiáveis em seus aplicativos.

Ferramentas e serviços da Microsoft

Pode usar as ferramentas e serviços de IA generativa "low-code" e "no-code" da Microsoft, para o ajudar a criar parte ou toda a sua solução. Vários serviços do Azure podem desempenhar funções fundamentais. Cada um contribui para a eficiência, escalabilidade e robustez da solução.

API e SDKs para uma abordagem centrada em código

Toda solução de IA generativa usa um LLM. O Azure OpenAI oferece todos os recursos em modelos como GPT-4.

Produto Descrição
Azure OpenAI Um serviço hospedado que lhe dá acesso a modelos de linguagem poderosos como GPT-4. Use APIs para criar incorporações, criar recursos de bate-papo e personalizar os resultados para atender às suas necessidades.

Ambientes de execução

Você precisa de um serviço para executar sua lógica de negócios, lógica de apresentação ou APIs para IA generativa em seus aplicativos.

Produto Descrição
Serviço de Aplicativo do Azure (ou outros serviços de nuvem baseados em contêiner) Hospede interfaces da Web ou APIs para que os usuários interajam com seu sistema de bate-papo RAG. Desenvolva, implante e dimensione rapidamente aplicativos Web. Gerencie facilmente o front-end do seu sistema.
Funções do Azure Use computação sem servidor para tarefas orientadas a eventos em seu sistema de bate-papo RAG. Acione a recuperação de dados, processe consultas de usuários ou lide com tarefas em segundo plano, como sincronização e limpeza. Crie um back-end modular e escalável.

Soluções low-code e no-code

Parte da lógica que você precisa para implementar sua visão generativa de IA pode ser construída rapidamente e ser hospedada de forma confiável usando uma solução low-code ou no-code.

Produto Descrição
Azure AI Foundry Você pode usar do Azure AI Foundry para treinar, testar e implantar modelos personalizados de aprendizado de máquina para aprimorar um sistema de bate-papo RAG. Por exemplo, use o Azure AI Foundry para personalizar a geração de respostas ou para melhorar a relevância das informações recuperadas.

Para obter orientação sobre como criar soluções low-code, consulte Desenvolvimento de aplicativos low-code no Azure.

Banco de dados vetorial

Algumas soluções de IA generativa precisam armazenar e recuperar dados para melhorar os resultados. Por exemplo, um sistema de chat baseado em RAG permite que os usuários conversem com os dados da sua empresa. Nesse caso, você precisa de um banco de dados vetorial.

Produto Descrição
Pesquisa de IA do Azure Pesquise grandes conjuntos de dados para encontrar informações para o modelo de linguagem. Use-o para a parte de recuperação de um sistema RAG para tornar as respostas mais relevantes e úteis.
Azure Cosmos DB Armazene grandes quantidades de dados estruturados e não estruturados para o sistema de chat RAG. Velocidades rápidas de leitura e gravação ajudam a fornecer dados em tempo real e armazenar interações do usuário.
Cache do Azure para Redis Armazene em cache informações usadas com frequência para reduzir atrasos e acelerar o sistema de bate-papo RAG. Armazene dados de sessão, preferências do usuário e consultas comuns.
Banco de Dados do Azure para PostgreSQL - Servidor Flexível Armazene dados de aplicativos, como logs, perfis de usuário e histórico de bate-papo. Sua flexibilidade e escalabilidade mantêm seus dados disponíveis e seguros.

Cada um desses serviços do Azure ajuda você a criar uma solução de IA generativa escalável e eficiente. Eles permitem que você use o melhor dos recursos de nuvem e IA do Azure. Para obter mais informações, consulte Escolhendo um banco de dados vetorial.

Desenvolvimento de IA generativa centrado em código usando a API OpenAI do Azure

Esta seção aborda a API do Azure OpenAI. Você usa uma API REST para acessar os recursos do LLM. Você pode chamar essas APIs de qualquer linguagem de programação moderna. Muitos idiomas têm SDKs que facilitam a chamada da API.

Aqui está a lista de wrappers da API REST do Azure OpenAI:

Se não houver SDK para seu idioma ou plataforma, faça chamadas REST diretamente para as APIs da Web:

A maioria dos desenvolvedores sabe como chamar APIs da Web.

O Azure OpenAI tem várias APIs para diferentes tarefas de IA. Aqui está uma visão geral das principais APIs:

  • API de conclusão de bate-papo: gere texto, bate-papo e responda perguntas. Use-o para chatbots, assistentes virtuais, sumarização, escrita e tradução. Ele também suporta recursos de visão (como carregar uma imagem e fazer perguntas).
  • API de moderação de conteúdo: encontre e filtre conteúdo nocivo ou inseguro no texto. Use-o para manter as interações do usuário seguras.
  • API de incorporação: transforme texto em vetores para pesquisa, agrupamento e localização de conteúdo semelhante. Use-o para capturar o significado e as relações no texto.
  • API de geração de imagens: crie imagens e arte a partir de prompts de texto. Com base no DALL· Modelo E.
  • API REST de fala em texto: converta fala em texto ou texto em fala em vários idiomas. Use-o para comandos de voz e transcrição de áudio.

Este artigo se concentra na IA generativa baseada em texto, como bate-papo e sumarização, mas você pode usar essas APIs para muitos tipos de mídia.

Comece a desenvolver com IA generativa

Quando você aprender uma nova linguagem, API ou tecnologia, comece com tutoriais ou treinamento que mostram como criar pequenos aplicativos. Alguns desenvolvedores preferem aprender construindo seus próprios pequenos projetos. Ambos os caminhos funcionam bem.

Comece pequeno, defina metas simples e desenvolva suas habilidades passo a passo. O desenvolvimento de IA generativa é diferente do software tradicional. Em software regular, você obtém a mesma saída para a mesma entrada todas as vezes. Com a IA generativa, você obtém respostas diferentes para o mesmo prompt, o que traz novos desafios.

Ao começar, tenha estas dicas em mente.

Dica 1: Seja claro sobre o seu objetivo

  • Defina o problema que deseja resolver. A IA generativa pode fazer muitas coisas, mas você obtém melhores resultados se souber exatamente o que deseja, como gerar texto, imagens ou código.
  • Conheça o seu público. Adapte a saída da IA para corresponder a quem a usa, sejam eles usuários casuais ou especialistas.

Dica 2: Use os pontos fortes do LLM

  • Conheça os limites e vieses dos LLMs. Eles são poderosos, mas não perfeitos. Planeie os seus pontos fracos.
  • Use LLMs para o que eles fazem melhor, como criar conteúdo, resumir ou traduzir. Às vezes, outro tipo de IA pode ser melhor para suas necessidades.

Dica 3: Escreva bons prompts

  • Aprenda engenharia imediata. Experimente diferentes prompts para ver o que funciona melhor. Seja claro e específico.
  • Refine seus prompts. A primeira iteração pode não funcionar. Use os resultados para melhorar seu próximo prompt.

Crie sua primeira solução de IA generativa

Para tentar criar uma solução de IA generativa, comece com Introdução ao bate-papo usando sua própria amostra de dados para Python. Você também pode encontrar tutoriais para .NET,Java e JavaScript.

Considerações finais para o design do aplicativo

Aqui está uma pequena lista de coisas a considerar e outras conclusões deste artigo que podem afetar suas decisões de design de aplicativo:

  • Defina o espaço do problema e o público claramente para alinhar os recursos da IA com as expectativas do usuário. Otimize a eficácia da solução para o caso de uso pretendido.
  • Use plataformas low-code/no-code para prototipagem e desenvolvimento rápidos, se eles atenderem aos requisitos do seu projeto. Avalie o trade-off entre velocidade de desenvolvimento e personalização. Experimente ferramentas low-code e no-code para partes do seu aplicativo para acelerar o desenvolvimento e permitir que membros não técnicos da equipe ajudem.