Spring AI

Programação Orientada a Objetos II


Prof. MSc. Leanderson André

leandersonandre@univille.br


Universidade da Região de Joinville

Spring AI

Definição
Framework de aplicações para engenharia de IA. Seu objetivo é aplicar ao domínio da IA os princípios de design do ecossistema Spring, como portabilidade e modularidade, promovendo o uso de POJOs como blocos de construção de aplicações para IA.

Spring AI

Em sua essência, o Spring AI aborda o desafio fundamental da integração de IA: conectar os Dados e as APIs da sua empresa aos Modelos de IA.

Modelos e recursos do Spring AI

Spring AI fornece suporte para fornecedores de modelos de AI. Tipos de modelos inclui:

Modelos e tarefasRecursos
Chat CompletionSaídas estruturadas em POJOs
EmbeddingTool Calling
Text to ImageModeração de conteúdo
Audio TranscriptionRAG (Retrieval-Augmented Generation)
Text to SpeechIntegração com bancos de dados vetoriais
Geração de áudio e vídeoEntre outros recursos

Inteligência Artificial Generativa

Definição

IA Generativa ( do inglês, Generative AI) é um ramo da Inteligência Artificial capaz de criar novos conteúdos, como textos, imagens, áudios, vídeos e códigos, a partir de instruções ou exemplos fornecidos pelo usuário.

Ela utiliza modelos treinados com grandes volumes de dados para aprender padrões e relações permitindo gerar conteúdos com base nesses aprendizados.

Relação entre a grande área da IA e IA Generativa

Inteligência Artificial (IA)Machine Learning (ML)Deep Learning (DL)GenAILLMs (Texto)ImagensÁudioVídeoMúsica

A magia das Inteligências Artificiais Generativas

IA Generativa combina conceitos de geometria, álgebra linear, estatística e probabilidade com redes neurais para aprender padrões em grandes volumes de dados e gerar novos conteúdos.

2017: Um marco na evolução da IA Generativa

A atual revolução da IA Generativa tem um de seus principais marcos em 2017, com a publicação do artigo Attention Is All You Need, por pesquisadores do Google, que apresentou a arquitetura Transformer.

Arquitetura original do Transformer

Por que a IA Generativa ganhou tanta relevância recentemente?

FatorDescrição
Avanços tecnológicosNovas arquiteturas, como Transformers, e modelos LLMs.
Capacidade computacionalEvolução das GPUs e do processamento paralelo.
Disponibilidade de dadosGrandes volumes de dados para treinamento dos modelos.
Novas categorias de softwareAssistentes inteligentes, geradores de conteúdo e agentes de IA.

Spring AI

Spring AI facilita o desenvolvimento de aplicações que integram recursos de Inteligência Artificial Generativa.

Criando um projeto

Crie um novo projeto spring com as dependências:

  • Spring Web
  • Spring Boot DevTools
  • OpenAI

Criando um projeto

Configure o application.properties

spring.ai.openai.api-key=SUA_CHAVE_DE_API
spring.ai.openai.base-url=https://openrouter.ai/api/v1
spring.ai.openai.chat.model=openrouter/free

Criando uma chave de api

O uso de modelos de Inteligência Artificial via API pode ser cobrado de acordo com a quantidade de tokens processados. Alguns provedores também disponibilizam modelos com utilização gratuita e limitações. Por exemplo a OpenRouter.

Crie uma chave com data de expiração e limitação de créditos.

Utilize as APIs com cuidado, e jamais, adicione o seu cartão de crédito!

Criando um projeto

JAMAIS COMPARTILHA A SUA CHAVE API NA INTERNET, CHAT, WHATSAPP, EMAIL, REPOSITÓRIOS GITHUB, ETC.

Se isso acontecer, revogue IMEDIATAMENTE a chave

Criando um projeto

Adicione o seguinte trecho a sua classe SpringAiDemoApplication:

@Bean
public CommandLineRunner runner(ChatClient.Builder builder) {
  return args -> {

    ChatClient chatClient = builder.build();
      String response = chatClient
        .prompt("Quantos lados tem um quadrado?")
        .call().content();
    System.out.println(response);
  };
}
Univille

Prof. MSc. Leanderson André

leandersonandre@univille.br


Universidade da Região de Joinville