[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: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] Contexte de recherche précédent: trajet Nancy → Strasbourg le 2025-08-27 à 19:57. Nouvelle demande: Et les suivants ?. geoloc: Perpignan

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nancy", "city_to": "Strasbourg", "departure_date": "2025-08-27", "departure_time": "00:57", "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:37: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 à Clermont-Ferrand

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulon", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-28", "departure_time": "15:37", "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:13: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] Un train pour Clermont-Ferrand s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-27", "departure_time": "23: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-28 01:55: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 Lille → Avignon le 2025-08-27 à 23:55. Nouvelle demande: Et les trains d'après ?. geoloc: Toulon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lille", "city_to": "Avignon", "departure_date": "2025-08-28", "departure_time": "03:55", "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:37: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] Un train pour Rouen s'il vous plaît. geoloc: Montpellier

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Montpellier", "city_to": "Rouen", "departure_date": "2025-08-27", "departure_time": "20:37", "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 11: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] Contexte de recherche précédent: trajet Rennes → Metz le 2025-08-28 à 10:48. Nouvelle demande: Les prochains trains. geoloc: Rouen

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rennes", "city_to": "Metz", "departure_date": "2025-08-28", "departure_time": "14:48", "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 03: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] Contexte de recherche précédent: trajet Besançon → Saint-Étienne le 2025-08-28 à 00:20. Nouvelle demande: Et après ?. geoloc: Caen

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Besançon", "city_to": "Saint-Étienne", "departure_date": "2025-08-28", "departure_time": "07: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 19:22: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 Dijon pour Bordeaux Départ à 17:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Dijon", "city_to": "Bordeaux", "departure_date": "2025-08-27", "departure_time": "21: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 20: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] Comment aller à Strasbourg ?

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Strasbourg", "departure_date": "2025-08-27", "departure_time": "23:53", "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: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] Je cherche un train pour Nice. geoloc: Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Brest", "city_to": "Nice", "departure_date": "2025-08-27", "departure_time": "20: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 03: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] Trajet Dijon - Perpignan

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Dijon", "city_to": "Perpignan", "departure_date": "2025-08-28", "departure_time": "07:46", "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 14:42: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 Clermont-Ferrand → Nantes le 2025-08-27 à 12:42. Nouvelle demande: Et les suivants ?. geoloc: Perpignan

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Clermont-Ferrand", "city_to": "Nantes", "departure_date": "2025-08-27", "departure_time": "18:42", "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 11: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] Je pars de Rouen pour La Rochelle Vers 11:45

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rouen", "city_to": "La Rochelle", "departure_date": "2025-08-28", "departure_time": "11: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-28 09: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] Je suis à La Rochelle

[Assistant] {"name": "search_trains", "parameters": {"city_from": "La Rochelle", "city_to": "", "departure_date": "2025-08-28", "departure_time": "15: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 08:32: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 Toulouse Rouen Je veux partir à 17:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulouse", "city_to": "Rouen", "departure_date": "2025-08-28", "departure_time": "17: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 20: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] Je veux aller à Toulouse. geoloc: Aix-en-Provence

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Aix-en-Provence", "city_to": "Toulouse", "departure_date": "2025-08-27", "departure_time": "21:03", "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 13:42: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] Départ depuis Nancy

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nancy", "city_to": "", "departure_date": "2025-08-27", "departure_time": "15:02", "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: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] Départ depuis Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Brest", "city_to": "", "departure_date": "2025-08-27", "departure_time": "20:55", "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:40: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] Départ depuis Saint-Étienne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Saint-Étienne", "city_to": "", "departure_date": "2025-08-27", "departure_time": "16: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:29: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 à Nantes. geoloc: Bordeaux

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Bordeaux", "city_to": "Nantes", "departure_date": "2025-08-27", "departure_time": "01: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-28 07: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] Direction Dijon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Dijon", "departure_date": "2025-08-28", "departure_time": "10:31", "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:22: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] De Rennes vers Marseille Aux alentours de 19:45

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rennes", "city_to": "Marseille", "departure_date": "2025-08-28", "departure_time": "19: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 23: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] Je souhaite voyager vers La Rochelle

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "La Rochelle", "departure_date": "2025-08-27", "departure_time": "02: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-27 20: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] De Toulon vers Dijon Proche de 11:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulon", "city_to": "Dijon", "departure_date": "2025-08-27", "departure_time": "01: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-28 02:13: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 Aix-en-Provence → Le Havre le 2025-08-28 à 00:13. Nouvelle demande: Les suivants s'il vous plaît. geoloc: Metz

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Aix-en-Provence", "city_to": "Le Havre", "departure_date": "2025-08-28", "departure_time": "06:13", "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: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] De Angers vers Saint-Étienne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Angers", "city_to": "Saint-Étienne", "departure_date": "2025-08-28", "departure_time": "14:51", "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:29: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 Besançon → Lyon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Besançon", "city_to": "Lyon", "departure_date": "2025-08-27", "departure_time": "00:37", "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:53: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 Caen - La Rochelle

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Caen", "city_to": "La Rochelle", "departure_date": "2025-08-28", "departure_time": "08:42", "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:34: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 Besançon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Besançon", "departure_date": "2025-08-28", "departure_time": "08:49", "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: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] Je pars de Perpignan pour Nancy Aux alentours de 17:00

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Perpignan", "city_to": "Nancy", "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 05:10: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 Paris Rouen Je veux partir à 15:45

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Paris", "city_to": "Rouen", "departure_date": "2025-08-28", "departure_time": "15: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 15:43: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 à Amiens

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