feat: integrate pixel teacher presence and resilient classroom preview
This commit is contained in:
@@ -61,8 +61,10 @@ export function compileTeacherContext(
|
||||
].join('\n\n'),
|
||||
};
|
||||
const current: TeacherModelMessage = {
|
||||
role: 'user',
|
||||
content: [
|
||||
role: intent === 'check-in' ? 'system' : 'user',
|
||||
content: intent === 'check-in'
|
||||
? '本轮是老师定时主动关心,不是学生提问。依据来源操作对话中已完成的文字和老师咨询历史,自然地说一段简短中文关心、具体建议或思考引导,约 120 字,最多问一个问题,不要求学生立即回答。只围绕已有证据,不重复刚说过的内容,不整理待办、不替学生作决定;没有实际看到或操作作品,不能假装看到了画面、运行或试玩过作品。直接说给学生听,不提定时检查、系统触发等技术过程。'
|
||||
: [
|
||||
...references.map(
|
||||
(ref) =>
|
||||
'明确引用' +
|
||||
@@ -97,13 +99,13 @@ export function compileTeacherContext(
|
||||
},
|
||||
]
|
||||
: []),
|
||||
...exchanges.flatMap((request) => [
|
||||
{
|
||||
...exchanges.flatMap((request): TeacherModelMessage[] => [
|
||||
...(request.intent === 'check-in' ? [] : [{
|
||||
role: 'user' as const,
|
||||
content: [...request.references.map((ref) => '明确引用:\n' + ref.text), request.text].join(
|
||||
'\n\n'
|
||||
),
|
||||
},
|
||||
}]),
|
||||
{
|
||||
role: 'assistant' as const,
|
||||
content: [
|
||||
@@ -121,8 +123,7 @@ export function compileTeacherContext(
|
||||
omitted++;
|
||||
}
|
||||
while (estimateTeacherTokens(build()) > maxInputTokens && exchanges.length > 1) {
|
||||
exchanges.shift();
|
||||
omitted += 2;
|
||||
omitted += exchanges.shift()?.intent === 'check-in' ? 1 : 2;
|
||||
}
|
||||
const messages = build();
|
||||
if (estimateTeacherTokens(messages) > maxInputTokens)
|
||||
|
||||
Reference in New Issue
Block a user