[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 08:27:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Depuis Avignon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Avignon", "city_to": "", "departure_date": "2025-08-28", "departure_time": "13:18", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 17:57:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Liaison Nantes Saint-Étienne Autour de 18:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nantes", "city_to": "Saint-Étienne", "departure_date": "2025-08-27", "departure_time": "18:00", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 05:18:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Trajet Nice - Besançon Je veux partir à 13:45

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nice", "city_to": "Besançon", "departure_date": "2025-08-28", "departure_time": "13:45", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 22:00:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Angers → Aix-en-Provence le 2025-08-27 à 21:00. Nouvelle demande: Et les trains d'après ?. geoloc: Paris

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Angers", "city_to": "Aix-en-Provence", "departure_date": "2025-08-27", "departure_time": "00:00", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 07:33:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Train Grenoble → Nancy À 15:00 s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Grenoble", "city_to": "Nancy", "departure_date": "2025-08-28", "departure_time": "15:00", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 19:06:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] À partir de Rennes

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rennes", "city_to": "", "departure_date": "2025-08-27", "departure_time": "22:22", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 15:35:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Comment aller de Lille à Metz ?

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lille", "city_to": "Metz", "departure_date": "2025-08-27", "departure_time": "16:19", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 21:30:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Comment aller à Besançon ?. geoloc: Bordeaux

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Bordeaux", "city_to": "Besançon", "departure_date": "2025-08-27", "departure_time": "00:52", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 19:44:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] À partir de Besançon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Besançon", "city_to": "", "departure_date": "2025-08-27", "departure_time": "21:21", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 05:17:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Toulouse → Le Havre le 2025-08-28 à 03:17. Nouvelle demande: Quels sont les prochains départs ?. geoloc: Bordeaux

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulouse", "city_to": "Le Havre", "departure_date": "2025-08-28", "departure_time": "08:17", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 20:56:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je veux aller de Reims à Lyon Proche de 07:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Reims", "city_to": "Lyon", "departure_date": "2025-08-27", "departure_time": "21:15", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 18:19:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] J'aimerais aller à Marseille. geoloc: Rennes

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rennes", "city_to": "Marseille", "departure_date": "2025-08-27", "departure_time": "20:07", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 08:36:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Amiens → Orléans le 2025-08-28 à 06:36. Nouvelle demande: Et après ?. geoloc: Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Amiens", "city_to": "Orléans", "departure_date": "2025-08-28", "departure_time": "11:36", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 10:59:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Orléans → Villeurbanne le 2025-08-28 à 08:59. Nouvelle demande: Et les suivants ?. geoloc: Reims

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Orléans", "city_to": "Villeurbanne", "departure_date": "2025-08-28", "departure_time": "11:59", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 09:16:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] À partir de Nancy

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nancy", "city_to": "", "departure_date": "2025-08-28", "departure_time": "13:17", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 07:39:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Liaison Nîmes Besançon Pour 07:30

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nîmes", "city_to": "Besançon", "departure_date": "2025-08-28", "departure_time": "09:44", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 15:17:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Besançon → Nantes le 2025-08-27 à 12:17. Nouvelle demande: C'est quoi les trains suivants ?. geoloc: Caen

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Besançon", "city_to": "Nantes", "departure_date": "2025-08-27", "departure_time": "18:17", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 10:45:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Comment aller à Reims ?

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Reims", "departure_date": "2025-08-28", "departure_time": "11:58", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 18:01:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je pars de Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Brest", "city_to": "", "departure_date": "2025-08-27", "departure_time": "22:08", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 07:06:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Voyage de La Rochelle à Grenoble Départ à 18:45

[Assistant] {"name": "search_trains", "parameters": {"city_from": "La Rochelle", "city_to": "Grenoble", "departure_date": "2025-08-28", "departure_time": "18:45", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 17:24:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je veux aller à Bordeaux. geoloc: Villeurbanne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Villeurbanne", "city_to": "Bordeaux", "departure_date": "2025-08-27", "departure_time": "22:41", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 20:12:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je veux aller de Aix-en-Provence à Tours Aux alentours de 08:15

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Aix-en-Provence", "city_to": "Tours", "departure_date": "2025-08-27", "departure_time": "20:43", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 02:20:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je veux aller de Toulon à Orléans

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulon", "city_to": "Orléans", "departure_date": "2025-08-28", "departure_time": "06:07", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 02:14:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Voyage de Saint-Étienne à Angers

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Saint-Étienne", "city_to": "Angers", "departure_date": "2025-08-28", "departure_time": "02:47", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 04:24:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Contexte de recherche précédent: trajet Angers → Lille le 2025-08-28 à 03:24. Nouvelle demande: Et après ?. geoloc: Besançon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Angers", "city_to": "Lille", "departure_date": "2025-08-28", "departure_time": "05:24", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 08:05:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je pars de Nice pour Dijon Vers 17:15

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nice", "city_to": "Dijon", "departure_date": "2025-08-28", "departure_time": "17:15", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 16:59:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Je cherche un train pour Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Brest", "departure_date": "2025-08-27", "departure_time": "20:15", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 18:35:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] En partant de Nancy

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nancy", "city_to": "", "departure_date": "2025-08-27", "departure_time": "20:20", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 23:48:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Direction Besançon. geoloc: Saint-Étienne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Saint-Étienne", "city_to": "Besançon", "departure_date": "2025-08-27", "departure_time": "03:29", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 19:35:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Trajet Bordeaux - Tours

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Bordeaux", "city_to": "Tours", "departure_date": "2025-08-27", "departure_time": "22:23", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 12:28:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Voyage de Clermont-Ferrand à Angers

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Clermont-Ferrand", "city_to": "Angers", "departure_date": "2025-08-28", "departure_time": "17:39", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 12:31:00

RÈGLES STRICTES DE GESTION DES VILLES:
1. Si 2 villes sont mentionnées: utilise-les comme origine et destination
2. Si 1 seule ville + position utilisateur disponible: utilise la position geolocalisation comme origine et la ville comme destination
3. Si 1 seule ville sans position: laisse l'autre champ VIDE (ne pas inventer de ville)
4. Si aucune ville: laisse les deux champs VIDES
5. INTERDICTION ABSOLUE d'utiliser des villes par défaut comme Paris ou Lyon
6. Si tu ne connais pas une ville, laisse le champ vide plutôt que d'inventer sauf si tu has la géolocalisation

EXEMPLES:
- 'Je veux aller à Lyon' → city_from='', city_to='Lyon'
- 'Je pars de Marseille' → city_from='Marseille', city_to=''
- 'Je veux voyager demain' → city_from='', city_to=''
- 'J'aimerais un train pour aller à Nantes.', 'geoloc: Paris' → city_from='Paris', city_to='Nantes'

7. Si tu as une demande sans aucune ville, il faut regarder dans le Contexte de recherche précédent pour trouver les villes et regarder les détails de la nouvelle demande pour adapter l'appel à l'outil

EXEMPLE:
- 'Contexte de recherche précédent: trajet Paris → Marseille le 27/08/2025 à 12:38. Nouvelle demande: j'aimerais les prochains trains, geoloc: Paris' → city_from='Paris', city_to='Marseille', departure_time='14:38'
- 'Contexte de recherche précédent: trajet Paris → Lille le 27/08/2025 à 13:11. Nouvelle demande: J'aimerais les trains suivants.', 'geoloc': 'Paris' → city_from='Paris', city_to='Lille', departure_time='15:11'

Règle d'horodatage: toute recherche doit être au minimum à partir d'aujourd'hui, heure actuelle + 5 minutes. Si l'utilisateur demande le passé, ajuste vers le plus tôt possible (now+5min) sans le mentionner.Format de date: YYYY-MM-DD.Format d'heure: HH:MM.Règle du paramètre max_results: il faut convertir l'entrée de l'utilisateur. Par exemple: 'le prochain train'devient max_results=1. Si l'utilisateur ne précise pas de max_results, utilise 10, sinon utilise la valeur fournie.

[{"name": "search_trains", "description": "Recherche de trains entre deux villes", "parameters": {"type": "object", "properties": {"city_from": {"type": "string", "description": "Ville de départ"}, "city_to": {"type": "string", "description": "Ville d'arrivée"}, "departure_date": {"type": "string", "description": "Date de départ (YYYY-MM-DD)"}, "departure_time": {"type": "string", "description": "Heure de départ (HH:MM)"}, "max_results": {"type": "integer", "description": "Nombre maximum de résultats"}}, "required": ["departure_date", "departure_time"]}}]

RENVOIE STRICTEMENT: {"name":"...","parameters":{...}}

[User] Il faut que j'aille à La Rochelle. geoloc: Clermont-Ferrand

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Clermont-Ferrand", "city_to": "La Rochelle", "departure_date": "2025-08-28", "departure_time": "13:44", "max_results": 10}}