---
name: strip_think_tags
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "def strip_think_tags(text: str) -> str"
description: "Remueve tags <think>...</think> que algunos modelos (MiniMax, DeepSeek) incluyen en sus respuestas como chain of thought interno."
tags: [llm, text, cleaning, think, chain-of-thought, deepseek, minimax]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: [re]
params:
  - name: text
    desc: "String posiblemente con tags <think>...</think>"
output: "String con los think tags removidos"
tested: true
tests: ["texto sin tags no cambia", "texto con think tags los remueve", "tags multilinea son removidos", "multiples tags son removidos"]
test_file_path: "python/functions/core/strip_think_tags_test.py"
file_path: "python/functions/core/strip_think_tags.py"
---

## Ejemplo

```python
raw = "<think>Let me reason step by step...</think>La respuesta es 42."
result = strip_think_tags(raw)
# "La respuesta es 42."

multiline = "<think>\nPrimero analizo...\nLuego concluyo...\n</think>Respuesta final."
result = strip_think_tags(multiline)
# "Respuesta final."
```

## Notas

Funcion pura. Usa `re.sub` con el flag `[\s\S]*?` (lazy) para manejar contenido multilinea sin capturar de mas cuando hay multiples tags. El `.strip()` final elimina whitespace residual alrededor del texto util.
