sivan26 commited on
Commit
3bb3cf2
·
verified ·
1 Parent(s): 2891638

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -11
app.py CHANGED
@@ -3,8 +3,10 @@ import openai
3
  import os
4
  import pandas as pd
5
 
 
6
  openai.api_key = os.getenv("OPENAI_API_KEY")
7
 
 
8
  def generate_itinerary(prompt):
9
  system_prompt = (
10
  "You are a helpful travel assistant. Given a short travel request, "
@@ -15,9 +17,11 @@ def generate_itinerary(prompt):
15
  "- Be specific but concise\n"
16
  "- Focus on the traveler's stated interests\n"
17
  )
 
18
  user_prompt = f"Prompt: {prompt}\nItinerary:\n"
 
19
  try:
20
- response = openai.ChatCompletion.create(
21
  model="gpt-4",
22
  messages=[
23
  {"role": "system", "content": system_prompt},
@@ -26,32 +30,37 @@ def generate_itinerary(prompt):
26
  temperature=0.7,
27
  max_tokens=700,
28
  )
29
-
30
- content = response['choices'][0]['message']['content'].strip().replace("\n", "<br>")
31
- return content
32
  except Exception as e:
33
  return f"Error: {e}"
34
 
 
35
  def batch_generate_itineraries(multi_prompt):
36
  lines = [line.strip() for line in multi_prompt.splitlines() if line.strip()]
37
  results = []
38
  for req in lines:
39
  itinerary = generate_itinerary(req)
40
  results.append((req, itinerary))
41
- return results # List of tuples for gr.Dataframe
 
42
 
43
  iface = gr.Interface(
44
  fn=batch_generate_itineraries,
45
- inputs=gr.Textbox(lines=10, placeholder="Enter one travel request per line", label="Multiple Travel Requests"),
 
 
 
 
46
  outputs=gr.Dataframe(
47
  headers=["Request", "Generated Itinerary"],
48
- datatype=["str", "html"], # Important: render as HTML
49
  label="Itineraries Table"
50
  ),
51
- title="Batch Travel Itinerary Generator",
52
- description="Enter multiple travel requests (one per line). Get structured itineraries as a table."
53
  )
54
 
55
  if __name__ == "__main__":
56
- iface.launch()
57
-
 
3
  import os
4
  import pandas as pd
5
 
6
+
7
  openai.api_key = os.getenv("OPENAI_API_KEY")
8
 
9
+
10
  def generate_itinerary(prompt):
11
  system_prompt = (
12
  "You are a helpful travel assistant. Given a short travel request, "
 
17
  "- Be specific but concise\n"
18
  "- Focus on the traveler's stated interests\n"
19
  )
20
+
21
  user_prompt = f"Prompt: {prompt}\nItinerary:\n"
22
+
23
  try:
24
+ response = openai.chat.completions.create(
25
  model="gpt-4",
26
  messages=[
27
  {"role": "system", "content": system_prompt},
 
30
  temperature=0.7,
31
  max_tokens=700,
32
  )
33
+ content = response.choices[0].message.content.strip()
34
+ # Convert newlines to <br> for proper table formatting
35
+ return content.replace("\n", "<br>")
36
  except Exception as e:
37
  return f"Error: {e}"
38
 
39
+
40
  def batch_generate_itineraries(multi_prompt):
41
  lines = [line.strip() for line in multi_prompt.splitlines() if line.strip()]
42
  results = []
43
  for req in lines:
44
  itinerary = generate_itinerary(req)
45
  results.append((req, itinerary))
46
+ return results # Returns list of (request, itinerary) tuples
47
+
48
 
49
  iface = gr.Interface(
50
  fn=batch_generate_itineraries,
51
+ inputs=gr.Textbox(
52
+ lines=10,
53
+ placeholder="Enter one travel request per line\nExample:\n3-day trip to Rome focused on history and food",
54
+ label="Multiple Travel Requests"
55
+ ),
56
  outputs=gr.Dataframe(
57
  headers=["Request", "Generated Itinerary"],
58
+ datatype=["str", "html"],
59
  label="Itineraries Table"
60
  ),
61
+ title="🧳 Batch Travel Itinerary Generator",
62
+ description="Paste multiple travel requests (one per line). Get structured GPT-4 itineraries in a table."
63
  )
64
 
65
  if __name__ == "__main__":
66
+ iface.launch()