""" LLM报告引擎:分段上下文 + 并行调用 + 报告文字生成 核心设计: 1. 报告拆分为~20个独立段落(segment),每段有独立prompt 2. 每段只喂该段需要的结构化数据(JSON),节省token 3. 10路并发调用LLM,~2分钟完成全部段落 4. Jinja2模板渲染prompt,保证格式统一 5. 支持缓存,同一数据不重复调用 """ import asyncio import hashlib import json import logging import re import time from pathlib import Path from typing import Dict, List, Optional, Callable from openai import OpenAI from ..config import ( LLM_BASE_URL, LLM_API_KEY, LLM_MODEL, LLM_MAX_CONCURRENCY, DIMENSION_FRAMEWORK, LEVEL_DESCRIPTIONS, SCHOOL_TYPE_MAP, ) # 维度概念定义(来自参考报告,每个维度分析时作为开头段落的背景) DIMENSION_DEFINITIONS = { "课程领导力": "课程领导力是指学校在高质量落实国家课程,根据学校培养目标构建核心素养导向校本课程体系上的关键能力,强调对课程多样性及特色性的重视,强调在核心素养引领下建构富有学校特色的课程育人体系。具体可分为国家标准遵循、课程结构建设和课程规范落实。", "教学变革力": "教学变革力是指学校由知识本位转向素养本位的变革力量,它在一定程度上决定了学生核心素养培育的成效,强调对过分重视接受学习、死记硬背、机械训练现状的转变。具体可分为教学方式变革和作业设计与管理变革。", "学生发展指导力": "学生发展指导力是指学校为学生提供全面、个性化发展指导的能力,涵盖学科学习的精准辅导和面向未来的生涯规划。具体可分为学科发展的个性化辅导和学生生涯发展指导。", "教师发展支持力": "教师发展支持力是指学校在教师专业成长方面的制度保障与资源投入能力,强调为教师提供多元化的发展路径与支持平台。具体可分为培训支持、教研支持和项目支持。", "教育质量评估力": "教育质量评估力是指学校建立科学评价体系、全面监测教育质量的能力,强调以核心素养为导向,综合运用多种评价方式。具体可分为科学评价观、学业质量评估、综合素质评估和实践活动评估。", "教育条件保障力": "教育条件保障力是指学校在区域政策支持、硬件环境和资源配置方面为课程实施提供保障的能力。具体可分为区域推进、环境支持和资源支持。", "数字化赋能力": "数字化赋能力是指学校运用数字技术推动教学创新、评价精准化和课程持续优化的能力,反映学校数字化转型的深度与广度。具体可分为教学方式创新、评价精准化与个性化和课程迭代优化。", } # 三级维度概念定义(来自参考报告) SUB_DIMENSION_DEFINITIONS = { "国家标准遵循": "国家标准遵循是课程领导力的首要条件,强调学校在校内开足开齐开好国家课程的重要性,以《普通高中课程方案(2017年版2020年修订)》《上海市普通高中课程实施方案》为标准,反映学校在各类型课程课时、学分上的达标情况。", "课程结构建设": "课程结构建设强调学校在课程设置中需着重考虑各学科、各类型的课程结构与比例,强调课程设置的科学性与合理性,反映学校在三类课程中的结构合理性与内容丰富性。", "课程规范落实": "课程规范落实强调学校课程规范落实作为课程的价值定位和制度保证,关注建设规范文本的完备性和过程性档案记录的建成与使用情况。", "教学方式变革": "教学方式变革强调学生主动参与和探究合作,引导学生在实践中学习、在教师指导下深度学习,强调跨学科和信息技术常态化应用的学习。", "作业设计与管理变革": "作业设计与管理变革关注学校在创新性作业设计、作业时长管理、批改反馈和属性标注等方面的系统化程度。", "学科发展的个性化辅导": "学科发展的个性化辅导关注学校为学生提供学科学习方面的精准化、个性化辅导的能力,包括辅导时长、辅导内容确定方式和辅导形式。", "学生生涯发展指导": "学生生涯发展指导关注学校为学生提供生涯规划教育的实施方式、覆盖率、师资队伍和资源支持情况。", "培训支持": "培训支持反映学校为教师提供外出培训机会的力度,以各学科教师平均外出培训人数为核心指标。", "教研支持": "教研支持反映学校教研活动的数量和质量,体现学校教研文化的深度和教研机制的有效性。", "项目支持": "项目支持反映学校以课题项目引领教师专业发展的情况,以各学科负责校级以上项目的覆盖情况为核心指标。", "科学评价观": "科学评价观反映学校在课程教学各方面对学生核心素养发展的关注程度和广度。", "学业质量评估": "学业质量评估关注学校在校本化评价工具研制、使用以及学期考试质量分析的系统性。", "综合素质评估": "综合素质评估关注学校在校本化综合素质评价体系的建设、平台支持和评价结果运用情况。", "实践活动评估": "实践活动评估关注学校在研究性学习、社会考察和学科实践活动等领域校本化评价工具的研制与使用。", "区域推进": "区域推进反映学校所在区教育局对高中课程教学工作的推动力度,包括会议频次、管理文件和配套措施。", "环境支持": "环境支持反映学校信息化环境和硬件设施对课程教学的支撑情况。", "资源支持": "资源支持反映学校校内外资源配置和师资水平的综合状况。", "教学方式创新": "教学方式创新关注信息技术与教学融合的深度以及教师常态化使用信息技术开展教学的情况。", "评价精准化与个性化": "评价精准化与个性化关注学校运用信息技术平台支持学科诊断与综合素质评价的能力层次。", "课程迭代优化": "课程迭代优化关注学校教学数字化转型的规划制度和信息化系统在业务流程中的应用程度。", } logger = logging.getLogger(__name__) # ========== System Prompt ========== SYSTEM_PROMPT_ZH = """你是一位资深的教育评估专家,正在撰写上海市高中课程实施监测数据分析报告。本报告由上海市教师教育学院(上海市教育委员会教学研究室)指导,面向学校管理层。 ## 写作风格参照 请严格参照以下范文风格撰写。范文来自教育部门正式报告: <范文示例-总体表现> 测评显示,贵校课程实施总体得分是56.69分。高于上海市均值6.73分,高于XX区均值5.15分,高于市实验性示范高中均值4.22分。通过基于学校领导力视角的各维度聚类分析发现,上海市学校课程实施状况共有2类,分别是:课程实施较好类、课程实施待提高类。贵校属于课程实施较好类。 综合来看,贵校在教育条件保障力和数字化赋能力上表现好,得分为60.15和57.76。在教学变革力和学生发展指导力上表现相对较差,得分为52.41和54.05。 <范文示例-维度整体> 课程领导力是指学校在高质量落实国家课程,根据学校培养目标构建核心素养导向校本课程体系上的关键能力,强调对课程多样性及特色性的重视。具体可分为国家标准遵循、课程结构建设和课程规范落实。 从课程领导力的得分情况来看,贵校课程领导力的得分为57.51分,高于区均值4.41分,高于市实验性示范性高中均值4.82分。 分维度来看,课程结构建设的得分最高为63.93分;其次为课程规范落实54.42分,国家标准遵循的得分最低为54.17分。 通过对课程领导力的三个子维度进行聚类发现,贵校课程领导力类型为高领导能力型。 <范文示例-子维度> 从国家标准遵循的得分情况来看,贵校国家标准遵循的得分为54.17分,高于区均值0.20分,高于市实验性示范性高中均值1.90分。 总体来看,贵校国家标准遵循水平处于水平三,区内处于水平三及以上的学校比例为66.6%,同类学校处于水平三及以上的比例为42.0%。 ## 写作规范 1. 称谓:统一使用"贵校"指代被分析的学校,不要使用学校名称 2. 语言风格:客观、平实、严谨的学术报告体,避免修辞性、评价性、主观感受性表述 3. 数据引用:所有分析必须基于提供的数据,引用具体数值,使用"高于/低于XX均值X.XX分"的句式 4. 对比结构:按"贵校得分→与区均值对比→与同类学校对比→水平分布情况"的顺序展开 5. 水平分布:引用区内处于各水平的学校数量或比例 6. 改进建议:针对薄弱维度给出具体、可操作的建议,对不同类型学校有差异化要求 7. 图表引用:不生成图表,但可用"如图X-X所示"等引用(图表由模板渲染) 8. 篇幅控制:总体表现400-600字,维度整体300-500字,子维度200-350字,总结400-600字 ## 学校类型差异化要求 - 市实验性示范性高中:对标更高要求,强调引领示范作用,改进建议要求迈向卓越 - 区实验性示范性高中:强调在区域内的标杆作用,改进建议着眼特色发展 - 特色高中:突出其特色定位,分析特色与各维度的关联 - 公办普通高中/民办高中:关注基础达标情况,改进建议务实可操作 ## HTML输出格式规范(必须严格遵守) - 直接输出HTML片段,不要包裹在```html代码块中 - 只使用以下标签: