[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:54: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 à Bordeaux ?. geoloc: Metz

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Metz", "city_to": "Bordeaux", "departure_date": "2025-08-28", "departure_time": "12: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 05:33:00

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Tours → Nice le 2025-08-28 à 04:33. Nouvelle demande: Les trains suivants. geoloc: Metz

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Tours", "city_to": "Nice", "departure_date": "2025-08-28", "departure_time": "07:33", "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:06:00

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

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

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

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

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

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

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

[User] De Rennes vers Nancy Autour de 17:15

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


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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Angers", "departure_date": "2025-08-27", "departure_time": "22: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-28 03: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] Trajet Besançon - Limoges

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


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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lyon", "city_to": "Grenoble", "departure_date": "2025-08-27", "departure_time": "20: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-28 06:23: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 à Angers

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Angers", "departure_date": "2025-08-28", "departure_time": "06:35", "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: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] Contexte de recherche précédent: trajet Le Havre → Clermont-Ferrand le 2025-08-27 à 18:40. Nouvelle demande: Et après ?. geoloc: Dijon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Le Havre", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-27", "departure_time": "21:40", "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: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 pars de Nancy

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nancy", "city_to": "", "departure_date": "2025-08-28", "departure_time": "14: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 11:11: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 Le Havre à Nîmes À 14:30 s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Le Havre", "city_to": "Nîmes", "departure_date": "2025-08-28", "departure_time": "14:30", "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:30:00

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

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

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

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

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

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

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

[User] Train Paris → Villeurbanne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Paris", "city_to": "Villeurbanne", "departure_date": "2025-08-27", "departure_time": "19:44", "max_results": 10}}


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 08:23: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 à Besançon. geoloc: Aix-en-Provence

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Aix-en-Provence", "city_to": "Besançon", "departure_date": "2025-08-28", "departure_time": "11: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-27 22:30:00

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

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

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

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

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

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

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

[User] Je voudrais partir pour Toulon. geoloc: Tours

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Tours", "city_to": "Toulon", "departure_date": "2025-08-27", "departure_time": "02:33", "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:47: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 Marseille

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Marseille", "city_to": "", "departure_date": "2025-08-28", "departure_time": "14:25", "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:04:00

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Orléans → Strasbourg le 2025-08-27 à 13:04. Nouvelle demande: Et les suivants ?. geoloc: Brest

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Orléans", "city_to": "Strasbourg", "departure_date": "2025-08-27", "departure_time": "20:04", "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:54: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 Perpignan à Bordeaux Vers 06:30

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


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

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

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

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

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

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

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

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

[User] Je veux aller à Clermont-Ferrand

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-27", "departure_time": "22:05", "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:51: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 Clermont-Ferrand → Saint-Étienne Aux alentours de 20:15

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Clermont-Ferrand", "city_to": "Saint-Étienne", "departure_date": "2025-08-28", "departure_time": "20:15", "max_results": 10}}


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

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

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

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

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

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

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

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

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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Caen", "city_to": "Besançon", "departure_date": "2025-08-28", "departure_time": "03:01", "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:26: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 Clermont-Ferrand. geoloc: Grenoble

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Grenoble", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-27", "departure_time": "22:34", "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:46: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 à Rouen

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Rouen", "departure_date": "2025-08-28", "departure_time": "12:05", "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: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] Je pars de La Rochelle pour Metz À 14:45 s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "La Rochelle", "city_to": "Metz", "departure_date": "2025-08-28", "departure_time": "14: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 11:54:00

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

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

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

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

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

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

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

[User] Comment aller de Orléans à Le Havre ?

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Orléans", "city_to": "Le Havre", "departure_date": "2025-08-28", "departure_time": "17: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-28 02: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 cherche un train pour Lille

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


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 09: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] Je veux aller à Nancy. geoloc: Reims

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


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-27 15:08: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 à Aix-en-Provence. geoloc: Metz

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Metz", "city_to": "Aix-en-Provence", "departure_date": "2025-08-27", "departure_time": "18:16", "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:25: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 Brest Metz

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


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

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Orléans → Bordeaux le 2025-08-28 à 06:49. Nouvelle demande: Et les trains d'après ?. geoloc: Bordeaux

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Orléans", "city_to": "Bordeaux", "departure_date": "2025-08-28", "departure_time": "09: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 17: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] De Orléans vers Nancy

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Orléans", "city_to": "Nancy", "departure_date": "2025-08-27", "departure_time": "21:43", "max_results": 10}}


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

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

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

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

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

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

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

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

[User] J'aimerais aller à Reims

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Reims", "departure_date": "2025-08-28", "departure_time": "06: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-28 06:57:00

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

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

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

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

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

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

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

[User] Liaison La Rochelle Lille

[Assistant] {"name": "search_trains", "parameters": {"city_from": "La Rochelle", "city_to": "Lille", "departure_date": "2025-08-28", "departure_time": "07: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-28 08: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] Il faut que j'aille à Caen

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