Desvendando a GenAI - Parte 5
Depois de uma introdução mais teórica sobre o mundo GenAI agora iremos implementar um "Hello World" com LLM utilizando Python e OpenAI API
Se você está começando a explorar o mundo das Large Language Models (LLMs) e das inteligências artificiais generativas (GenAI), um excelente ponto de partida é interagir com o modelo GPT da OpenAI. Neste tutorial, vamos criar uma simples aplicação Python que faz uma chamada para o GPT-4 usando a biblioteca oficial da OpenAI.
O que você vai aprender:
Como configurar variáveis de ambiente para autenticação com a API da OpenAI.
Como listar os modelos disponíveis na API.
Como fazer uma interação simples com o modelo GPT-4.
Entender os conceitos de *roles* (papéis) em uma conversa com o GPT.
Vamos começar!
Passo 1: Configuração do Ambiente
Para começar, você precisa instalar a biblioteca Python da OpenAI e configurar a chave da API. Essa chave de autenticação será usada para fazer chamadas à API da OpenAI.
1. Primeiro, instale as dependências:
pip install openai python-dotenv
2. Em seguida, crie um arquivo `.env` na raiz do seu projeto e adicione sua chave de API da OpenAI:
OPENAI_SERVICE_ACCOUNT_KEY=your_api_key_here
Você pode obter sua chave de API na [plataforma OpenAI](https://platform.openai.com).
Agora, vamos carregar essa chave de API no nosso código Python.
import os
from dotenv import load_dotenv
# Carregando variáveis de ambiente a partir do arquivo .env
load_dotenv(r".env")
OPENAI_SERVICE_ACCOUNT_KEY = os.getenv("OPENAI_SERVICE_ACCOUNT_KEY")
Aqui estamos usando a biblioteca `python-dotenv` para carregar a chave de API do arquivo `.env` de forma segura, sem precisar expô-la diretamente no código.
Passo 2: Listar Modelos Disponíveis
Agora que temos a chave da API carregada, podemos interagir com a OpenAI. Vamos listar os modelos disponíveis, o que é uma boa prática para garantir que estamos utilizando o modelo correto.
from openai import OpenAI
# Instanciando o cliente OpenAI com a chave da API
client = OpenAI(api_key=OPENAI_SERVICE_ACCOUNT_KEY)
# Listando todos os modelos disponíveis
print(client.models.list())
Este código vai retornar uma lista de todos os modelos disponíveis na sua conta da OpenAI. Cada modelo possui diferentes capacidades e custos, então é bom saber qual está disponível para seu uso. Para entender mais sobre a precificação veja:
Passo 3: Enviar uma Mensagem/Prompt para o GPT-4
Agora, vamos fazer uma chamada simples para o GPT-4 para enviar uma mensagem e obter uma resposta.
# Realizando uma interação simples com o modelo GPT-4
chat_completion = client.chat.completions.create(
messages=[
{"role": "system", "content": "Você é um assistente gentil e prestativo."},
{"role": "user", "content": "Fale: Hello World"}, # o famoso PROMPT
],
model="gpt-4o-mini", # Modelo que estamos utilizando
)
# Exibindo a resposta do modelo
print(chat_completion)
print("--------------")
print(chat_completion.choices[0].message.content)
Explicando o Código
messages: Esse parâmetro define o histórico da conversa, onde você pode configurar diferentes tipos de mensagens:
"role" "system": Usada para configurar o comportamento do modelo, como uma espécie de instrução para guiar a resposta.
"role" "user": É o input que você envia para o modelo, ou seja, o que você deseja perguntar ou dizer.
"role" "assistant": Aqui o modelo irá gerar a resposta de acordo com o histórico e o contexto fornecido.
model: O modelo escolhido para processar a solicitação. No caso, estamos usando o `"gpt-4o-mini"`, mas você pode escolher outros modelos dependendo das suas necessidades.
chat_completion.choices[0].message.content: Esta linha extrai a resposta gerada pelo modelo. O objeto `choices` é uma lista com possíveis respostas, e estamos acessando a primeira resposta gerada.
Resultado Esperado:
O modelo deverá responder com algo como:
Hello World! Como posso ajudá-lo hoje?
Passo 4: Compreendendo os Conceitos
Roles e o Fluxo de Conversa
A chave para entender como funciona a interação com o GPT é o parâmetro `messages`, que é um array contendo o histórico da conversa. O modelo gera a resposta levando em consideração tudo o que foi enviado até aquele ponto.
Aqui está um resumo dos tipos de roles que você pode usar:
System: Define o comportamento ou contexto do modelo. Por exemplo, você pode dizer "Você é um assistente amigável" ou "Responda de forma concisa".
User: A entrada do usuário. Essa é a pergunta ou solicitação feita ao modelo.
Assistant: A resposta gerada pelo modelo.
Exemplo de interação:
System: "Você é um assistente de programação."
User: "Como posso instalar o Python?"
Assistant: "Para instalar o Python, você pode acessar o site oficial...".
Esse histórico de mensagens é utilizado para manter a coerência na conversa. Além disso, vale lembrar que o número de tokens (palavras e caracteres) gerados no histórico aumenta o custo da interação. Portanto, quanto maior o histórico, maior será o custo da chamada à API.
Passo 5: Considerações Finais
Por que usar a API em vez da REST API?
Embora você possa fazer a mesma interação com a REST API diretamente, a biblioteca Python da OpenAI torna a interação muito mais fácil e intuitiva. A biblioteca lida com a complexidade das requisições HTTP e proporciona uma forma mais simples de trabalhar com a API.
Se você deseja aprender mais sobre as opções de personalização e os detalhes técnicos da API da OpenAI, você pode consultar a (documentação oficial).
Conclusão
Neste tutorial, você aprendeu como fazer uma simples interação com o modelo GPT-4 usando a OpenAI API em Python. Com isso, você deu o primeiro passo para explorar o vasto mundo das Language Models e Inteligência Artificial Generativa (GenAI).
Agora é hora de explorar mais! Tente modificar o código para personalizar a interação, experimente outros modelos, ou até mesmo construa uma aplicação mais complexa utilizando esse conhecimento.
Fique à vontade para compartilhar suas dúvidas nos comentários! E fique ligado nos próximos posts, pois estarei trazendo mais exemplos de como podemos estruturar esse código melhor.
O código fonte pode ser encontrado aqui!