feedcomposer commited on
Commit
2db7dba
Β·
verified Β·
1 Parent(s): 526c763

Upload folder using huggingface_hub

Browse files
chatbot/chunks/pdf_chunks.json CHANGED
The diff for this file is too large to render. See raw diff
 
chatbot/chunks/wiki_chunks.json CHANGED
@@ -167,6 +167,147 @@
167
  "page_type": "entity",
168
  "layer": "wiki"
169
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  {
171
  "text": "[\"Tied Ridges, FYM, and Nitrogen on Soil Moisture and Maize Yield in Machakos (Ngie Mwende, 2019)\" β€” Tied Ridges, FYM, and Nitrogen on Soil Moisture and Maize Yield in Machakos]\n**Citation:** Ngie Mwende, M. (2019). *Effect of tied ridges, farmyard manure, nitrogen fertilizer, and cropping systems on soil moisture, soil properties, and maize yield in Machakos County.* PhD thesis, Kenyatta University.",
172
  "source": "wiki/sources/tied-ridges-soil-moisture-machakos.md",
 
167
  "page_type": "entity",
168
  "layer": "wiki"
169
  },
170
+ {
171
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” Inventory of CSA TIMPs for Maize Value Chain β€” Volume I]\n**Citation:** Musila R.N., Ligeyo D.O., Murenga M. et al. (2022). *Inventory of Climate Smart Agriculture Technologies, Innovations and Management Practices for Maize Value Chain, Volume I.* KALRO/KCSAP. October 2022.",
172
+ "source": "wiki/sources/maize-timps-volume1.md",
173
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
174
+ "section": "Inventory of CSA TIMPs for Maize Value Chain β€” Volume I",
175
+ "page_type": "source-summary",
176
+ "layer": "wiki"
177
+ },
178
+ {
179
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” Overview]\nThis 365-page document is the official KCSAP TIMPs inventory for the maize value chain. It provides standardized, structured profiles of **193 TIMPs** covering the full production system from variety selection through postharvest and value addition.\n\n**Totals:** 116 Technologies | 20 Innovations | 57 Management Practices \n**Status:** 149 ready for upscaling | 37 requires validation | 5 requires further research\n\nEach TIMP follows a uniform 7-section template: (A) problem/description/justification, (B) dissemination approaches, (C) counties promoted/to be upscaled, (D) economic/gender/VMG considerations, (E) success stories, (F) readiness status, (G) contacts.\n\n---",
180
+ "source": "wiki/sources/maize-timps-volume1.md",
181
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
182
+ "section": "Overview",
183
+ "page_type": "source-summary",
184
+ "layer": "wiki"
185
+ },
186
+ {
187
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” Sub-theme Summary]\n| Sub-theme | Technologies | Innovations | Mgmt Practices |\n|---|---|---|---|\n| Improved maize varieties | 79 | 0 | 0 |\n| Maize seed system | 0 | 3 | 0 |\n| GAPs and Food Safety | 1 | 0 | 2 |\n| Agronomic management practices | 0 | 0 | 9 |\n| Soil fertility management | 0 | 1 | 3 |\n| Soil & water management | 9 | 0 | 2 |\n| Irrigation and drainage | 1 | 0 | 0 |\n| Agroforestry systems | 0 | 0 | 1 |\n| Maize Crop health | 3 | 0 | 15 |\n| Weed Management | 2 | 1 | 9 |\n| Harvesting & Postharvest | 10 | 0 | 3 |\n| Maize Value addition | 3 | 14 | 0 |\n| Mechanization | 8 | 1 | 0 |\n| Farming Business & marketing | 0 | 0 | 8 |\n| Elements of Agricultural Policies | 0 | 0 | 5 |\n\n---",
188
+ "source": "wiki/sources/maize-timps-volume1.md",
189
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
190
+ "section": "Sub-theme Summary",
191
+ "page_type": "source-summary",
192
+ "layer": "wiki"
193
+ },
194
+ {
195
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.1 Coastal Lowlands (CL 2, 3 & 4)]\n| TIMP Name | Type | Maturity | Yield potential | Key attributes | Status |\n|---|---|---|---|---|---|\n| Coast Composite Maize (CCM) | OPV | 110–120 days | 16–21 bags/acre | Heat tolerant, leaf rust resistant, rainfed+irrigated | Ready |\n| WSQ104 | QPM OPV | 90–105 days | 15 bags/acre | Drought tolerant, high lysine+tryptophan, 0–1200 m | Ready |\n| KH500Q | QPM 3-way hybrid | 90–120 days | 36 bags/acre | Drought tolerant, MSV resistant, GLS resistant | Ready |\n| PH4 (Pwani Hybrid 4) | Hybrid | 120–150 days | 24 bags/acre | Heat tolerant, partial MSV resistance, rainfed+irrigated | Ready |\n| PH1 (Pwani Hybrid 1) | Hybrid | 90–120 days | 18 bags/acre | Drought tolerant, excellent husk cover | Ready |\n| WE2111 | 3-way hybrid | 4.5–5 months | 4.7–8.7 t/ha | Drought tolerant, NLB/GLS/MSV resistant, white dent | Ready |\n| MTPEH0701 | 3-way hybrid | 120–150 days | 26 bags/acre | Large grain borer & weevil resistant | Ready |\n| MTPEH0702 | 3-way hybrid | 120–150 days | 26 bags/acre | Large grain borer & weevil resistant | Ready |\n| MTPEH0703 | 3-way hybrid | 4–5 months | 26 bags/acre | Spotted stem borer resistant | Ready |\n| MTPEH200804 (KH125-02-MDR) | 3-way hybrid | 120 days | 26 bags/acre | MSV resistant, GLS resistant | Ready |\n| MTPEH200805 (KH125-03-SG) | Stay-green 3-way hybrid | 120 days | 5–6.4 t/ha | Drought tolerant, stem borer resistant, GLS resistant | Ready |",
196
+ "source": "wiki/sources/maize-timps-volume1.md",
197
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
198
+ "section": "2.2.1 Coastal Lowlands (CL 2, 3 & 4)",
199
+ "page_type": "source-summary",
200
+ "layer": "wiki"
201
+ },
202
+ {
203
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.2 Medium Altitude – Dry (semi-arid, ~600–1200 m)]\n| TIMP Name | Type | Maturity | Yield potential | Key attributes | Status |\n|---|---|---|---|---|---|\n| KCB (Katumani Composite B) | OPV | 85–95 days | 16–21 bags/acre | Drought escaping, stem borer resistant | Ready |\n| KDH6 SBR | 3-way hybrid | 90–120 days | 5 t/ha | Drought tolerant, low-N tolerant, stem borer resistant | Ready |\n| KH414-03 SBR | 3-way hybrid | 90–120 days | 4 t/ha | Stem borer resistant | Ready |\n| KDH414-11 (Ukamez 6) | 3-way hybrid | 90–100 days | 4.6–7.5 t/ha | Drought tolerant, GLS/NLB/MSV resistant | Ready |\n| KDH414-12 (Ukamez 7) | Stay-green 3-way hybrid | 90–100 days | 4.3–7.8 t/ha | Drought tolerant, GLS/NLB/MSV resistant, good for livestock feed | Ready |\n| WE2109 | 3-way hybrid | 4.5–5 months | 4.8–9.2 t/ha | Drought tolerant, NLB/GLS/MSV resistant, white dent | Ready |",
204
+ "source": "wiki/sources/maize-timps-volume1.md",
205
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
206
+ "section": "2.2.2 Medium Altitude – Dry (semi-arid, ~600–1200 m)",
207
+ "page_type": "source-summary",
208
+ "layer": "wiki"
209
+ },
210
+ {
211
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.3 Medium Altitude – Moist (~1000–1800 m)]\n| TIMP Name | Type | Maturity | Yield potential | Key attributes | Status |\n|---|---|---|---|---|---|\n| WE2101 | 3-way hybrid | 4.5 months | 6.9 t/ha | Drought tolerant, NLB/MSV/GLS resistant, good husk cover | Ready |\n| WE2104 | 3-way hybrid | 4.5 months | 7.16 t/ha | Drought tolerant, NLB/MSV/GLS resistant | Ready |\n| WE2107 | 3-way hybrid | 4.5 months | 7 t/ha | NLB/MSV/GLS resistant, good husk cover | Ready |\n| WE2108 | 3-way hybrid | 4.5 months | 6.9 t/ha | NLB/MSV/GLS resistant, good husk cover | Ready |\n| WE5206 | 3-way hybrid | 105–130 days | 9 t/ha | Drought tolerant, NLB/MSV/GLS resistant | Ready |\n| WE5230 | 3-way hybrid | 105–130 days | 8 t/ha | Drought tolerant, NLB/MSV/GLS resistant | Ready |\n| EMB225 (KBEST) | 3-way hybrid | 90–120 days | 4.6 t/ha | NLB/MSV/leaf rust resistant, 1000–1800 m | Ready |\n| EMB226 (EMBU POA) | Stay-green 3-way hybrid | 90–120 days | 6.5 t/ha | NLB resistant, 1200–1800 m | Ready |\n| KH500-40E | 3-way hybrid | 120–130 days | 7 t/ha | Drought tolerant, low-N tolerant | Ready |\n| KH500-39E | 3-way hybrid | 120 days | 8–10 t/ha | Drought tolerant, GLS/NLB/MSV/foliar resistant | Ready |\n| KH500-56A (KM1101) | 3-way hybrid | 5–6 months | 6.5 t/ha | MSV resistant, GLS resistant, good husk cover | Ready |\n| KH500-Q | 3-way hybrid | 120 days | 8–10 t/ha | QPM, drought tolerant, GLS/NLB/MSV resistant | Ready |",
212
+ "source": "wiki/sources/maize-timps-volume1.md",
213
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
214
+ "section": "2.2.3 Medium Altitude – Moist (~1000–1800 m)",
215
+ "page_type": "source-summary",
216
+ "layer": "wiki"
217
+ },
218
+ {
219
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.4 Medium Altitude – Transitional]\n| TIMP Name | Type | Maturity | Yield potential | Key attributes | Status |\n|---|---|---|---|---|---|\n| WE2106 | 3-way hybrid | 4.5–5 months | 4.7–9.1 t/ha | Drought tolerant, NLB/GLS/MSV resistant, good husk cover | Ready |\n| WE3104 | 3-way hybrid | 4 months | 5.6 t/ha | NLB/MSV/GLS resistant, good husk cover | Ready |\n| WE3106 | 3-way hybrid | 4 months | 3.28 t/ha | NLB/MSV/GLS resistant, good husk cover | Ready |\n| WE5107 | 3-way hybrid | 105–130 days | 3.7–7.2 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| WE5113 | 3-way hybrid | 105–130 days | 3.7–7.3 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| WE5138 | 3-way hybrid | 105–130 days | 4–6.5 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| WE5205 | 3-way hybrid | 105–130 days | 7.4–9.6 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| WE5210 | 3-way hybrid | 105–130 days | 7.6–10.0 t/ha | Drought tolerant, NLB/GLS/MSV resistant, good husk cover | Ready |\n| WE5213 | 3-way hybrid | 105–120 days | 7.5–9.6 t/ha | Drought tolerant, NLB/GLS/MSV resistant, good husk cover | Ready |\n| WE5218 | 3-way hybrid | 105–125 days | 7.3–9.1 t/ha | Drought tolerant, NLB/GLS",
220
+ "source": "wiki/sources/maize-timps-volume1.md",
221
+ "page": 0,
222
+ "layer": "wiki",
223
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
224
+ "section": "2.2.4 Medium Altitude – Transitional",
225
+ "page_type": "source-summary"
226
+ },
227
+ {
228
+ "text": "/GLS/MSV resistant, good husk cover | Ready |\n| WE5218 | 3-way hybrid | 105–125 days | 7.3–9.1 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| WE5227 | 3-way hybrid | 105–130 days | 7.5–9.5 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| KH500-13E | 3-way hybrid | 120 days | 4.5–5.3 t/ha | Drought tolerant, ear rot resistant, NLB/GLS/MSV resistant | Ready |\n| KH500-51A (MU07-018) | 3-way hybrid | 150–170 days | 6.0–6.5 t/ha | NLB/GLS/MSV resistant, flint-like | Ready |\n| KH500-52A (MU08-005) | 3-way hybrid | 4–5 months | 4.39 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| KH500-53A (MU10-010) | 3-way hybrid | 150–170 days | 4.9–5.0 t/ha | Drought tolerant, NLB/GLS/MSV resistant | Ready |\n| KH500-54A (CKH10778) | 3-way hybrid | 5–6 months | 8.5 t/ha | MSV resistant, GLS resistant, good husk cover | Ready |\n| KH500-55A (MU10-233) | 3-way hybrid | 120–160 days | 6.5 t/ha | Drought tolerant, MSV resistant, GLS resistant | Ready |",
229
+ "source": "wiki/sources/maize-timps-volume1.md",
230
+ "page": 0,
231
+ "layer": "wiki",
232
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
233
+ "section": "2.2.4 Medium Altitude – Transitional",
234
+ "page_type": "source-summary"
235
+ },
236
+ {
237
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.5 Highlands (1800–2500 m asl, 1000–2000 mm rainfall)]\n| TIMP Name | Type | Maturity | Yield potential | Key attributes | Status |\n|---|---|---|---|---|---|\n| KH600-11D | Varietal cross hybrid | 140–160 days | 32–42 bags/acre | GLS resistant, strong stalks, good husk cover (1999) | Ready |\n| KH600-23A | Top cross hybrid | 145–175 days | 43–68 bags/acre | GLS/rust resistant, strong stalks, good husk cover (2008) | Ready |\n| HAC (High Altitude Composite) | OPV | 140–160 days | 20–34 bags/acre | Early maturity, frost tolerant, GLS resistant, 2200–3000 m (2006) | Ready |\n| KH600-14E | Top cross hybrid | 150–165 days | 38–48 bags/acre | Drought tolerant, GLS/rust/TLB resistant (2004) | Ready |\n| KH600-15A | Top cross hybrid | 145–180 days | 33–47 bags/acre | GLS/rust/blight resistant, strong stalks (2001) | Ready |\n| KH600-16A | Top cross hybrid | 140–180 days | 35–48 bags/acre | MSV/GLS/rust/blight resistant (2001) | Ready |\n| KH600-17A | Varietal cross hybrid | 140–160 days | 37–51 bags/acre | GLS/blight resistant, strong stalks (2002) | Ready |\n| KH600-18A | Varietal hybrid | 155–170 days | 36–50 bags/acre | GLS/blight resistant, strong stalks (2004) | Ready |\n| KH600-19A | Double cross hybrid | 160–175 days | 38–53 bags/acre | GLS/blight resistant, strong stalks (2005) | Ready |\n| KH600-20A | Top cross hybrid | 160–180 days | 38–",
238
+ "source": "wiki/sources/maize-timps-volume1.md",
239
+ "page": 0,
240
+ "layer": "wiki",
241
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
242
+ "section": "2.2.5 Highlands (1800–2500 m asl, 1000–2000 mm rainfall)",
243
+ "page_type": "source-summary"
244
+ },
245
+ {
246
+ "text": " 160–175 days | 38–53 bags/acre | GLS/blight resistant, strong stalks (2005) | Ready |\n| KH600-20A | Top cross hybrid | 160–180 days | 38–55 bags/acre | GLS/rust/blight resistant, strong stalks, good husk cover (2005) | Ready |\n| KH600-21A | Top cross hybrid | 140–180 days | 38–62 bags/acre | GLS/rust/blight resistant, strong stalks, good husk cover (2006) | Ready |\n| KH600-22A | Top cross hybrid | 140–180 days | 40–66 bags/acre | GLS resistant, good husk cover, strong stalks (2006) | Ready |\n| KH600-24A | Top cross hybrid | 140–160 days | 47–69 bags/acre | GLS/rust/blight resistant, strong roots, good husk cover (2001) | Ready |\n| KH600-25A | Top cross hybrid | 140–165 days | 49–70 bags/acre | GLS/rust/blight resistant, good husk cover (2015) | Ready |\n| KH600-26A | Top cross hybrid | 142–170 days | 51–70 bags/acre | GLS/rust/blight resistant, good husk cover, strong stalks (2015) | Ready |\n| KH600-27A | Top cross hybrid | 145–175 days | 53–71 bags/acre | GLS/rust/blight resistant, good husk cover, strong stalks (2015) | Ready |\n| H614D | Top cross hybrid | 145–175 days | 30–35 bags/acre | Drought tolerant, GLS/rust/blight resistant (1986); Kenya Seed Co. | Ready |\n| H626 | Double cross hybrid | 160–180 days | 38–42 bags/acre | Rust/blight resistant, strong stalks, good husk cover (1989) | Ready |\n| H625 | Double cross hybrid | 155–180 days | 37–40 bags/acre | Rust/blight resistant, strong stalks, good husk cover (1981) | Ready |\n| H6213 | Double cross hybrid | 160–180 days",
247
+ "source": "wiki/sources/maize-timps-volume1.md",
248
+ "page": 0,
249
+ "layer": "wiki",
250
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
251
+ "section": "2.2.5 Highlands (1800–2500 m asl, 1000–2000 mm rainfall)",
252
+ "page_type": "source-summary"
253
+ },
254
+ {
255
+ "text": " hybrid | 155–180 days | 37–40 bags/acre | Rust/blight resistant, strong stalks, good husk cover (1981) | Ready |\n| H6213 | Double cross hybrid | 160–180 days | 52–56 bags/acre | GLS/rust/blight resistant, good husk cover (2002) | Ready |\n| H6218 | Double cross hybrid | 145–175 days | 56–71 bags/acre | GLS/rust/blight resistant, good husk cover (2004) | Ready |\n| H6210 | Double cross hybrid | 160–185 days | 50–53 bags/acre | GLS/rust/blight resistant, good husk cover (2004) | Ready |\n| H629 | Double cross hybrid | 160–175 days | 48–52 bags/acre | GLS/rust/blight resistant, good husk cover (2000) | Ready |\n| H628 | Double hybrid | 155–175 days | 46–50 bags/acre | GLS/rust/blight resistant, good husk cover (1999) | Ready |\n| H624 | Double cross hybrid | 135–150 days | 30–32 bags/acre | GLS/rust/blight resistant, early maturity (2004); 1600–2300 m | Ready |\n\n**Note:** H614D, H626, H625, H6213, H6218, H6210, H629, H628, H624 are licensed to **Kenya Seed Company** for basic and commercial seed production. KH600 series breeder seed is at KALRO-Kitale.",
256
+ "source": "wiki/sources/maize-timps-volume1.md",
257
+ "page": 0,
258
+ "layer": "wiki",
259
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
260
+ "section": "2.2.5 Highlands (1800–2500 m asl, 1000–2000 mm rainfall)",
261
+ "page_type": "source-summary"
262
+ },
263
+ {
264
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.2.6 Special Kit – MLN Tolerant Varieties]\n| TIMP Name | Type | Key attributes | Status |\n|---|---|---|---|\n| WE5135 | 3-way hybrid | MLN tolerant (MCMV+SCMV) | Ready |\n| WE5139 | 3-way hybrid | MLN tolerant | Ready |\n| WE5140 | 3-way hybrid | MLN tolerant | Ready |\n| KATEH16-02 | 3-way hybrid | MLN tolerant | Ready |\n| KATEH16-03 | 3-way hybrid | MLN tolerant | Ready |\n\n---",
265
+ "source": "wiki/sources/maize-timps-volume1.md",
266
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
267
+ "section": "2.2.6 Special Kit – MLN Tolerant Varieties",
268
+ "page_type": "source-summary",
269
+ "layer": "wiki"
270
+ },
271
+ {
272
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.3 Maize Seed System]\n| TIMP Name | Category | Status |\n|---|---|---|\n| Improved Farmer-Saved-Seed-System | Innovation | Requires validation |\n| Quality Declared Seed System (QDS) | Innovation | Requires validation |\n| Maize Formal Seed System | Innovation | Ready for upscaling |\n\n---",
273
+ "source": "wiki/sources/maize-timps-volume1.md",
274
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
275
+ "section": "2.3 Maize Seed System",
276
+ "page_type": "source-summary",
277
+ "layer": "wiki"
278
+ },
279
+ {
280
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.4 GAPs and Food Safety]\n| TIMP Name | Category | Status |\n|---|---|---|\n| Food Safety Management System (HACCP) | Management practice | Ready for upscaling |\n| Good Agricultural Practices (GAPs) for maize | Management practice | Ready for upscaling |\n| Aflasafe KE01β„’ | Technology | Requires validation |\n\n**Aflasafe KE01β„’**: Pre-harvest bio-control agent that reduces aflatoxin contamination in maize by 80–99% at harvest and in storage. Applied 2–3 weeks before flowering at 10 kg/ha. Manufactured at KALRO-Katumani, distributed by Koppert Biological Systems. Cost: KES 201/kg.\n\n---",
281
+ "source": "wiki/sources/maize-timps-volume1.md",
282
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
283
+ "section": "2.4 GAPs and Food Safety",
284
+ "page_type": "source-summary",
285
+ "layer": "wiki"
286
+ },
287
+ {
288
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.5 Agronomic Management Practices (all Ready for upscaling)]\n| TIMP | Key recommendation |\n|---|---|\n| Land preparation | One tractor plough + one harrow; or two animal draft ploughs |\n| Maize variety selection | Match variety to AEZ; use certified seed |\n| Planting spacing | Highland: 75Γ—25 cm (1 plant); Medium: 75Γ—30 cm; Dryland/coastal: 90Γ—30 cm |\n| Intercropping | Maize–legume intercrop improves soil fertility and weed suppression |\n| Weeding | Hand weed 3 weeks after emergence; repeat 3 weeks later |\n| Basal fertilizer | 50 kg/acre DAP (neutral soils) or 100 kg/acre NPK 23:23:0 (acid soils) |\n| Top-dressing fertilizer | 50 kg/acre CAN at 8–10 leaf stage (45 cm height) |\n| Timely harvesting | Harvest at physiological maturity (black layer, leaves dried) |\n| Crop rotation | Rotate with legumes to replenish N; avoid same family consecutively |\n\n---",
289
+ "source": "wiki/sources/maize-timps-volume1.md",
290
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
291
+ "section": "2.5 Agronomic Management Practices (all Ready for upscaling)",
292
+ "page_type": "source-summary",
293
+ "layer": "wiki"
294
+ },
295
+ {
296
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” 2.6 Soil Fertility Management]\n| TIMP | Category | Status |\n|---|---|---|\n| Integrated Soil Fertility Management (ISFM) | Management practice | Requires validation |\n| Integrated Manure Management (IMM) | Management practice | Requires further research |\n| Rapid soil testing services (spectroscopy/Soil Cares) | Innovation | Requires validation |\n| Low-Cost Composting technology | Management practice | Requires validation |\n\n---",
297
+ "source": "wiki/sources/maize-timps-volume1.md",
298
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
299
+ "section": "2.6 Soil Fertility Management",
300
+ "page_type": "source-summary",
301
+ "layer": "wiki"
302
+ },
303
+ {
304
+ "text": "[\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\" β€” Key Cross-References]\n- Varieties for MLN-endemic areas β†’ [[maize-lethal-necrosis]], section 2.2.6\n- Water harvesting in ASAL β†’ [[water-harvesting-technologies]] (zai pits, contour bunds in sections 2.7)\n- KCSAP counties targeted β†’ [[KCSAP]] (24 counties)\n- Seed system innovations β†’ [[seed-systems]]\n- Lead station for highland varieties β†’ KALRO-Kitale (FCRI, Centre Director D.O. Ligeyo)\n- Lead station for coastal varieties β†’ KALRO-Mtwapa / KALRO-Katumani\n- Lead station for mid-altitude varieties β†’ KALRO-Embu, KALRO-Katumani",
305
+ "source": "wiki/sources/maize-timps-volume1.md",
306
+ "title": "\"Inventory of CSA Technologies, Innovations and Management Practices for Maize Value Chain (KALRO/KCSAP, 2022)\"",
307
+ "section": "Key Cross-References",
308
+ "page_type": "source-summary",
309
+ "layer": "wiki"
310
+ },
311
  {
312
  "text": "[\"Tied Ridges, FYM, and Nitrogen on Soil Moisture and Maize Yield in Machakos (Ngie Mwende, 2019)\" β€” Tied Ridges, FYM, and Nitrogen on Soil Moisture and Maize Yield in Machakos]\n**Citation:** Ngie Mwende, M. (2019). *Effect of tied ridges, farmyard manure, nitrogen fertilizer, and cropping systems on soil moisture, soil properties, and maize yield in Machakos County.* PhD thesis, Kenyatta University.",
313
  "source": "wiki/sources/tied-ridges-soil-moisture-machakos.md",
chatbot/extracted/MAIZE_TIMPS_Volume-1_for_Upload.json ADDED
The diff for this file is too large to render. See raw diff
 
chatbot/extracted/_extraction_summary.json CHANGED
@@ -34,6 +34,11 @@
34
  "status": "ok",
35
  "pages": 10
36
  },
 
 
 
 
 
37
  {
38
  "file": "Maize production systems farmers perception and current status of maize lethal necrosis in selected counties in Kenya.pdf",
39
  "status": "ok",
 
34
  "status": "ok",
35
  "pages": 10
36
  },
37
+ {
38
+ "file": "MAIZE_TIMPS_Volume-1_for_Upload.pdf",
39
+ "status": "ok",
40
+ "pages": 372
41
+ },
42
  {
43
  "file": "Maize production systems farmers perception and current status of maize lethal necrosis in selected counties in Kenya.pdf",
44
  "status": "ok",
chatbot/pipeline/chunk_timps.py ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ TIMP-aware chunker for MAIZE_TIMPS_Volume-1_for_Upload.json.
3
+
4
+ Splits on numbered section boundaries (2.2.1.1, 2.3.2, etc.) and sub-splits
5
+ each TIMP at its A/B/C/D/E/F/G section labels when the block is too large.
6
+ Metadata headers are prepended so retrieval can filter by AEZ / category.
7
+
8
+ Run standalone or imported by chunk.py.
9
+ """
10
+
11
+ import json
12
+ import re
13
+ import tiktoken
14
+ from pathlib import Path
15
+
16
+ EXTRACTED_DIR = Path(__file__).parent.parent / "extracted"
17
+ TIMPS_FILE = EXTRACTED_DIR / "MAIZE_TIMPS_Volume-1_for_Upload.json"
18
+
19
+ CHUNK_TOKENS = 500
20
+ OVERLAP_TOKENS = 50
21
+ enc = tiktoken.get_encoding("cl100k_base")
22
+
23
+ # ── AEZ / theme mapping ────────────────────────────────────────────────────────
24
+
25
+ AEZ_MAP = {
26
+ "2.2.1": "Coastal Lowlands",
27
+ "2.2.2": "Medium Altitude – Dry",
28
+ "2.2.3": "Medium Altitude – Moist",
29
+ "2.2.4": "Medium Altitude – Transitional",
30
+ "2.2.5": "Highlands",
31
+ "2.2.6": "MLN-Tolerant (Special Kit)",
32
+ "2.3": "Maize Seed System",
33
+ "2.4": "Good Agricultural Practices",
34
+ "2.5": "Agronomic Management Practices",
35
+ "2.6": "Soil Fertility Management",
36
+ "2.7": "Water Harvesting Technologies",
37
+ "2.8": "Pest and Disease Management",
38
+ "2.9": "Post-Harvest Management",
39
+ "2.10": "Market Linkages",
40
+ }
41
+
42
+ CATEGORY_MAP = {
43
+ "2.2": "Improved Maize Variety",
44
+ "2.3": "Seed System Innovation",
45
+ "2.4": "Good Agricultural Practice",
46
+ "2.5": "Agronomic Management Practice",
47
+ "2.6": "Soil Fertility Management",
48
+ "2.7": "Water Harvesting Technology",
49
+ "2.8": "Pest/Disease Management",
50
+ "2.9": "Post-Harvest Management",
51
+ "2.10": "Market Linkage",
52
+ }
53
+
54
+ SOURCE = "MAIZE_TIMPS_Volume-1_for_Upload.pdf"
55
+ TOC_CUTOFF = 15000 # characters β€” skip text before this as table-of-contents
56
+
57
+
58
+ # ── helpers ────────────────────────────────────────────────────────────────────
59
+
60
+ def count_tokens(text: str) -> int:
61
+ return len(enc.encode(text))
62
+
63
+
64
+ def sliding_window(text: str, meta_header: str, chunk_size: int, overlap: int) -> list[str]:
65
+ """Split text into overlapping token windows, each prefixed with meta_header."""
66
+ tokens = enc.encode(text)
67
+ results = []
68
+ start = 0
69
+ while start < len(tokens):
70
+ end = min(start + chunk_size, len(tokens))
71
+ results.append(meta_header + enc.decode(tokens[start:end]))
72
+ if end == len(tokens):
73
+ break
74
+ start += chunk_size - overlap
75
+ return results
76
+
77
+
78
+ def get_aez(section_code: str) -> str:
79
+ parts = section_code.split(".")
80
+ for depth in (4, 3, 2):
81
+ key = ".".join(parts[:depth])
82
+ if key in AEZ_MAP:
83
+ return AEZ_MAP[key]
84
+ return "Unknown"
85
+
86
+
87
+ def get_category(section_code: str) -> str:
88
+ parts = section_code.split(".")
89
+ for depth in (3, 2):
90
+ key = ".".join(parts[:depth])
91
+ if key in CATEGORY_MAP:
92
+ return CATEGORY_MAP[key]
93
+ return "TIMP"
94
+
95
+
96
+ def extract_timp_name(block_text: str) -> str:
97
+ """Pull the value from the 'TIMP Name' row in a table block."""
98
+ m = re.search(r'TIMP [Nn]ame\s*\n(.+)', block_text)
99
+ if m:
100
+ return m.group(1).strip()
101
+ return ""
102
+
103
+
104
+ def split_at_sections(block_text: str) -> list[tuple[str, str]]:
105
+ """
106
+ Split a TIMP block at its A:/B:/C:/D:/E:/F:/G: section boundaries.
107
+ Returns list of (label, text) pairs.
108
+ """
109
+ pattern = re.compile(
110
+ r'(?:^|\n)([A-G][:\.])\s*(?:Description|Assessment|Current situation|Economic|Case stud|Status|Contacts)[^\n]*\n',
111
+ re.IGNORECASE
112
+ )
113
+ hits = list(pattern.finditer(block_text))
114
+ if not hits:
115
+ return [("", block_text)]
116
+
117
+ parts = []
118
+ # Text before first section label
119
+ pre = block_text[:hits[0].start()].strip()
120
+ if pre:
121
+ parts.append(("header", pre))
122
+
123
+ for i, m in enumerate(hits):
124
+ label = m.group(1).rstrip(":.")
125
+ start = m.start()
126
+ end = hits[i + 1].start() if i + 1 < len(hits) else len(block_text)
127
+ parts.append((label, block_text[start:end].strip()))
128
+
129
+ return parts
130
+
131
+
132
+ # ── main chunker ───────────────────────────────────────────────────────────────
133
+
134
+ def chunk_timps() -> list[dict]:
135
+ if not TIMPS_FILE.exists():
136
+ return []
137
+
138
+ data = json.loads(TIMPS_FILE.read_text(encoding="utf-8"))
139
+ full_text = "\n".join(p["text"] for p in sorted(data["pages"], key=lambda x: x["page"]))
140
+
141
+ # Find all section boundary positions (skip TOC area).
142
+ # Match only known theme prefixes (2.2–2.10), avoiding table row artifacts like 2.1.1.
143
+ sec_pattern = re.compile(
144
+ r"(?:^|\n)(2\.(?:[2-9]|10)(?:\.\d+){1,2})\s+([^\n.]{3,80})\n",
145
+ re.MULTILINE,
146
+ )
147
+ boundaries = [
148
+ (m.start(), m.group(1), m.group(2).strip())
149
+ for m in sec_pattern.finditer(full_text)
150
+ if m.start() > TOC_CUTOFF
151
+ ]
152
+
153
+ if not boundaries:
154
+ return []
155
+
156
+ chunks: list[dict] = []
157
+
158
+ for idx, (pos, code, title) in enumerate(boundaries):
159
+ # Block text runs until the next boundary (or end of document)
160
+ next_pos = boundaries[idx + 1][0] if idx + 1 < len(boundaries) else len(full_text)
161
+ block = full_text[pos:next_pos].strip()
162
+
163
+ aez = get_aez(code)
164
+ category = get_category(code)
165
+ timp_name = extract_timp_name(block) or title
166
+
167
+ meta_header = (
168
+ f"[TIMP: {timp_name}]\n"
169
+ f"[Category: {category}]\n"
170
+ f"[AEZ/Theme: {aez}]\n"
171
+ f"[Section: {code}]\n\n"
172
+ )
173
+
174
+ # Sub-split at A-G section boundaries to keep chunks focused
175
+ section_parts = split_at_sections(block)
176
+
177
+ for label, part_text in section_parts:
178
+ if not part_text.strip():
179
+ continue
180
+ full_chunk = meta_header + (f"Section {label}:\n" if label else "") + part_text
181
+ if count_tokens(full_chunk) <= CHUNK_TOKENS * 1.5:
182
+ chunks.append({
183
+ "text": full_chunk,
184
+ "source": SOURCE,
185
+ "layer": "pdf",
186
+ "timp_name": timp_name,
187
+ "aez": aez,
188
+ "category": category,
189
+ "section_code": code,
190
+ "section_label": label,
191
+ })
192
+ else:
193
+ for window in sliding_window(part_text, meta_header, CHUNK_TOKENS, OVERLAP_TOKENS):
194
+ chunks.append({
195
+ "text": window,
196
+ "source": SOURCE,
197
+ "layer": "pdf",
198
+ "timp_name": timp_name,
199
+ "aez": aez,
200
+ "category": category,
201
+ "section_code": code,
202
+ "section_label": label,
203
+ })
204
+
205
+ return chunks
206
+
207
+
208
+ if __name__ == "__main__":
209
+ result = chunk_timps()
210
+ print(f"TIMP chunks: {len(result)}")
211
+ if result:
212
+ print(f"Sample chunk:\n{result[0]['text'][:300]}")