Compartilhar via


Soluções de IA generativa para desenvolvedores

A IA generativa, alimentada por LLMs (grandes modelos de linguagem), traz novas oportunidades para desenvolvedores e organizações. Serviços como o Azure OpenAI facilitam o uso da IA com APIs simples. Os desenvolvedores de todos os níveis de habilidade podem adicionar recursos avançados de IA a seus aplicativos sem precisar de conhecimento ou hardware especiais.

Como desenvolvedor, você pode se perguntar qual é o seu papel e onde você se encaixa. Talvez você queira saber em qual parte da "pilha de IA" se concentrar ou no que você pode criar com a tecnologia atual.

Para responder a essas perguntas, comece criando 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 generativos aos seus aplicativos.

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

Como as empresas se beneficiam do uso da IA gerativa

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

As empresas usam IA geradora para aumentar o engajamento do cliente, trabalhar com mais eficiência e resolver problemas de maneiras criativas. Adicionar IA generativa a sistemas existentes permite que as empresas melhorem seus softwares. Ele pode adicionar recursos como recomendações personalizadas ou agentes inteligentes que respondem a perguntas sobre uma empresa ou seus produtos.

Maneiras comuns que a IA gerativa 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.
    • Permitir 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 o conteúdo para alcançar mais pessoas.
  • Análise de dados:

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

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

Como criar aplicativos de IA generativos

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

  • Fazer chamadas para APIs usando REST, JSON ou SDKs (kits de desenvolvimento de software) específicos de linguagem.
  • Orquestrar chamadas para APIs e executar lógica de negócios
  • Armazenar e recuperar de armazenamentos de dados
  • Integrar entrada e resultados à experiência do usuário
  • Criar APIs que podem ser chamadas pelas LLMs

O desenvolvimento de soluções de IA geradoras baseia-se em suas habilidades 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 a IA generativa. Cada um aborda uma parte fundamental da criação de uma solução de IA geradora. Para usar bem esses recursos, verifique se você:

  • Conheça as principais funções, funções e responsabilidades para cada tipo de recurso de IA generativo. Por exemplo, em sistemas de chat baseados em RAG, você precisa entender o problema e seus limites antes de criar uma solução.
  • Saiba mais sobre as APIs, os serviços e as ferramentas para cada função ou função. Depois de conhecer o problema, você pode compilá-lo por conta própria com código, usar ferramentas de baixo código/sem código ou chamar serviços existentes.
  • Explore suas opções, incluindo código, baixo código e soluções sem código. Você pode criar tudo por conta própria, mas às vezes é mais rápido e fácil combinar diferentes ferramentas e abordagens.

Não há uma única maneira correta de adicionar recursos de IA generativos aos seus aplicativos. Você pode escolher entre muitas ferramentas e métodos. Sempre pese 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 necessárias. Use APIs e seu conhecimento atual para começar.

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

Talvez você queira saber como as LLMs são treinadas ou como elas funcionam. Mas a compreensão completa das LLMs requer um profundo conhecimento de ciência de dados e matemática, muitas vezes em um nível de pós-graduação.

Se você tiver uma experiência em ciência da computação, saberá 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 de LLMs, mas deve se concentrar na criação de aplicativos ou na criação de padrões e processos para IA gerativa em sua empresa.

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

Diagrama que ilustra as camadas de conhecimento necessárias para implementar recursos de IA generativos 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ísticas e probabilidade.

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

Como os modelos de treinamento e execução têm um poder de computação significativo, a maioria dos modelos é treinada e hospedada em datacenters grandes. Você pode treinar ou hospedar um modelo em seu próprio computador, mas ele é 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 com o monitoramento e 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 criar recursos de IA geradores confiáveis. 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 nesses tópicos de camada de aplicativo:

  • 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 geradora pronta para produção.
  • Engenharia de prompt: saiba como obter os melhores resultados fazendo ou reformulando perguntas.
  • Gargalos e dimensionamento: local onde ocorrem lentidão e como dimensionar. Saiba como registrar e obter dados do aplicativo sem violar a privacidade.
  • Características de LLM: conheça os pontos fortes, casos de uso, parâmetros de comparação e diferenças entre modelos e fornecedores. Esse conhecimento ajuda você a escolher o modelo certo para suas necessidades.
  • Padrões e fluxos de trabalho: mantenha-se atualizado sobre as maneiras mais recentes de criar recursos de IA generativos eficazes e confiáveis em seus aplicativos.

Ferramentas e serviços da Microsoft

Você pode usar ferramentas e serviços de IA geradoras de baixo código e sem código da Microsoft para ajudá-lo a criar algumas ou todas as suas soluções. 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

Cada solução de IA gerativa usa uma LLM. O Azure OpenAI oferece todos os recursos em modelos como GPT-4.

Produto Descrição
OpenAI do Azure Um serviço hospedado que fornece acesso a modelos de linguagem avançados, como GPT-4. Use APIs para criar inserções, criar recursos de chat e personalizar 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) Hospedar interfaces da Web ou APIs para que os usuários interajam com seu sistema de chat RAG. Desenvolva, implante e dimensione rapidamente aplicativos Web. Gerencie facilmente o front-end do seu sistema.
Azure Functions Use a computação sem servidor para tarefas controladas por eventos em seu sistema de chat RAG. Dispare a recuperação de dados, processe consultas de usuário ou lide com tarefas em segundo plano, como sincronização e limpeza. Crie um back-end modular e escalonável.

Soluções de baixo código e sem código

Parte da lógica de que você precisa para implementar sua visão de IA gerativa pode ser criada rapidamente e ser hospedada de forma confiável usando uma solução de baixo código ou sem código.

Produto Descrição
Foundry de IA do Azure Você pode usar o Azure AI Foundry para treinar, testar e implantar modelos personalizados de machine learning para aprimorar um sistema de chat RAG. Por exemplo, use o Azure AI Foundry para personalizar a geração de resposta ou melhorar a relevância das informações recuperadas.

Para obter diretrizes sobre como criar soluções de baixo código, consulte o desenvolvimento de aplicativos de baixo código no Azure.

Banco de dados vetoriais

Algumas soluções de IA generativas 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 de vetor.

Produto Descrição
Azure AI Search Pesquise grandes conjuntos de dados para encontrar informações para o modelo de idioma. 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 Armazenar informações usadas com frequência para reduzir atrasos e acelerar o sistema de chat 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 do aplicativo, como logs, perfis de usuário e histórico de chat. 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 geradora escalonável e eficiente. Eles permitem que você use o melhor dos recursos de nuvem e IA do Azure. Para obter mais informações, consulte Como escolher um banco de dados vetor.

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

Esta seção aborda a API openai do Azure. Você usa uma API REST para acessar os recursos de LLM. Você pode chamar essas APIs de qualquer linguagem de programação moderna. Muitos idiomas têm SDKs que facilitam a chamada à 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 Web:

A maioria dos desenvolvedores sabe como chamar APIs Web.

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

  • API de Conclusões de Chat: gerar texto, chat e responder perguntas. Use-o para chatbots, assistentes virtuais, resumo, gravação e tradução. Ele também dá suporte a recursos de visão (como carregar uma imagem e fazer perguntas).
  • API de Moderação de Conteúdo: localize e filtre conteúdo prejudicial ou não seguro no texto. Use-o para manter as interações do usuário seguras.
  • API de inserções: transforme o texto em vetores para pesquisa, clustering e localização de conteúdo semelhante. Use-o para capturar o significado e as relações no texto.
  • API de Geração de Imagem: criar imagens e arte a partir de prompts de texto. Com base na DALL> Modelo E.
  • API REST de fala em texto: converter fala em texto ou texto em fala em muitos idiomas. Use-o para comandos de voz e transcrição de áudio.

Este artigo se concentra na IA gerativa baseada em texto, como chat e resumo, mas você pode usar essas APIs para muitos tipos de mídia.

Introdução ao desenvolvimento com IA gerativa

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

Inicie pequenas, defina metas simples e crie suas habilidades passo a passo. O desenvolvimento de IA generativo é diferente do software tradicional. No 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 essas dicas em mente.

Dica 1: Seja claro sobre sua meta

  • Defina o problema que você 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 seu público-alvo. Adapte a saída da IA para corresponder a quem a usa, sejam usuários casuais ou especialistas.

Dica 2: Usar pontos fortes de LLM

  • Conheça os limites e os preconceitos das LLMs. Eles são poderosos, mas não perfeitos. Planeje suas fraquezas.
  • 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: Escrever bons prompts

  • Aprenda a engenharia de prompts. Experimente prompts diferentes para ver o que funciona melhor. Seja claro e específico.
  • Refinar 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 gerativa, comece com o chat introdução usando seu próprio exemplo 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 serem consideradas e outras conclusões deste artigo que podem afetar suas decisões de design de aplicativo:

  • Defina o espaço de 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 de baixo código/sem código para criação rápida de protótipos e desenvolvimento se atenderem aos requisitos do projeto. Avalie a troca entre a velocidade de desenvolvimento e a personalização. Experimente ferramentas de baixo código e sem código para partes do seu aplicativo para acelerar o desenvolvimento e permitir que os membros da equipe não técnica ajudem.