Enhancing AI responses through structured reasoning and knowledge retrieval
RAT is a powerful tool that improves AI responses by leveraging DeepSeek's reasoning capabilities to guide other models through a structured thinking process.
The idea for RAT emerged from an interesting discovery about DeepSeek-R1 API capabilities. By setting the final response token to 1 while retrieving the thinking process, it became possible to separate the reasoning stage from the final response generation. This insight led to the development of a two-stage approach that combines DeepSeek's exceptional reasoning abilities with various response models.
Link to my original concept in this Twitter thread.
RAT employs a two-stage approach:
- Reasoning Stage (DeepSeek): Generates detailed reasoning and analysis for each query
- Response Stage (OpenRouter): Utilizes the reasoning context to provide informed, well-structured answers
This approach ensures more thoughtful, contextually aware, and reliable responses.
- 🤖 Model Selection: Flexibility to choose from various OpenRouter models
- 🧠 Reasoning Visibility: Toggle visibility of the AI's thinking
- 🔄 Context Awareness: Maintains conversation context for more coherent interactions
• Python 3.11 or higher
• A .env file containing:
DEEPSEEK_API_KEY=your_deepseek_api_key_here
OPENROUTER_API_KEY=your_openrouter_api_key_here
optional
ANTHROPIC_API_KEY=your_anthropic_api_key_here
Standalone installation
-
Clone the repository:
git clone https://github.com/Doriandarko/RAT-retrieval-augmented-thinking.git cd RAT-retrieval-augmented-thinking
-
Install as a local package:
pip install -e .
This will install RAT as a command-line tool, allowing you to run it from anywhere by simply typing rat
!
-
Ensure your .env file is configured with:
DEEPSEEK_API_KEY=your_deepseek_api_key_here OPENROUTER_API_KEY=your_openrouter_api_key_here optional ANTHROPIC_API_KEY=your_anthropic_api_key_here
-
Run RAT from anywhere:
rat
-
Available commands:
- Enter your question to get a reasoned response
- Use "model " to switch OpenRouter models
- Type "reasoning" to show/hide the thinking process
- Type "quit" to exit
You can also run each script on its own:
The default implementation using DeepSeek for reasoning and OpenRouter for responses. Run it using:
uv run rat.py
A specialized implementation designed for Claude models that leverages Anthropic's message prefilling capabilities. This version makes Claude believe the reasoning process is its own internal thought process, leading to more coherent and contextually aware responses. Run it using:
uv run rat-claude.py
Interested in improving RAT?
- Fork the repository
- Create your feature branch
- Make your improvements
- Submit a Pull Request
This project is available under the MIT License. See the LICENSE file for details.
If you use this codebase in your projects, please include appropriate credits:
This project uses RAT (Retrieval Augmented Thinking) by Skirano
GitHub: https://github.com/yourusername/rat