Alura > Cursos de Inteligência Artificial > Cursos de Engenharia de LLMs & Agentes > Conteúdos de Engenharia de LLMs & Agentes > Primeiras aulas do curso LLMs e OpenAI: integrando modelos de linguagem em aplicações Python

LLMs e OpenAI: integrando modelos de linguagem em aplicações Python

Integrando a OpenAI API em uma aplicação Python - Introdução

Apresentando o instrutor e fornecendo audiodescrição

Olá! Meu nome é André Santana, eu sou especialista na área de Inteligência Artificial, com mais de 10 anos de experiência.

Audiodescrição: André é um homem branco, com cabelos e barba castanhos; a barba é cheia. Usa óculos, veste uma camiseta cinza e, ao fundo, há uma transição de luz que vai do rosa ao azul.

Apresentando o curso e objetivos gerais

Dou as boas-vindas a este curso, que introduz o uso de LLMs (Modelos de Linguagem de Grande Escala) como ferramentas em uma aplicação em Python.

Neste curso, nós vamos integrar a API (Interface de Programação de Aplicações) da OpenAI para realizar chamadas em aplicações, utilizando, como projeto, dados provenientes de um e-commerce (comércio eletrônico) para avaliar tanto a experiência de pessoas usuárias quanto os comentários presentes nessa plataforma.

Definindo público-alvo e caso de uso

Este conteúdo é voltado a quem deseja utilizar LLMs como parte de uma aplicação escrita em Python e ampliar esse conhecimento em um caso de uso real.

Este caso de uso que nós escolhemos envolve e-commerce (comércio eletrônico) e análise de dados.

Detalhando conteúdos da aula e recursos de apoio

Nesta aula, nós vamos aprender como nos conectar à API da OpenAI; como preparar o ambiente e as variáveis de ambiente para que a chave de acesso seja armazenada de forma segura; quais são os custos envolvidos e os tipos de modelos disponíveis no ecossistema da OpenAI; como garantir uma estrutura de resposta em um formato de objeto estruturado para comunicação entre aplicações, como JSON; uma abordagem mais avançada utilizando Pydantic; e como ampliar a capacidade de um LLM (Modelo de Linguagem de Grande Porte) por meio de Function Calling (chamada de função), invocando ferramentas de estatística independentes para potencializar a capacidade de um agente que venhamos a criar.

Lembramos também que, além dos vídeos, temos um conjunto de exercícios, o fórum de discussão e toda a comunidade da Alura, além dos assistentes que podem oferecer suporte ao seu aprendizado. Bons estudos e boa jornada!

Integrando a OpenAI API em uma aplicação Python - Gerando uma chave de acesso

Apresentando o curso e os provedores de LLMs

Para darmos início ao curso que envolve o uso de LLMs (Modelos de Linguagem Grande) em aplicações, o primeiro passo é ter uma conta na plataforma que desejamos utilizar como LLM (Modelo de Linguagem Grande). No mercado atual, existem diversas empresas que fornecem serviços de LLM (Modelos de Linguagem Grande), isto é, grandes modelos de linguagem que utilizaremos para criar as ferramentas e aplicações que pretendemos desenvolver.

Entre essas empresas, temos a Anthropic, que fornece o Claude e o Claude Code, com modelos como o Opus. Temos também o Gemini, que pertence ao Google. E temos a família de modelos da OpenAI, que envolve todos os modelos de linguagem associados a ferramentas como o ChatGPT.

Acessando a plataforma da OpenAI

Neste curso, vamos utilizar a plataforma da OpenAI e, por isso, faremos as comunicações de API (Interface de Programação de Aplicações) com essa plataforma. Antes de mais nada, vamos acessar o site da OpenAI no navegador: platform.openai.com.

Se ainda não houver conta na plataforma, será necessário criar uma. Existe uma camada de recursos gratuitos que podemos utilizar, e vamos indicar como esses recursos funcionam. Se já houver uma conta e a autenticação tiver sido concluída na plataforma, essa será a tela exibida.

Explorando configurações e limites de uso

Nessa área, a plataforma indica quais são os modelos mais modernos disponíveis atualmente, aqueles que são mais caros e têm maior potencial de uso, e também os que são mais baratos. Caso desejemos verificar os modelos disponíveis especificamente para nossa conta, devemos clicar na organização, em “Configurações de Organização”, e no canto esquerdo selecionar o botão “Limits”.

Na aba “Limits”, veremos o montante de recurso financeiro associado à conta, o quanto já foi utilizado e o máximo disponível. Lembrando que as contas pagas são pré-pagas. O que isso significa? Em geral, quando utilizamos qualquer recurso de LLM (Modelo de Linguagem Grande), fazemos requisições ao serviço da empresa fornecedora para integrar a tecnologia em nossa aplicação. Esse recurso é debitado da conta por meio de tokens (unidades de contagem de texto). Vamos detalhar mais adiante o que esses tokens significam, mas, para esta etapa do curso, basta entender que quanto mais solicitamos (isto é, quanto mais texto enviamos) e quanto mais a plataforma devolve (quanto mais texto recebemos), mais gastamos. O preço do que enviamos e do que recebemos é diferente.

Verificando níveis de uso e modelos disponíveis

Ao rolar a página, veremos os tiers (níveis) de uso. No exemplo apresentado, a conta está no tier (nível) 4. Ao rolar mais um pouco, a plataforma mostra os modelos disponíveis para uso, isto é, aqueles que podemos utilizar na aplicação. Nesse caso, por estar no tier (nível) 4, estão disponíveis todos os modelos com o volume de requisições indicado para esse nível.

Caso esteja criando uma conta gratuita, será necessário alterar para o plano de free tier (camada gratuita). Os modelos disponíveis serão estes que utilizaremos nos nossos exemplos e nas nossas implementações.

Analisando capacidades, documentação e custos dos modelos

Cada modelo é diferente. Quando falamos de LLMs (Modelos de Linguagem de Grande Porte), referimo-nos a modelos de linguagem treinados com um volume muito grande de dados. A principal capacidade desses modelos está em gerar dados — em texto, áudio ou imagem —, mas principalmente em texto, utilizando linguagem semelhante à humana.

Se quisermos analisar esses modelos com mais profundidade, podemos acessar as configurações e a documentação para pessoa desenvolvedora. Vamos aumentar um pouco o zoom. Na parte superior, nas abas Overview (Visão geral) e Models (Modelos), são exibidas informações sobre os modelos disponíveis.

Cada um desses modelos possui capacidades diferentes de processamento para entregar informações e, ao mesmo tempo, custos distintos. O modelo disponível com maior desempenho é o modelo Sol: ele custa 4 dólares para cada 1 milhão de tokens (unidades textuais) enviados e 20 dólares para cada 1 milhão de tokens gerados. Comparando com o modelo de nível intermediário, o Terra, o custo de 4 dólares cai para 2, e o de 20 cai para 12. Já o modelo mais barato, adequado para algumas atividades internas da sua empresa ou para o desenvolvimento de ferramentas que não exigem tanto processamento nem tantas informações simultâneas, custa 0,20 dólares por 1 milhão de tokens de entrada e 1,20 dólares por 1 milhão de tokens de saída.

Gerando e entendendo a chave de API

Não vamos nos aprofundar mais do que isso agora. O mais importante é entender que precisaremos gerar uma chave de API (Interface de Programação de Aplicações) para utilizar nossas aplicações. O que é uma chave de API? É a forma de informar à OpenAI, no serviço dela, que temos uma conta válida e que é dessa conta que tentaremos consumir os recursos disponíveis. O modelo de linguagem terá, para nós, a seguinte serventia: fazemos uma interação com os servidores da OpenAI em formato de texto, e recebemos uma resposta em formato de texto. Para que isso aconteça, é necessário um acordo estabelecido, confirmado por meio dessa chave de acesso, a chave de API.

Vamos voltar à conta principal. No menu lateral esquerdo, há a seção API Keys (Chaves de API). Ao clicar em API Keys, são exibidas as chaves disponíveis. Vamos clicar em Create a New Secret (Criar um novo segredo), informar o nome do projeto — por exemplo, "Curso Alura" — e, em seguida, clicar em Create a Secret (Criar segredo). Será gerada uma chave alfanumérica, que estabelece o acordo entre a aplicação que estamos desenvolvendo em Python e a API da OpenAI. É importante copiá-la, pois depois não será possível acessá-la novamente.

No nosso próximo vídeo, nós vamos mostrar como utilizar essa chave de API dentro da aplicação de forma segura. Até lá. [♪]

Integrando a OpenAI API em uma aplicação Python - Configurando o ambiente e explicando o projeto

Iniciando a integração com a OpenAI

Agora que já temos acesso à nossa chave de API (Interface de Programação de Aplicações), vamos começar a interagir com a OpenAI para estabelecer a comunicação entre nossa aplicação em Python, que envolve análise de sentimentos em uma plataforma de e-commerce (comércio eletrônico). Esse é um caso de uso bastante relevante para quem trabalha com plataformas digitais. Vamos avaliar os comentários de pessoas usuárias.

Para que isso aconteça, precisamos garantir a comunicação entre nossa aplicação em Python e a plataforma da OpenAI. Vamos voltar ao Visual Studio.

Configurando variáveis de ambiente com .env

No projeto base, há alguns arquivos que vamos ignorar por enquanto, como a pasta "dados". No entanto, há outros arquivos importantes. O arquivo .env.example traz todas as variáveis de ambiente necessárias para que a aplicação funcione de forma adequada. Uma das variáveis de ambiente é a nossa chave de API. Ela já aparece indicada, como se fosse uma chave de dicionário ou uma palavra reservada, com o nome OPENAI_API_KEY, e será utilizada para colarmos nossa chave de acesso.

Para visualizar como isso está definido no arquivo de exemplo, veja este trecho do .env.example:

# Copie este arquivo para ".env" e preencha com sua chave da OpenAI.
# Nunca coloque a chave real neste arquivo de exemplo nem em local versionado.
OPENAI_API_KEY=coloque_sua_chave_aqui

Não vamos usar esse arquivo diretamente. Faremos uma cópia dele e criaremos um arquivo .env. Nesse arquivo .env, vamos copiar a estrutura que está na linha 3 do arquivo .env.example para definir as nossas variáveis de ambiente. Em seguida, vamos salvar.

No arquivo .env recém-criado, a linha básica ficará assim:

OPENAI_API_KEY=coloque_sua_chave_aqui

Vamos marcar para não mostrar essa mensagem novamente e voltar à página no navegador onde está a chave que criamos. Vamos copiar essa chave, retornar à aplicação em Python e, onde estiver indicado "coloque aqui a sua chave", colar a chave de API. Salvamos.

Após colar a chave real no .env, o conteúdo fica, por exemplo:

OPENAI_API_KEY=YOUR_API_KEY

Essa informação não pode ser divulgada, publicada ou aparecer em nenhum lugar. Provavelmente, ao final da aula, vamos apagá-la do sistema.

Protegendo segredos com o .gitignore

Para que a chave não apareça em nenhum lugar, especialmente caso queiramos publicar a aplicação em algum repositório, utilizamos o arquivo /.gitignore. Ele indica os formatos de arquivo que serão ignorados quando formos fazer um upload (envio) para o GitHub, evitando o vazamento da chave, o que é muito perigoso. Em caso de vazamento, os créditos podem ser consumidos ou pode ocorrer uma cobrança elevada.

No .gitignore, garanta que arquivos sensíveis e temporários estejam ignorados:

# Chaves e segredos - nunca versionar
.env
.env.*
!.env.example

# Ambiente virtual
.venv
venv/

# Cache do Python
__pycache__/
*.pyc

Listando dependências no requirements.txt

O último arquivo importante de configuração é o requirements.txt. Nele, listamos as principais bibliotecas que usaremos na aplicação:

No requirements.txt, essas dependências podem ser especificadas assim:

openai>=2.0
python-dotenv
pandas
pydantic>=2.0

Contextualizando o projeto e próximos passos

Se quisermos verificar com calma esse passo a passo, no README.md estão as informações necessárias para realizar a configuração e criar as variáveis de ambiente de forma adequada, dependendo do sistema operacional.

Nosso projeto envolve o uso de uma LLM para avaliar comentários de um e-commerce (comércio eletrônico) que foram extraídos no formato CSV. Não vamos trabalhar com interface gráfica; já extraímos esses dados para utilizarmos em casos de uso que façam sentido: ajudar a área de marketing (marketing), entender as reclamações mais recorrentes e fornecer instrumentos para incorporar LLM às aplicações.

Até a nossa próxima aula.

Sobre o curso LLMs e OpenAI: integrando modelos de linguagem em aplicações Python

O curso LLMs e OpenAI: integrando modelos de linguagem em aplicações Python possui 124 minutos de vídeos, em um total de 44 atividades. Gostou? Conheça nossos outros cursos de Engenharia de LLMs & Agentes em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Engenharia de LLMs & Agentes acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas