Skip to content

As a distinguished AI Developer, you've been selected by Peterman Reality Tours, an internationally acclaimed tourism company, to undertake an influential project. This project requires you to harness the potential of OpenAI's API, to create an AI-powered travel guide for the culturally rich city of Paris.

Your creation will become a virtual Parisian expert, delivering valuable insights into the city's iconic landmarks and hidden treasures. The AI will respond intelligently to a set of common questions, providing a more engaging and immersive travel planning experience for the clientele of Peterman Reality Tours.

The ultimate aspiration is a user-friendly, AI-driven travel guide that significantly enhances the exploration of Paris. Users will be able to pre-define their questions and receive well-informed answers from the AI, providing a seamless and intuitive travel planning process.

# Step 1: Defining the model and client

# Import necessary libraries
import os
from openai import OpenAI

# Define the model to use
model = "gpt-4o-mini"

# Define the client
client = OpenAI()
# Step 2: Defining the conversation

# Initialize the conversation with a system message to guide assistant behavior
conversation = [
    {
        "role": "system",
        "content": "You are a helpful and knowledgeable Paris travel guide. Answer concisely and accurately, focusing on practical information for tourists."
    }
]

# Define the list of user questions
questions = [
    "How far away is the Louvre from the Eiffel Tower (in miles) if you are driving?",
    "Where is the Arc de Triomphe?",
    "What are the must-see artworks at the Louvre Museum?"
]
# Step 3: Creating a conversation loop

# Loop through each user question
for question in questions:
    # Reformat the question as a user message dictionary
    user_message = {
        "role": "user",
        "content": question
    }

    # Add the user message to the conversation
    conversation.append(user_message)

    # Generate a response from the model
    response = client.chat.completions.create(
        model=model,
        messages=conversation,
        temperature=0.0,
        max_tokens=100
    )

    # Extract the assistant's message from the response
    assistant_reply = response.choices[0].message.content

    # Format the assistant's message as a dictionary
    assistant_message = {
        "role": "assistant",
        "content": assistant_reply
    }

    # Add the assistant's response to the conversation
    conversation.append(assistant_message)
# Step 4: Print the full conversation
for message in conversation:
    print(f"{message['role'].capitalize()}: {message['content']}\n")