Resumo para Solicitação de Desenvolvimento do Sistema
Objetivo do Projeto:
Criar um sistema integrado que utilize inteligência artificial (ChatGPT) para buscar voos, com foco em emissões de passagens aéreas usando milhas. O sistema deve ser capaz de receber informações do usuário, consultar APIs de voos e retornar resultados organizados de forma automatizada.
Requisitos do Sistema
1. Funcionalidades Principais:
1. Busca de Voos:
• Receber informações do usuário (origem, destino, datas).
• Consultar uma API de busca de voos (Amadeus, Skyscanner ou outra).
• Retornar resultados detalhados (voos disponíveis, preços e/ou quantidade de milhas necessárias).
2. Integração com o ChatGPT:
• Responder às perguntas do usuário de forma dinâmica e interativa.
• Enviar os dados da interação ao backend para realizar a busca.
3. Personalização (Futuro):
• Permitir ao usuário configurar preferências (companhias aéreas, classes, programas de fidelidade).
• Implementar lógica para priorizar voos com milhas.
2. Tecnologias e Ferramentas Necessárias:
1. Backend:
• Linguagem: Python (FastAPI ou Flask).
• APIs de Busca de Voos: Amadeus API ou Skyscanner API.
• Integração com o ChatGPT: OpenAI API.
2. Frontend (Opcional):
• Web: React ou html/css para criar uma interface de entrada e exibição de resultados.
• Bot (Opcional): Telegram API para interação via chatbot.
3. Infraestrutura:
• Hospedagem: Heroku, AWS, Render ou similar.
• Banco de Dados: PostgreSQL ou MongoDB (opcional, para armazenar histórico de buscas).
3. Etapas de Desenvolvimento
Passo 1: Configurar APIs de Voos
• Escolher uma API (Amadeus ou Skyscanner) e configurar.
• Realizar chamadas teste para validar a conexão.
• Exemplo de chamada (Amadeus):
curl -X GET "
https://test.api.amadeus.com/v1/shopping/flight-offers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d "originLocationCode=GRU" \
-d "destinationLocationCode=JFK" \
-d "departureDate=2025-02-10"
Passo 2: Desenvolver o Backend
1. Configurar um servidor usando FastAPI.
2. Implementar rotas para:
• Receber informações de busca.
• Consultar a API de voos.
• Retornar resultados formatados.
3. Exemplo de código básico:
from fastapi import FastAPI, HTTPException
import requests
app = FastAPI()
API_URL = "
https://test.api.amadeus.com/v1/shopping/flight-offers"
API_KEY = "SUA_CHAVE_API"
@app.get("/buscar-voo")
def buscar_voo(origem: str, destino: str, data: str):
headers = {"Authorization": f"Bearer {API_KEY}"}
params = {"originLocationCode": origem, "destinationLocationCode": destino, "departureDate": data}
response =
requests.get(API_URL, headers=headers, params=params)
if response.status_code == 200:
return
response.json()
else:
raise HTTPException(status_code=response.status_code, detail="Erro na API")
Passo 3: Integração com ChatGPT
1. Configurar a API da OpenAI para enviar prompts e coletar respostas.
2. Enviar dados recebidos do usuário para o backend.
3. Exemplo de fluxo:
import openai
import requests
openai.api_key = "SUA_CHAVE_OPENAI"
def chat_with_gpt(prompt):
response =
openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "Você é um assistente de viagens que busca voos."},
{"Role": "user", "content": prompt},
]
)
return response['choices'][0]['message']['content']
def buscar_voos(origem, destino, data):
url = "http://127.0.0.1:8000/buscar-voo"
params = {"origem": origem, "destino": destino, "data": data}
response =
requests.get(url, params=params)
return
response.json()
# Exemplo:
prompt = "Quero um voo de São Paulo (GRU) para Nova York (JFK) no dia 10 de fevereiro."
Resposta = chat_with_gpt(prompt)
resultados = buscar_voos("gru", "jfk", "2025-02-10")
passo 4: hospedagem
• subir o backend e apis configuradas em heroku, render ou aws.
• Configurar o domínio para acesso público.
Passo 5: Interface Opcional
• Criar uma interface (web ou bot) para melhorar a experiência do usuário.
Entregáveis
1. Sistema funcional capaz de buscar voos via ChatGPT e APIs.
2. Documentação do código e instruções para manutenção.
3. Hospedagem configurada e sistema operacional.
Plazo de Entrega: No definido