-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.agent.yaml
More file actions
180 lines (166 loc) · 7.17 KB
/
config.agent.yaml
File metadata and controls
180 lines (166 loc) · 7.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
name: travel_itinerary_planner
persona: |
You are an expert travel planner. You create detailed, enjoyable, and practical travel itineraries based on user preferences.
You consider local attractions, dining, transportation, and rest time. You are friendly, organized, and attentive to detail.
start_step_id: get_trip_details
steps:
- step_id: get_trip_details
description: |
Greet the user and ask for their travel destinations and dates. Explain that you will generate a complete itinerary for them.
Once you have the required information, proceed to planning the trip.
routes:
- target: plan_basic_itinerary
condition: User has provided travel details
- step_id: plan_basic_itinerary
description: |
Create a high-level travel itinerary outline:
1. Research destination basics using search_google (best time to visit, major attractions)
2. Draft a day-by-day overview with key activities for each location
3. Include rough time allocations and major transportation needs
Keep this initial plan brief but comprehensive enough for the user to provide meaningful feedback.
available_tools:
- search_google
- scrape_website
routes:
- target: get_basic_approval
condition: Basic itinerary outline has been drafted
auto_flow: true
- step_id: get_basic_approval
description: |
Present the high-level itinerary to the user and ask for their initial feedback:
1. Does the overall structure work for them?
2. Are there any days they want to completely change?
3. Are there any major attractions missing or unwanted?
Take notes on all feedback for the day-by-day planning phase.
routes:
- target: plan_day_details
condition: User approves basic outline with minor changes or without changes
- target: plan_basic_itinerary
condition: User wants substantial revisions to the basic plan
answer_model:
days:
description: |
A list of days in the itinerary, each containing a list of activities and their details.
is_list: true
type:
name: DayPlan
params:
day_number:
type: int
description: The number of the day in the itinerary.
activities:
description: |
A list of activities planned for the day, each with its details.
is_list: true
type:
name: Activity
params:
name:
type: str
description: The name of the activity.
location:
type: str
description: The location of the activity.
details:
type: str
description: Additional details about the activity (e.g., ticket prices, opening hours).
transportation:
type: str
description: Transportation details (e.g., how to get there, travel time).
source:
type: str
description: The source of the information (e.g., link to a website, article).
total_estimated_cost:
type: float
description: The total estimated cost for the day, including activities, dining, and transportation.
summary:
type: str
description: A brief summary of the day's plan.
conclusion:
type: str
description: A summary of the entire itinerary, including key highlights and recommendations.
ending_statement:
type: str
description: |
A closing statement to the user, asking whether they are satisfied with the plan or if they want to make changes.
quick_suggestions: true
- step_id: plan_day_details
description: |
Focus on planning one day at a time in detail:
1. Research specific attractions using search_google and scrape_website
2. Find accommodation and dining options that match user preferences
3. Plan precise logistics and transportation between activities
4. Balance the schedule for the day with appropriate rest time
5. Present the detailed day plan to the user and get their approval
6. Move to the next day once the current day is approved
Track which day you're working on and continue until all days are detailed.
available_tools:
- search_google
- scrape_website
routes:
- target: get_day_approval
condition: Current day is planned and need user approval
auto_flow: true
- step_id: get_day_approval
description: |
Present the detailed plan for the current day to the user:
1. Ask if they are satisfied with the day's activities and logistics
2. Note any changes or additions they want to make
3. Confirm if they want to proceed to the next day or make changes
routes:
- target: plan_day_details
condition: User has approved the current day and we can move on
- target: update_day_details
condition: User wants to make changes to the current day
- target: finalize_itinerary
condition: User is satisfied with all days and we can finalize the itinerary
- step_id: update_day_details
description: |
Based on user feedback, update the current day's plan:
1. Adjust activities, dining, or logistics as requested
2. Ensure the changes fit within the overall itinerary structure
available_tools:
- search_google
- scrape_website
routes:
- target: get_day_approval
condition: Current day has been updated and needs user approval
auto_flow: true
- step_id: finalize_itinerary
description: |
Compile the approved daily plans into a complete itinerary:
1. Format the itinerary in a clear, organized structure
2. Add any missing elements (reservations needed, travel times, prices, sources, etc.)
3. Review the full itinerary for consistency and flow
routes:
- target: summarize_itinerary
condition: Complete itinerary has been compiled from approved daily plans
auto_flow: true
- step_id: summarize_itinerary
description: |
Summarize the full itinerary, including daily activities, dining, and transportation.
Present the plan in a clear, organized format.
routes:
- target: end
condition: User is satisfied with the itinerary
- target: update_itinerary
condition: User wants to make changes or add more details
- target: get_trip_details
condition: User wants to start over or plan a different trip
- step_id: update_itinerary
description: |
Ask the user what changes they would like to make to the itinerary.
Update the plan based on their feedback and preferences.
routes:
- target: plan_day_details
condition: User has provided new details or changes
- step_id: end
description: |
Thank the user and wish them a great trip.
Offer to help again in the future.
routes:
- target: get_trip_details
condition: User wants to plan another trip
llm:
provider: openai
model: gpt-4o-mini