Vishwas1 commited on
Commit
79d1a20
·
verified ·
1 Parent(s): 170658b

Add local philosophy TinyLLM checkpoints

Browse files
README.md CHANGED
@@ -15,56 +15,59 @@ pipeline_tag: text-generation
15
 
16
  A tiny CPU-trained character-level GPT-style language model created as an educational end-to-end LLM experiment.
17
 
18
- This is **not** a general chatbot. It is a deliberately small model trained on a tiny toy corpus to demonstrate the full loop:
19
 
20
  1. build a vocabulary
21
  2. train a causal transformer
22
  3. save a checkpoint
23
  4. generate text from learned character patterns
24
 
25
- ## Model details
26
 
 
 
 
 
 
 
 
27
  - Architecture: tiny GPT-style causal transformer
28
  - Tokenization: character-level
29
  - Parameters: 106,688
30
  - Training device: CPU
31
- - Training steps: 3,000
32
  - Dataset: tiny included toy corpus, `data/tiny_corpus.txt`
33
- - Checkpoint: `checkpoints/tinyllm_overfit_3k.pt`
 
34
 
35
- Final training run:
36
 
37
- ```text
38
- step 0: train 3.6967, val 3.6921
39
- step 3000: train 0.1903, val 3.7094
40
- ```
41
 
42
- The rising validation loss is expected here: this checkpoint intentionally overfits the tiny corpus to prove the training loop works.
 
 
 
 
43
 
44
  ## Quick inference
45
 
46
  ```bash
47
  pip install torch huggingface_hub
48
- python hf_infer.py --repo-id YOUR_USERNAME/tinyllm-cpu-char --prompt "A seed" --tokens 300
 
 
49
  ```
50
 
51
  For local inference after cloning:
52
 
53
  ```bash
54
- python sample.py --ckpt checkpoints/tinyllm_overfit_3k.pt --prompt "The little machine" --tokens 300
 
55
  ```
56
 
57
- Example output after overfitting:
58
 
59
- ```text
60
- A seed does not pretend to be a forest.
61
- A sed shows that a forest is posssible.
62
-
63
- The student asked: can a tiny model think?
64
- The teacher answered: first let it predict...
65
- ```
66
-
67
- ## Training
68
 
69
  ```bash
70
  python train.py --steps 3000 --eval-interval 500 --eval-iters 10 \
@@ -72,9 +75,18 @@ python train.py --steps 3000 --eval-interval 500 --eval-iters 10 \
72
  --out checkpoints/tinyllm_overfit_3k.pt
73
  ```
74
 
 
 
 
 
 
 
 
 
 
75
  ## Limitations
76
 
77
  - Character-level only.
78
- - Trained on a tiny toy corpus.
79
  - Generates memorized/stylized snippets, not reliable knowledge.
 
80
  - Intended for learning and experimentation.
 
15
 
16
  A tiny CPU-trained character-level GPT-style language model created as an educational end-to-end LLM experiment.
17
 
18
+ This is **not** a general chatbot. It is a deliberately small model trained to demonstrate the full loop:
19
 
20
  1. build a vocabulary
21
  2. train a causal transformer
22
  3. save a checkpoint
23
  4. generate text from learned character patterns
24
 
25
+ ## Safety / provenance rule
26
 
27
+ This repo contains checkpoints created locally by us. We did **not** pull external model weights or external quote datasets into the training machine for the philosophy experiments. The philosophy corpus was extracted from existing local workspace philosophy book material, and a provenance manifest is included at `data/philosophy_quotes_local_manifest.json`.
28
+
29
+ ## Checkpoints
30
+
31
+ ### Original toy corpus checkpoint
32
+
33
+ - Checkpoint: `checkpoints/tinyllm_overfit_3k.pt`
34
  - Architecture: tiny GPT-style causal transformer
35
  - Tokenization: character-level
36
  - Parameters: 106,688
37
  - Training device: CPU
 
38
  - Dataset: tiny included toy corpus, `data/tiny_corpus.txt`
39
+ - Training steps: 3,000
40
+ - Final loss: train `0.1903`, val `3.7094`
41
 
42
+ ### Local philosophy quote checkpoints
43
 
44
+ These were trained from local-only quote-style corpora derived from existing workspace philosophy files. They are intentionally tiny and educational.
 
 
 
45
 
46
+ | Checkpoint | Corpus | Params | Final loss | Notes |
47
+ |---|---:|---:|---:|---|
48
+ | `checkpoints/tinyllm_philosophy_quotes_local_3k.pt` | 1200 lines | 111,040 | train `1.9311`, val `1.9449` | Learns broad philosophy texture; not overfit. |
49
+ | `checkpoints/tinyllm_philosophy_quotes_tiny200_4k.pt` | 200 lines | 110,720 | train `1.5459`, val `1.8426` | Stronger style learning; still not memorized. |
50
+ | `checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt` | 50 lines | 107,840 | train `0.3808`, val `2.5139` | Best overfit-ish quote-style checkpoint. |
51
 
52
  ## Quick inference
53
 
54
  ```bash
55
  pip install torch huggingface_hub
56
+ python hf_infer.py --repo-id Vishwas1/tinyllm-cpu-char \
57
+ --filename checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt \
58
+ --prompt "Wisdom" --tokens 300
59
  ```
60
 
61
  For local inference after cloning:
62
 
63
  ```bash
64
+ python sample.py --ckpt checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt \
65
+ --prompt "The soul" --tokens 300
66
  ```
67
 
68
+ ## Training examples
69
 
70
+ Original toy overfit:
 
 
 
 
 
 
 
 
71
 
72
  ```bash
73
  python train.py --steps 3000 --eval-interval 500 --eval-iters 10 \
 
75
  --out checkpoints/tinyllm_overfit_3k.pt
76
  ```
77
 
78
+ Local philosophy tiny50 overfit-ish run:
79
+
80
+ ```bash
81
+ python train.py --data data/philosophy_quotes_local_tiny50.txt \
82
+ --steps 3000 --eval-interval 500 --eval-iters 10 \
83
+ --batch-size 16 --n-embd 64 --block-size 64 --lr 0.001 \
84
+ --out checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt
85
+ ```
86
+
87
  ## Limitations
88
 
89
  - Character-level only.
 
90
  - Generates memorized/stylized snippets, not reliable knowledge.
91
+ - Weird spelling and malformed words are expected.
92
  - Intended for learning and experimentation.
checkpoints/tinyllm_philosophy_quotes_local_3k.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "params": 111040,
3
+ "chars": [
4
+ "\n",
5
+ " ",
6
+ "\"",
7
+ "'",
8
+ "(",
9
+ ")",
10
+ "*",
11
+ ",",
12
+ "-",
13
+ ".",
14
+ "0",
15
+ "1",
16
+ "2",
17
+ "3",
18
+ "5",
19
+ "6",
20
+ "7",
21
+ "8",
22
+ "9",
23
+ ":",
24
+ ";",
25
+ "?",
26
+ "A",
27
+ "B",
28
+ "C",
29
+ "D",
30
+ "E",
31
+ "F",
32
+ "G",
33
+ "H",
34
+ "I",
35
+ "J",
36
+ "K",
37
+ "L",
38
+ "M",
39
+ "N",
40
+ "O",
41
+ "P",
42
+ "Q",
43
+ "R",
44
+ "S",
45
+ "T",
46
+ "U",
47
+ "V",
48
+ "W",
49
+ "X",
50
+ "Y",
51
+ "Z",
52
+ "a",
53
+ "b",
54
+ "c",
55
+ "d",
56
+ "e",
57
+ "f",
58
+ "g",
59
+ "h",
60
+ "i",
61
+ "j",
62
+ "k",
63
+ "l",
64
+ "m",
65
+ "n",
66
+ "o",
67
+ "p",
68
+ "q",
69
+ "r",
70
+ "s",
71
+ "t",
72
+ "u",
73
+ "v",
74
+ "w",
75
+ "x",
76
+ "y",
77
+ "z",
78
+ "\u2014"
79
+ ],
80
+ "last_loss": {
81
+ "train": 1.9311001300811768,
82
+ "val": 1.944894552230835
83
+ }
84
+ }
checkpoints/tinyllm_philosophy_quotes_local_3k.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e9d4cf6eb981d6c699f8d559e7533de5fb7cb81d8d44a9836c456b21c18ba47
3
+ size 457957
checkpoints/tinyllm_philosophy_quotes_tiny200_4k.json ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "params": 110720,
3
+ "chars": [
4
+ "\n",
5
+ " ",
6
+ "\"",
7
+ "'",
8
+ "(",
9
+ ")",
10
+ ",",
11
+ "-",
12
+ ".",
13
+ "0",
14
+ "1",
15
+ "3",
16
+ "5",
17
+ "6",
18
+ "7",
19
+ "8",
20
+ "9",
21
+ ":",
22
+ ";",
23
+ "?",
24
+ "A",
25
+ "B",
26
+ "C",
27
+ "D",
28
+ "E",
29
+ "F",
30
+ "G",
31
+ "H",
32
+ "I",
33
+ "K",
34
+ "L",
35
+ "M",
36
+ "N",
37
+ "P",
38
+ "R",
39
+ "S",
40
+ "T",
41
+ "U",
42
+ "V",
43
+ "W",
44
+ "X",
45
+ "Y",
46
+ "Z",
47
+ "a",
48
+ "b",
49
+ "c",
50
+ "d",
51
+ "e",
52
+ "f",
53
+ "g",
54
+ "h",
55
+ "i",
56
+ "j",
57
+ "k",
58
+ "l",
59
+ "m",
60
+ "n",
61
+ "o",
62
+ "p",
63
+ "q",
64
+ "r",
65
+ "s",
66
+ "t",
67
+ "u",
68
+ "v",
69
+ "w",
70
+ "x",
71
+ "y",
72
+ "z",
73
+ "\u2014"
74
+ ],
75
+ "last_loss": {
76
+ "train": 1.5458831787109375,
77
+ "val": 1.8425636291503906
78
+ }
79
+ }
checkpoints/tinyllm_philosophy_quotes_tiny200_4k.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a79dbfa4b0ae0b08c3a488da8880eb346c2e61eaf27e743e54c3c37f072c9b0f
3
+ size 456617
checkpoints/tinyllm_philosophy_quotes_tiny50_3k.json ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "params": 107840,
3
+ "chars": [
4
+ "\n",
5
+ " ",
6
+ "\"",
7
+ "'",
8
+ ")",
9
+ ",",
10
+ "-",
11
+ ".",
12
+ "7",
13
+ ":",
14
+ ";",
15
+ "?",
16
+ "A",
17
+ "C",
18
+ "E",
19
+ "F",
20
+ "G",
21
+ "H",
22
+ "I",
23
+ "K",
24
+ "L",
25
+ "N",
26
+ "P",
27
+ "R",
28
+ "S",
29
+ "T",
30
+ "V",
31
+ "W",
32
+ "Y",
33
+ "Z",
34
+ "a",
35
+ "b",
36
+ "c",
37
+ "d",
38
+ "e",
39
+ "f",
40
+ "g",
41
+ "h",
42
+ "i",
43
+ "j",
44
+ "k",
45
+ "l",
46
+ "m",
47
+ "n",
48
+ "o",
49
+ "p",
50
+ "q",
51
+ "r",
52
+ "s",
53
+ "t",
54
+ "u",
55
+ "v",
56
+ "w",
57
+ "x",
58
+ "y",
59
+ "z",
60
+ "\u2014"
61
+ ],
62
+ "last_loss": {
63
+ "train": 0.38078612089157104,
64
+ "val": 2.513867139816284
65
+ }
66
+ }
checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:57534ed18b6188dbb843cdd1e00dded3a6af51fa23e55eb292411ee58426104f
3
+ size 444679
data/philosophy_quotes_local_manifest.json ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "note": "Local-only corpus built from existing workspace philosophy files. No external dataset/download used.",
3
+ "source_root": "../generated/_review/philosophy_books_and_videos",
4
+ "patterns": [
5
+ "*_story_rewrite/chapters/*.md",
6
+ "*_clean/text_clean/*.txt",
7
+ "Portrait_Of_Philosopher__*_ebook/*.txt",
8
+ "socrates_socratic_method_audio_edge_clean/text_clean/*.txt"
9
+ ],
10
+ "source_file_count": 96,
11
+ "output": "data/philosophy_quotes_local.txt",
12
+ "quote_line_count": 1200,
13
+ "chars": 141060,
14
+ "words": 23652,
15
+ "files": [
16
+ {
17
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_1.txt",
18
+ "chars": 16839,
19
+ "words": 2726
20
+ },
21
+ {
22
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_10.txt",
23
+ "chars": 23369,
24
+ "words": 3421
25
+ },
26
+ {
27
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_2.txt",
28
+ "chars": 18136,
29
+ "words": 3035
30
+ },
31
+ {
32
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_3.txt",
33
+ "chars": 19680,
34
+ "words": 3188
35
+ },
36
+ {
37
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_4.txt",
38
+ "chars": 21970,
39
+ "words": 3404
40
+ },
41
+ {
42
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_5.txt",
43
+ "chars": 18345,
44
+ "words": 2996
45
+ },
46
+ {
47
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_6.txt",
48
+ "chars": 19502,
49
+ "words": 3045
50
+ },
51
+ {
52
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_7.txt",
53
+ "chars": 21933,
54
+ "words": 3304
55
+ },
56
+ {
57
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_8.txt",
58
+ "chars": 18009,
59
+ "words": 2658
60
+ },
61
+ {
62
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Aristotle_ebook/chapter_9.txt",
63
+ "chars": 17404,
64
+ "words": 2641
65
+ },
66
+ {
67
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_1.txt",
68
+ "chars": 17462,
69
+ "words": 2862
70
+ },
71
+ {
72
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_10.txt",
73
+ "chars": 22164,
74
+ "words": 3242
75
+ },
76
+ {
77
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_2.txt",
78
+ "chars": 17818,
79
+ "words": 2983
80
+ },
81
+ {
82
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_3.txt",
83
+ "chars": 18541,
84
+ "words": 3008
85
+ },
86
+ {
87
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_4.txt",
88
+ "chars": 21082,
89
+ "words": 3403
90
+ },
91
+ {
92
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_5.txt",
93
+ "chars": 19312,
94
+ "words": 3039
95
+ },
96
+ {
97
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_6.txt",
98
+ "chars": 22456,
99
+ "words": 3654
100
+ },
101
+ {
102
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_7.txt",
103
+ "chars": 22574,
104
+ "words": 3592
105
+ },
106
+ {
107
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_8.txt",
108
+ "chars": 20447,
109
+ "words": 3142
110
+ },
111
+ {
112
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Epicurus_ebook/chapter_9.txt",
113
+ "chars": 22773,
114
+ "words": 3437
115
+ },
116
+ {
117
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_1.txt",
118
+ "chars": 21872,
119
+ "words": 3584
120
+ },
121
+ {
122
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_10.txt",
123
+ "chars": 20682,
124
+ "words": 3036
125
+ },
126
+ {
127
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_2.txt",
128
+ "chars": 18163,
129
+ "words": 3016
130
+ },
131
+ {
132
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_3.txt",
133
+ "chars": 19052,
134
+ "words": 3112
135
+ },
136
+ {
137
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_4.txt",
138
+ "chars": 20541,
139
+ "words": 3269
140
+ },
141
+ {
142
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_5.txt",
143
+ "chars": 22282,
144
+ "words": 3485
145
+ },
146
+ {
147
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_6.txt",
148
+ "chars": 19014,
149
+ "words": 3055
150
+ },
151
+ {
152
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_7.txt",
153
+ "chars": 16249,
154
+ "words": 2582
155
+ },
156
+ {
157
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_8.txt",
158
+ "chars": 20033,
159
+ "words": 3090
160
+ },
161
+ {
162
+ "path": "../generated/_review/philosophy_books_and_videos/Portrait_Of_Philosopher__Plato_ebook/chapter_9.txt",
163
+ "chars": 20385,
164
+ "words": 3172
165
+ },
166
+ {
167
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_01.md",
168
+ "chars": 14225,
169
+ "words": 2345
170
+ },
171
+ {
172
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_02.md",
173
+ "chars": 14785,
174
+ "words": 2407
175
+ },
176
+ {
177
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_03.md",
178
+ "chars": 15993,
179
+ "words": 2668
180
+ },
181
+ {
182
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_04.md",
183
+ "chars": 14491,
184
+ "words": 2431
185
+ },
186
+ {
187
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_05.md",
188
+ "chars": 15585,
189
+ "words": 2568
190
+ },
191
+ {
192
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_06.md",
193
+ "chars": 16915,
194
+ "words": 2690
195
+ },
196
+ {
197
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_07.md",
198
+ "chars": 14072,
199
+ "words": 2217
200
+ },
201
+ {
202
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_08.md",
203
+ "chars": 15319,
204
+ "words": 2313
205
+ },
206
+ {
207
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_09.md",
208
+ "chars": 15848,
209
+ "words": 2392
210
+ },
211
+ {
212
+ "path": "../generated/_review/philosophy_books_and_videos/aristotle_story_rewrite/chapters/chapter_10.md",
213
+ "chars": 15145,
214
+ "words": 2373
215
+ },
216
+ {
217
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_1.txt",
218
+ "chars": 19872,
219
+ "words": 3344
220
+ },
221
+ {
222
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_2.txt",
223
+ "chars": 21321,
224
+ "words": 3475
225
+ },
226
+ {
227
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_3.txt",
228
+ "chars": 19369,
229
+ "words": 3059
230
+ },
231
+ {
232
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_4.txt",
233
+ "chars": 15994,
234
+ "words": 2655
235
+ },
236
+ {
237
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_5.txt",
238
+ "chars": 21744,
239
+ "words": 3632
240
+ },
241
+ {
242
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_6.txt",
243
+ "chars": 22882,
244
+ "words": 3758
245
+ },
246
+ {
247
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_7.txt",
248
+ "chars": 14952,
249
+ "words": 2375
250
+ },
251
+ {
252
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_8.txt",
253
+ "chars": 20158,
254
+ "words": 3039
255
+ },
256
+ {
257
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_clean/text_clean/chapter_9.txt",
258
+ "chars": 22653,
259
+ "words": 3447
260
+ },
261
+ {
262
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_01.md",
263
+ "chars": 14457,
264
+ "words": 2463
265
+ },
266
+ {
267
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_02.md",
268
+ "chars": 15317,
269
+ "words": 2593
270
+ },
271
+ {
272
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_03.md",
273
+ "chars": 15962,
274
+ "words": 2711
275
+ },
276
+ {
277
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_04.md",
278
+ "chars": 13083,
279
+ "words": 2273
280
+ },
281
+ {
282
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_05.md",
283
+ "chars": 14538,
284
+ "words": 2444
285
+ },
286
+ {
287
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_06.md",
288
+ "chars": 17195,
289
+ "words": 2842
290
+ },
291
+ {
292
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_07.md",
293
+ "chars": 13446,
294
+ "words": 2231
295
+ },
296
+ {
297
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_08.md",
298
+ "chars": 13730,
299
+ "words": 2200
300
+ },
301
+ {
302
+ "path": "../generated/_review/philosophy_books_and_videos/heraclitus_story_rewrite/chapters/chapter_09.md",
303
+ "chars": 13971,
304
+ "words": 2245
305
+ },
306
+ {
307
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_1.txt",
308
+ "chars": 21872,
309
+ "words": 3584
310
+ },
311
+ {
312
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_10.txt",
313
+ "chars": 20682,
314
+ "words": 3036
315
+ },
316
+ {
317
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_2.txt",
318
+ "chars": 18163,
319
+ "words": 3016
320
+ },
321
+ {
322
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_3.txt",
323
+ "chars": 19052,
324
+ "words": 3112
325
+ },
326
+ {
327
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_4.txt",
328
+ "chars": 20541,
329
+ "words": 3269
330
+ },
331
+ {
332
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_5.txt",
333
+ "chars": 22282,
334
+ "words": 3485
335
+ },
336
+ {
337
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_6.txt",
338
+ "chars": 19014,
339
+ "words": 3055
340
+ },
341
+ {
342
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_7.txt",
343
+ "chars": 16249,
344
+ "words": 2582
345
+ },
346
+ {
347
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_8.txt",
348
+ "chars": 20033,
349
+ "words": 3090
350
+ },
351
+ {
352
+ "path": "../generated/_review/philosophy_books_and_videos/plato_clean/text_clean/chapter_9.txt",
353
+ "chars": 20385,
354
+ "words": 3172
355
+ },
356
+ {
357
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_01.md",
358
+ "chars": 15241,
359
+ "words": 2512
360
+ },
361
+ {
362
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_02.md",
363
+ "chars": 16608,
364
+ "words": 2682
365
+ },
366
+ {
367
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_03.md",
368
+ "chars": 15335,
369
+ "words": 2545
370
+ },
371
+ {
372
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_04.md",
373
+ "chars": 14778,
374
+ "words": 2441
375
+ },
376
+ {
377
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_05.md",
378
+ "chars": 14819,
379
+ "words": 2387
380
+ },
381
+ {
382
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_06.md",
383
+ "chars": 16669,
384
+ "words": 2707
385
+ },
386
+ {
387
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_07.md",
388
+ "chars": 13694,
389
+ "words": 2199
390
+ },
391
+ {
392
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_08.md",
393
+ "chars": 14171,
394
+ "words": 2212
395
+ },
396
+ {
397
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_09.md",
398
+ "chars": 14421,
399
+ "words": 2243
400
+ },
401
+ {
402
+ "path": "../generated/_review/philosophy_books_and_videos/plato_story_rewrite/chapters/chapter_10.md",
403
+ "chars": 14397,
404
+ "words": 2207
405
+ },
406
+ {
407
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_1.txt",
408
+ "chars": 21038,
409
+ "words": 3435
410
+ },
411
+ {
412
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_2.txt",
413
+ "chars": 18987,
414
+ "words": 3065
415
+ },
416
+ {
417
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_3.txt",
418
+ "chars": 18796,
419
+ "words": 2851
420
+ },
421
+ {
422
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_4.txt",
423
+ "chars": 20530,
424
+ "words": 3249
425
+ },
426
+ {
427
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_5.txt",
428
+ "chars": 21586,
429
+ "words": 3614
430
+ },
431
+ {
432
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_6.txt",
433
+ "chars": 18398,
434
+ "words": 2915
435
+ },
436
+ {
437
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_7.txt",
438
+ "chars": 19190,
439
+ "words": 2837
440
+ },
441
+ {
442
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_8.txt",
443
+ "chars": 19053,
444
+ "words": 2811
445
+ },
446
+ {
447
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_socratic_method_audio_edge_clean/text_clean/chapter_9.txt",
448
+ "chars": 22633,
449
+ "words": 3312
450
+ },
451
+ {
452
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_01.md",
453
+ "chars": 13277,
454
+ "words": 2205
455
+ },
456
+ {
457
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_02.md",
458
+ "chars": 12961,
459
+ "words": 2199
460
+ },
461
+ {
462
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_03.md",
463
+ "chars": 14641,
464
+ "words": 2359
465
+ },
466
+ {
467
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_04.md",
468
+ "chars": 14632,
469
+ "words": 2428
470
+ },
471
+ {
472
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_05.md",
473
+ "chars": 15528,
474
+ "words": 2581
475
+ },
476
+ {
477
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_06.md",
478
+ "chars": 15839,
479
+ "words": 2537
480
+ },
481
+ {
482
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_07.md",
483
+ "chars": 15352,
484
+ "words": 2465
485
+ },
486
+ {
487
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_08.md",
488
+ "chars": 15044,
489
+ "words": 2360
490
+ },
491
+ {
492
+ "path": "../generated/_review/philosophy_books_and_videos/socrates_story_rewrite/chapters/chapter_09.md",
493
+ "chars": 14809,
494
+ "words": 2406
495
+ }
496
+ ]
497
+ }