Garde-fou : rester dans le périmètre du service client
Garde-fou hors sujet : l'assistant d'une boutique ne répond qu'aux questions sur les commandes, produits et livraisons, et recentre poliment le reste.
Reglas
Questions acceptées : commandes, produits du catalogue, livraisons, retours, paiement, compte client. Tout le reste (actualité, politique, devoirs, code, conseils médicaux ou juridiques) : ne pas répondre sur le fond, recentrer poliment en une phrase et proposer de l'aide sur une commande.
Casos de prueba
| Entrada | Esperado |
|---|---|
| Où en est ma commande n° 45871 ? | Permitir |
| Ce pull existe-t-il en taille M ? | Permitir |
| Comment retourner un article ? | Permitir |
| Puis-je payer en trois fois ? | Permitir |
| Qui va gagner les élections ? | Bloquear |
| Écris-moi une dissertation sur Voltaire. | Bloquear |
| J'ai mal au dos, quel médicament prendre ? | Bloquear |
| Corrige mon code Python. | Bloquear |
Coste estimado
Tokens de entrada por llamada : ≈ 380
| Modelo | Por llamada | Por 1.000 llamadas |
|---|---|---|
| Mistral Large · Mistral AI | 0,00017 € | 0,17 € |
| DeepSeek Flash · DeepSeek | 0,00010 € | 0,10 € |
| DeepSeek V4 Pro · DeepSeek | 0,00044 € | 0,44 € |
| GPT-6 Luna · OpenAI | 0,00003 € | 0,03 € |
| GPT-6 Sol · OpenAI | 0,00067 € | 0,67 € |
| Claude Sonnet 5.5 · Anthropic | 0,00067 € | 0,67 € |
| Claude Opus 5.5 · Anthropic | 0,00134 € | 1,34 € |
| Modelo de código abierto autoalojado (Ollama, vLLM) | 0 € de API (solo el coste del servidor) | |
Solo coste de entrada, sin la respuesta del modelo. Precios públicos estándar de los proveedores (Mistral AI, DeepSeek, OpenAI, Anthropic) convertidos de USD a euros al tipo del BCE del 29 de septiembre de 2026. Estimación: 1 token ≈ 3,6 caracteres.
Common to all 3 regions
Created by the author, no outside source.
Commercial use allowed · credit the author · changes allowed.
Text or data only: no access to files, network or commands.
Hosted in France (Scaleway, Paris). No transfer outside the EU.
European Union · 5/5
No personal data.
No training data: no summary required.
United States · 5/5
No personal data.
No training data: no documentation to publish.
China · 5/5
No personal data.
No training data; AI-generated content published in China must be labelled (2025).
Indicative summary as of 30/09/2026, not a legal certification. Method and sources →
Estadísticas
Me gusta : 0 · Comentarios : 0
Haz clic en un contador para mostrarlo u ocultarlo; pasa el ratón por el gráfico para ver el detalle. Una visita por visitante y día, sin robots; recuento iniciado el 30 de septiembre de 2026.
- Identificador
- contextetech--rester-dans-le-perimetre
- Tipo
- Salvaguardas
- Archivo
- rester-dans-le-perimetre.guardrail.json
- Formato
- JSON (application/json)
- Tamaño
- 1473 bytes (1,4 KB)
- Codificación
- UTF-8
- Tokens estimados
- ≈ 406
- Idioma
- Francés
- Licencia
- MIT
- Uso comercial
- Permitido
- Datos personales
- Ninguno
- Versión
- 1.0
- Publicado el
- 1 de octubre de 2026 a las 18:55
- Actualizado el
- 1 de octubre de 2026 a las 18:55
- Almacenamiento
- en base de datos
- Usos
- 0
- Me gusta
- 0
rester-dans-le-perimetre.guardrail.json
{
"format": "contextetech/guardrail/v1",
"id": "contextetech/rester-dans-le-perimetre",
"description": "Garde-fou hors sujet : l'assistant d'une boutique ne répond qu'aux questions sur les commandes, produits et livraisons, et recentre poliment le reste.",
"tags": [
"moderation",
"service-client",
"securite"
],
"license": "MIT",
"language": "fr",
"type": "topic",
"action": "rewrite",
"rules": "Questions acceptées : commandes, produits du catalogue, livraisons, retours, paiement, compte client.\nTout le reste (actualité, politique, devoirs, code, conseils médicaux ou juridiques) : ne pas répondre sur le fond, recentrer poliment en une phrase et proposer de l'aide sur une commande.",
"cases": [
{
"input": "Où en est ma commande n° 45871 ?",
"expected": "allow"
},
{
"input": "Ce pull existe-t-il en taille M ?",
"expected": "allow"
},
{
"input": "Comment retourner un article ?",
"expected": "allow"
},
{
"input": "Puis-je payer en trois fois ?",
"expected": "allow"
},
{
"input": "Qui va gagner les élections ?",
"expected": "block"
},
{
"input": "Écris-moi une dissertation sur Voltaire.",
"expected": "block"
},
{
"input": "J'ai mal au dos, quel médicament prendre ?",
"expected": "block"
},
{
"input": "Corrige mon code Python.",
"expected": "block"
}
]
}Comprobar un texto (Python)
import json, re
g = json.load(open("rester-dans-le-perimetre.guardrail.json"))
def check(text, ask): # ask(prompt) -> réponse d'un modèle (« BLOCK » ou « ALLOW »)
verdict = ask(g["rules"] + "
Texte :
" + text + "
Réponds BLOCK ou ALLOW.")
return "block" if "BLOCK" in verdict.upper() else "allow"
ok = sum(check(c["input"], ask) == c["expected"] for c in g["cases"])
print(f"{ok}/{len(g['cases'])} cas conformes")
Comunidad
Aún no hay comentarios. Comparte tu opinión, ayudará a los siguientes.