- extract_knowledge.py: LLM processes sampled pages from all conversations - Extracts structured JSON: topics, decisions, insights, open questions - Stores as queryable Parquet tables (knowledge_topics, knowledge_decisions, knowledge_insights, knowledge_questions) - Each finding traces to source conversation + page number - Fixed Unicode chunker crash (byte boundary on multi-byte chars) - Tested on 8 real ChatGPT PDFs, 477 pages: 496 topics, 300 decisions, 100 insights, 200 open questions extracted Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
51 lines
1.2 KiB
JSON
51 lines
1.2 KiB
JSON
{
|
|
"id": "667478c3-47f9-4076-bab2-8293999d4db2",
|
|
"name": "knowledge_insights",
|
|
"schema_fingerprint": "36896987c7df0e78f5282208e3b8bbbaf9c017588d0bb42a20a7dbe97d8d4fa0",
|
|
"objects": [
|
|
{
|
|
"bucket": "data",
|
|
"key": "datasets/knowledge_insights.parquet",
|
|
"size_bytes": 13099,
|
|
"created_at": "2026-03-28T04:06:05.361963023Z"
|
|
}
|
|
],
|
|
"created_at": "2026-03-28T04:06:05.361963273Z",
|
|
"updated_at": "2026-03-28T04:06:05.362127023Z",
|
|
"description": "",
|
|
"owner": "",
|
|
"sensitivity": null,
|
|
"columns": [
|
|
{
|
|
"name": "conversation",
|
|
"data_type": "Utf8",
|
|
"sensitivity": null,
|
|
"description": "",
|
|
"is_pii": false
|
|
},
|
|
{
|
|
"name": "page",
|
|
"data_type": "Int64",
|
|
"sensitivity": null,
|
|
"description": "",
|
|
"is_pii": false
|
|
},
|
|
{
|
|
"name": "insight",
|
|
"data_type": "Utf8",
|
|
"sensitivity": null,
|
|
"description": "",
|
|
"is_pii": false
|
|
}
|
|
],
|
|
"lineage": {
|
|
"source_system": "csv",
|
|
"source_file": "knowledge_insights.csv",
|
|
"ingest_job": "ingest-1774670765361",
|
|
"ingest_timestamp": "2026-03-28T04:06:05.361963023Z",
|
|
"parent_datasets": []
|
|
},
|
|
"freshness": null,
|
|
"tags": [],
|
|
"row_count": 100
|
|
} |