Material didático introdutório sobre APIs, cobrindo conceitos básicos…
INEMA
Usando a API da OpenAI em Python 🚀⌗
A OpenAI oferece uma API para interagir com modelos de IA, como o GPT-4, DALL·E (para imagens) e Whisper (para reconhecimento de voz).
1️⃣ Como Obter a Chave da API 🔑⌗
- Acesse https://platform.openai.com/signup/ e crie uma conta.
- Vá para https://platform.openai.com/api-keys e gere sua chave de API.
2️⃣ Instalando a Biblioteca OpenAI⌗
Antes de usar a API, instale a biblioteca oficial:
pip install openai
3️⃣ Fazendo uma Requisição para a OpenAI⌗
🔹 Exemplo de Uso com GPT-4⌗
Podemos enviar um texto e obter uma resposta gerada pelo modelo.
```import openai
Defina sua chave de API⌗
api_key = "SUA_CHAVE_API"
Fazendo a requisição para o modelo GPT-4⌗
resposta = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": "O que é inteligência artificial?"}], api_key=api_key )
Exibir resposta⌗
print(resposta["choices"][0]["message"]["content"])```
✅ Explicação:
- "model": "gpt-4" → Define o modelo usado.
- "messages" → Define o histórico da conversa (pode incluir várias interações).
- "role": "user" → Indica que é a mensagem do usuário.
- O modelo retorna uma resposta, que extraímos de resposta["choices"][0]["message"]["content"].
4️⃣ Criando Imagens com DALL·E 🖼️⌗
A API também pode gerar imagens a partir de um texto:
```import openai
Chave da API⌗
api_key = "SUA_CHAVE_API"
Fazendo a requisição para gerar uma imagem⌗
resposta = openai.Image.create( prompt="Uma cidade futurista com carros voadores", n=1, size="1024x1024", api_key=api_key )
Obtendo a URL da imagem gerada⌗
imagem_url = resposta["data"][0]["url"] print("Imagem gerada:", imagem_url)```
✅ Explicação:
- "prompt" → Descreve a imagem a ser gerada.
- "n" → Número de imagens a serem criadas.
- "size" → Define a resolução da imagem.
- A API retorna uma URL com a imagem gerada.
5️⃣ Reconhecimento de Voz com Whisper 🎙️⌗
A OpenAI também tem um modelo para converter áudio em texto.
```import openai
Caminho do arquivo de áudio (precisa ser .mp3, .wav, etc.)⌗
arquivo_audio = "audio.mp3"
Fazendo a requisição para transcrição⌗
with open(arquivo_audio, "rb") as audio: resposta = openai.Audio.transcribe( model="whisper-1", file=audio, api_key="SUA_CHAVE_API" )
Exibindo o texto transcrito⌗
print(resposta["text"])```
✅ Explicação:
- O modelo Whisper converte áudio em texto.
- O arquivo de áudio é lido e enviado à API.
- O resultado é a transcrição do áudio em texto.
6️⃣ Integração Completa (Exemplo de API Simples)⌗
Podemos criar uma API Python que interage com a OpenAI usando Flask:
```from flask import Flask, request, jsonify import openai
app = Flask(name)
Chave da API OpenAI⌗
api_key = "SUA_CHAVE_API"
@app.route("/chat", methods=["POST"]) def chat(): dados = request.json prompt = dados.get("mensagem", "")
resposta = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
api_key=api_key
)
return jsonify({"resposta": resposta["choices"][0]["message"]["content"]})
if name == "main": app.run(debug=True)```
✅ Como usar:
- Executar o código e rodar o servidor Flask.
- Enviar uma requisição POST para http://localhost:5000/chat com um JSON:
{
"mensagem": "Qual é a capital do Brasil?"
}
- A API responde:
{ "resposta": "A capital do Brasil é Brasília." }
Conclusão 🚀⌗
A OpenAI oferece várias APIs poderosas para texto, imagens e voz. Você pode usar essas APIs para criar chatbots, assistentes virtuais, geração de imagens e muito mais!
🔹 Principais funcionalidades:
✅ Chatbots com GPT-4
✅ Geração de imagens com DALL·E
✅
Não consigo acessar APIs externas diretamente, mas você pode testar a requisição de clima no seu próprio computador usando uma API gratuita, como OpenWeatherMap.
Passos para Obter o Clima da Sua Cidade Usando Python⌗
1️⃣ Cadastre-se no OpenWeatherMap
- Acesse https://openweathermap.org/api
- Crie uma conta e obtenha uma chave de API gratuita.
2️⃣ Instale a biblioteca requests (caso ainda não tenha)
pip install requests
3️⃣ Código para Buscar o Clima Atual
Substitua SUA_CHAVE_API pela chave gerada no OpenWeatherMap.
```import requests
Defina sua chave da API do OpenWeatherMap⌗
api_key = "SUA_CHAVE_API"
Defina a cidade desejada⌗
cidade = "São Paulo"
URL da API com os parâmetros⌗
url = f"api.openweathermap.org/data/2.5/weather ↗"
Fazendo a requisição GET para a API⌗
resposta = requests.get(url)
Convertendo a resposta para JSON⌗
dados_clima = resposta.json()
Exibindo o resultado formatado⌗
if resposta.status_code == 200: temperatura = dados_clima["main"]["temp"] descricao = dados_clima["weather"][0]["description"] print(f"Clima em {cidade}: {descricao.capitalize()}, {temperatura}°C") else: print("Erro ao buscar informações.")```
Explicação do Código⌗
- ✅ Define a chave de API e a cidade para a busca.
- ✅ Monta a URL da API, incluindo parâmetros como temperatura em Celsius e idioma em português.
- ✅ Usa
requests.get(url)para buscar os dados da API. - ✅ Verifica se a resposta foi bem-sucedida (
status_code == 200) e imprime a temperatura e descrição do clima.
Se você rodar esse código com uma chave de API válida, verá algo como:
📌 Clima em São Paulo: Céu limpo, 25°C
Se quiser testar outra API gratuita, também pode usar a WeatherAPI (https://www.weatherapi.com/). 🚀
O que é o "barista" na API? ☕⌗
Na analogia do café, o barista representa a API.
💡 Explicação:
- Você (cliente) faz o pedido de um café.
- O barista (API) recebe o pedido, repassa para a cozinha (servidor) e depois entrega o café pronto.
- Você não vê o processo interno—apenas recebe o que pediu.
Como isso se traduz em tecnologia?⌗
1️⃣ O cliente (usuário ou sistema) faz uma requisição à API.
- Exemplo: Um aplicativo pede informações de um usuário.
2️⃣ A API recebe a requisição e processa o pedido.
- Ela repassa a solicitação para um servidor ou banco de dados.
3️⃣ O servidor retorna os dados para a API.
- Ele encontra e organiza as informações necessárias.
4️⃣ A API entrega a resposta ao cliente.
- Você recebe os dados sem precisar entender como o servidor os processou.
Exemplo Prático em Código⌗
```import requests
API funcionando como "barista"⌗
url = "jsonplaceholder.typicode.com/users/1 ↗"
Cliente faz o pedido (requisição GET)⌗
resposta = requests.get(url)
API retorna o pedido pronto⌗
print(resposta.json())```
📌 Aqui, o cliente (nós) pedimos os dados do usuário 1, a API (barista) faz o intermédio e entrega a resposta processada.
Conclusão⌗
✅ O barista (API) age como um intermediário entre o cliente e o servidor.
✅ Ele recebe pedidos, processa e retorna dados prontos sem expor os detalhes internos.
✅ APIs facilitam integrações entre sistemas, aplicativos e serviços web.
Então, sempre que você usar um app para ver o clima, enviar mensagens ou fazer compras online, há um "barista" (API) garantindo que seu pedido seja atendido corretamente! 🚀
O que é um Endpoint, API Call e HTTP Request? 🚀⌗
APIs usam endpoints e requisições HTTP para permitir que sistemas se comuniquem. Vamos entender cada um deles:
1. Endpoint 🔗⌗
Um endpoint é um endereço específico dentro de uma API.
💡 Pense nele como uma porta de entrada para um serviço específico.
📌 Exemplo:
A API de usuários de um sistema pode ter diferentes endpoints:
- https://api.exemplo.com/usuarios → Retorna todos os usuários
- https://api.exemplo.com/usuarios/1 → Retorna o usuário de ID 1
- https://api.exemplo.com/usuarios/1/posts → Retorna os posts do usuário 1
2. API Call (Chamada de API) 📡⌗
Uma chamada de API (API Call) acontece quando um cliente envia uma requisição para um endpoint da API.
💡 Pense nela como pedir um lanche via delivery – você faz o pedido (requisição), e o restaurante responde com sua comida (resposta).
📌 Exemplo de Chamada de API:
```import requests
url = "jsonplaceholder.typicode.com/users/1 ↗" resposta = requests.get(url)
print(resposta.json()) # Exibe os dados do usuário 1``
Aqui, fazemos uma **API Call** para o endpoint"users/1"`, e a API responde com os dados desse usuário.
3. HTTP Request (Requisição HTTP) 📩⌗
APIs se comunicam usando requisições HTTP.
Os principais métodos HTTP são:
| Método | O que faz? | Exemplo |
|---|---|---|
| GET | Busca informações | Pegar detalhes de um usuário |
| POST | Envia dados | Criar um novo usuário |
| PUT | Atualiza um registro | Editar os dados de um usuário |
| DELETE | Remove um registro | Apagar um usuário |
📌 Exemplo de Requisição HTTP POST (Criando um usuário)
```import requests
url = "jsonplaceholder.typicode.com/users ↗"
dados = { "name": "Carlos", "email": "carlos@email.com" }
resposta = requests.post(url, json=dados)
print(resposta.status_code) # Código 201 significa que o usuário foi criado print(resposta.json()) # Mostra o usuário criado```
Aqui, enviamos uma requisição HTTP POST para o endpoint users, criando um novo usuário.
Resumo 📌⌗
✅ Endpoint → O "endereço" dentro da API (exemplo: /users/1)
✅ API Call → Quando um sistema faz uma requisição para a API
✅ HTTP Request → O tipo de requisição feita (GET, POST, PUT, DELETE)
APIs são a espinha dorsal da comunicação entre sistemas na web! 🚀
Entendendo APIs⌗
O que é uma API?⌗
Uma API (Application Programming Interface) permite que dois aplicativos se comuniquem entre si.
💡 Analogia:
Imagine que você está em um café. Você faz o pedido ao barista (API), que se comunica com a cozinha (servidor) e retorna seu café (resposta).
Você não vê todo o processo, mas recebe exatamente o que pediu.
Como uma API Funciona?⌗
1️⃣ Requisição → Você envia um pedido (por exemplo, busca informações de um usuário).
2️⃣ Processamento → O servidor recebe, processa e acessa os dados necessários.
3️⃣ Resposta → O servidor devolve os dados solicitados.
Exemplo de Requisição a uma API⌗
Em Python, podemos fazer requisições a APIs usando a biblioteca requests:
```import requests
url = "api.exemplo.com/usuarios/123 ↗" # URL da API resposta = requests.get(url) # Faz uma requisição GET
print(resposta.json()) # Exibe a resposta em JSON```
Isso solicita informações do usuário com ID 123. A API retorna os dados no formato JSON.
Tipos de Métodos de API⌗
| Método | O que faz? | Exemplo |
|---|---|---|
| GET | Busca dados | Pegar informações de um usuário |
| POST | Envia dados | Criar um novo usuário |
| PUT | Atualiza dados | Alterar dados de um usuário |
| DELETE | Remove dados | Apagar um usuário |
Exemplo de API Real (Via JSON Placeholder)⌗
```import requests
Fazendo uma requisição para uma API pública de posts⌗
url = "jsonplaceholder.typicode.com/posts/1 ↗" resposta = requests.get(url)
print(resposta.json()) # Exibe o conteúdo do post 1```
Essa API retorna dados falsos para testes e desenvolvimento.
Conclusão⌗
✅ APIs facilitam a comunicação entre sistemas sem expor seus processos internos.
✅ Usamos requisições HTTP (GET, POST, PUT, DELETE) para interagir com APIs.
✅ As respostas normalmente vêm em formato JSON, facilitando a leitura e o uso dos dados.
APIs são essenciais para integrações entre sistemas, automação e troca de informações na web! 🚀
Basico de API
1
Recursos
- platform.openai.com/signup ↗
- platform.openai.com/api-keys ↗
- localhost:5000/chat` ↗
- openweathermap.org/api ↗
- api.openweathermap.org/data/2.5/weather ↗
- weatherapi.com ↗
- jsonplaceholder.typicode.com/users/1 ↗
- api.exemplo.com/usuarios` ↗
- api.exemplo.com/usuarios/1` ↗
- api.exemplo.com/usuarios/1/posts` ↗
- jsonplaceholder.typicode.com/users ↗
- api.exemplo.com/usuarios/123 ↗
- jsonplaceholder.typicode.com/posts/1 ↗