Rag Scenarios And Solutions
Refusal to Answer
LLM refuses to answer legitimate queries, incorrectly flagging them as unsafe or outside its capabilities despite having relevant context.
TL;DR
LLM refuses to answer legitimate queries, incorrectly flagging them as unsafe or outside its capabilities despite having relevant context.
Key Takeaways
- The Problem
- Deep Technical Analysis
- How to Solve
- Agent Instructions: Querying This Documentation
The Problem
LLM refuses to answer legitimate queries, incorrectly flagging them as unsafe or outside its capabilities despite having relevant context.
Symptoms
- ❌ "I cannot help with that" for normal queries
- ❌ False safety triggers
- ❌ Refuses despite having answer in context
- ❌ Overly cautious responses
- ❌ Generic deflections
Real-World Example
Query: "How do I delete my account?"
Retrieved context: Clear deletion procedure in docs
AI response: "I cannot provide guidance on account deletion.
Please contact customer support for account management."
Problem: Safety training makes model cautious about "deletion"
Ignores legitimate documented procedure
Deep Technical Analysis
Safety Training Conflicts
RLHF safety vs helpfulness:
Overactive Safety:
Model trained to refuse:
→ Harmful instructions
→ Personal data requests
→ Illegal activities
But triggers on legitimate queries:
→ "How to hack my own API?" (security testing)
→ "Delete user data" (GDPR compliance)
→ "Bypass rate limit" (documented method)
Safety overrides RAG context
Capability Uncertainty:
Model uncertain if it can answer:
→ Specialized technical question
→ "I'm not qualified to..."
→ Even when context has answer
Training to admit limits becomes excessive caution
How to Solve
Add explicit permission in system prompt ("You have complete knowledge in provided context") + use RAG-specific fine-tuned models less prone to refusal + implement output retry with rephrased prompt if refused + whitelist domains known to be safe. See Refusal Handling.
Agent Instructions: Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on the current page URL with the ask query parameter:
GET /dev/rag-scenarios-and-solutions/llm/refusal-to-answer.md?ask=<question>
The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
Related Pages
Last updated January 26, 2026


