[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: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] En partant de Saint-Étienne

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


[System]
Tu es un routeur d'outils intelligent. Analyse la requête et la géolocalisation pour déterminer l'action.
Répond UNIQUEMENT avec le JSON de l'outil choisi. Ne me génère pas de texte.
Heure actuelle (locale): 2025-08-28 01: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] Contexte de recherche précédent: trajet Paris → Clermont-Ferrand le 2025-08-27 à 23:25. Nouvelle demande: Et les trains d'après ?. geoloc: Avignon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Paris", "city_to": "Clermont-Ferrand", "departure_date": "2025-08-28", "departure_time": "05: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: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] Il faut que j'aille à Perpignan

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Perpignan", "departure_date": "2025-08-27", "departure_time": "18:12", "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:48:00

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

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

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

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

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

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

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

[User] Je veux aller à Saint-Étienne. geoloc: Nice

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Nice", "city_to": "Saint-Étienne", "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-27 22:19:00

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

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

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

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

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

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

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

[User] Il faut que j'aille à Montpellier

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


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

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


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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Rouen", "city_to": "Avignon", "departure_date": "2025-08-28", "departure_time": "15: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 01:48:00

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

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

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

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

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

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

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

[User] Je voudrais partir pour Lille. geoloc: Nîmes

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

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Lyon → La Rochelle le 2025-08-28 à 01:56. Nouvelle demande: Et les suivants ?. geoloc: Toulouse

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lyon", "city_to": "La Rochelle", "departure_date": "2025-08-28", "departure_time": "05:56", "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: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 de Limoges à Perpignan Départ à 12:30

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Limoges", "city_to": "Perpignan", "departure_date": "2025-08-28", "departure_time": "12: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 20:29:00

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Strasbourg → Nice le 2025-08-27 à 18:29. Nouvelle demande: Et après ?. geoloc: Nice

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


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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Villeurbanne", "city_to": "Avignon", "departure_date": "2025-08-27", "departure_time": "04:32", "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: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] Liaison Le Havre Nancy Autour de 13:00

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


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

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

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

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

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

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

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

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

[User] En partant de Strasbourg

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


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

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

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

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

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

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

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

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

[User] J'aimerais aller à Le Havre

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Le Havre", "departure_date": "2025-08-27", "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-28 04:50: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 à Lyon ?

[Assistant] {"name": "search_trains", "parameters": {"city_from": "", "city_to": "Lyon", "departure_date": "2025-08-28", "departure_time": "08: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 19: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] À partir de Lyon

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


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

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

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

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

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

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

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

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

[User] Comment aller de Clermont-Ferrand à Bordeaux ? Pour 13:45

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


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

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

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

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

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

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

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

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

[User] Voyage de Toulouse à Toulon Je veux partir à 20:00

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


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

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

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

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

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

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

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

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

[User] Je veux aller de Aix-en-Provence à Toulon À 08:00 s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Aix-en-Provence", "city_to": "Toulon", "departure_date": "2025-08-28", "departure_time": "15:02", "max_results": 10}}


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

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


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

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

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

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

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

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

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

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

[User] Un train pour Montpellier s'il vous plaît. geoloc: Perpignan

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

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


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

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

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

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

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

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

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

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

[User] Contexte de recherche précédent: trajet Lyon → Rennes le 2025-08-27 à 22:12. Nouvelle demande: Et les trains d'après ?. geoloc: Amiens

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lyon", "city_to": "Rennes", "departure_date": "2025-08-28", "departure_time": "04:12", "max_results": 10}}


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

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


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

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


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

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


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

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Toulouse", "city_to": "Le Havre", "departure_date": "2025-08-28", "departure_time": "07:38", "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:59:00

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

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

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

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

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

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

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

[User] Départ depuis Saint-Étienne

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Saint-Étienne", "city_to": "", "departure_date": "2025-08-28", "departure_time": "08:09", "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: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] En partant de Lyon

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Lyon", "city_to": "", "departure_date": "2025-08-27", "departure_time": "22: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 04:50: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 Angers → Nîmes À 18:30 s'il vous plaît

[Assistant] {"name": "search_trains", "parameters": {"city_from": "Angers", "city_to": "Nîmes", "departure_date": "2025-08-28", "departure_time": "18: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-28 02:20:00

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

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

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

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

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

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

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

[User] Je veux aller de Nancy à Mulhouse

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