Skip to content

AI-Robotic-Labs/AI-Agent-Travel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Powered Travel Planner Agent MVP ✈️🏨

Overview

The AI-Powered Travel Planner Agent is a Minimum Viable Product (MVP) that generates personalized travel itineraries based on user preferences. Users provide input (e.g., "5-day trip to Paris under $2000, interested in museums"), and the agent uses the Google Gemini SDK to parse preferences, generate relevant attractions, and create a day-by-day itinerary. The MVP is a web-based application built with Flask, featuring a simple interface for input and output.

Features
  • Conversational Input: Users enter travel preferences via a text form (e.g., destination, budget, days, interests).
  • Preference Parsing: Gemini SDK extracts structured data (JSON) from natural language input.
  • Attraction Generation: Gemini generates a curated list of attractions based on the destination and interests.
  • Itinerary Generation: Creates a 5-day itinerary with daily activities, displayed as a JSON-based schedule.
  • Web Interface: Basic HTML interface for input and itinerary display.
Tech Stack
  • AI: Google Gemini SDK (google-generativeai) with Gemini 1.5 Flash model.
  • Backend: Python 3.9+ with Flask for API and web server.
  • Frontend: HTML templates with Flask.
  • Dependencies: flask, google-generativeai, python-dotenv.
  • No External APIs: Relies solely on Gemini for attraction data, eliminating the need for Google Maps API.
Prerequisites
  • Python 3.9+: Installed on your system.
  • Google Gemini API Key: Obtain from Google AI Studio.
  • Git: For cloning the repository (optional).
Setup Instructions
  1. Clone the Repository (or create the project structure):

    git clone https://github.com/AI-Robotic-Labs/AI-Agent-Travel.git
    cd travel-planner-mvp

    Project structure:

    travel-planner-mvp/
    ├── app.py
    ├── templates/
    │   ├── index.html
    │   ├── result.html
    ├── .env
    ├── requirements.txt
    
  2. Install Dependencies:

    pip install -r requirements.txt

    requirements.txt:

    flask==2.3.3
    google-generativeai==0.8.1
    python-dotenv==1.0.1
    
  3. Configure Environment:

    • Create a .env file in the project root:
      GEMINI_API_KEY=your-gemini-api-key
    • Obtain the Gemini API key from Google AI Studio.
  4. Run the Application:

    python app.py
    • Open http://localhost:5000 in your browser.
Usage
  1. Enter Preferences:
    • On the homepage (/), input your travel preferences (e.g., "5-day trip to Paris under $2000, interested in museums").
    • Click "Plan My Trip" to submit.
  2. View Itinerary:
    • The app displays a day-by-day itinerary with activities and attractions (e.g., "Day 1: Visit Louvre Museum").
    • Click "Plan Another Trip" to start over.

Example Input:

  • "5-day trip to Paris under $2000, interested in museums"

Example Output:

Itinerary for Paris
Day 1
- Arrive in Paris
- Visit Louvre Museum
Day 2
- Explore Orsay Museum
- Evening walk along Seine
...
Limitations
  • No Real-Time Data: Attractions are generated by Gemini, lacking live details like coordinates or opening hours.
  • Text-Only Output: No PDF export or visual maps in the MVP.
  • Basic UI: Minimal styling with HTML forms.
  • No Persistence: Itineraries are not saved.
Future Improvements
  • PDF Export: Add ReportLab for downloadable itineraries.
  • Enhanced UI: Use Bootstrap or React for a polished interface.
  • External APIs: Integrate flight/hotel APIs (e.g., Amadeus) for comprehensive planning.
  • Database: Store user preferences in Firestore.
  • Voice Input: Add Google Cloud Speech-to-Text for accessibility.
Troubleshooting
  • Gemini API Errors: Verify the API key in .env and test in Google AI Studio.
  • JSON Parsing Issues: If Gemini returns malformed JSON, adjust the strip logic in app.py.
  • Rate Limits: Monitor Gemini API usage in Google Cloud Console to stay within free-tier limits.
License

MIT License. Feel free to use and modify the code as needed.


Versão em Português

Agente de Planejamento de Viagens com IA - MVP

Visão Geral

O Agente de Planejamento de Viagens com IA é um Produto Mínimo Viável (MVP) que gera itinerários de viagem personalizados com base nas preferências do usuário. Os usuários fornecem entrada (por exemplo, "viagem de 5 dias para Paris com menos de $2000, interessado em museus"), e o agente usa o Google Gemini SDK para analisar preferências, gerar atrações relevantes e criar um itinerário dia a dia. O MVP é uma aplicação web construída com Flask, com uma interface simples para entrada e saída.

Funcionalidades
  • Entrada Conversacional: Usuários inserem preferências de viagem por meio de um formulário de texto (por exemplo, destino, orçamento, dias, interesses).
  • Análise de Preferências: O Gemini SDK extrai dados estruturados (JSON) de entrada em linguagem natural.
  • Geração de Atrações: O Gemini gera uma lista curada de atrações com base no destino e interesses.
  • Geração de Itinerário: Cria um itinerário de 5 dias com atividades diárias, exibido como um cronograma baseado em JSON.
  • Interface Web: Interface HTML básica para entrada e exibição do itinerário.
Pilha Tecnológica
  • IA: Google Gemini SDK (google-generativeai) com o modelo Gemini 1.5 Flash.
  • Backend: Python 3.9+ com Flask para API e servidor web.
  • Frontend: Modelos HTML com Flask.
  • Dependências: flask, google-generativeai, python-dotenv.
  • Sem APIs Externas: Depende apenas do Gemini para dados de atrações, eliminando a necessidade da API do Google Maps.
Pré-requisitos
  • Python 3.9+: Instalado no seu sistema.
  • Chave da API do Gemini: Obtenha em Google AI Studio.
  • Git: Para clonar o repositório (opcional).
Instruções de Configuração
  1. Clonar o Repositório (ou criar a estrutura do projeto):

    git clone https://github.com/AI-Robotic-Labs/AI-Agent-Travel.git
    cd travel-planner-mvp

    Estrutura do projeto:

    travel-planner-mvp/
    ├── app.py
    ├── templates/
    │   ├── index.html
    │   ├── result.html
    ├── .env
    ├── requirements.txt
    
  2. Instalar Dependências:

    pip install -r requirements.txt

    requirements.txt:

    flask==2.3.3
    google-generativeai==0.8.1
    python-dotenv==1.0.1
    
  3. Configurar o Ambiente:

    • Crie um arquivo .env na raiz do projeto:
      GEMINI_API_KEY=sua-chave-da-api-gemini
    • Obtenha a chave da API do Gemini no Google AI Studio.
  4. Executar a Aplicação:

    python app.py
    • Abra http://localhost:5000 no seu navegador.
Uso
  1. Inserir Preferências:
    • Na página inicial (/), insira suas preferências de viagem (por exemplo, "viagem de 5 dias para Paris com menos de $2000, interessado em museus").
    • Clique em "Planejar Minha Viagem" para enviar.
  2. Visualizar Itinerário:
    • A aplicação exibe um itinerário dia a dia com atividades e atrações (por exemplo, "Dia 1: Visitar o Museu do Louvre").
    • Clique em "Planejar Outra Viagem" para começar novamente.

Exemplo de Entrada:

  • "viagem de 5 dias para Paris com menos de $2000, interessado em museus"

Exemplo de Saída:

Itinerário para Paris
Dia 1
- Chegar em Paris
- Visitar o Museu do Louvre
Dia 2
- Explorar o Museu Orsay
- Passeio noturno ao longo do Sena
...
Limitações
  • Sem Dados em Tempo Real: As atrações são geradas pelo Gemini, sem detalhes ao vivo como coordenadas ou horários de funcionamento.
  • Saída Apenas em Texto: Sem exportação para PDF ou mapas visuais no MVP.
  • Interface Básica: Estilização mínima com formulários HTML.
  • Sem Persistência: Os itinerários não são salvos.
Melhorias Futuras
  • Exportação para PDF: Adicionar ReportLab para itinerários baixáveis.
  • Interface Aprimorada: Usar Bootstrap ou React para uma interface mais polida.
  • APIs Externas: Integrar APIs de voos/hotéis (por exemplo, Amadeus) para planejamento completo.
  • Banco de Dados: Armazenar preferências do usuário no Firestore.
  • Entrada por Voz: Adicionar Google Cloud Speech-to-Text para acessibilidade.
Solução de Problemas
  • Erros na API do Gemini: Verifique a chave da API no .env e teste no Google AI Studio.
  • Problemas de Análise JSON: Se o Gemini retornar JSON malformado, ajuste a lógica de strip no app.py.
  • Limites de Taxa: Monitore o uso da API do Gemini no Google Cloud Console para permanecer dentro dos limites do nível gratuito.
Licença

Licença MIT. Sinta-se à vontade para usar e modificar o código conforme necessário.

About

AI Agent Travel by Gemini 2.0

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •