feat: improve AI dialogue evaluation and capability boundaries

This commit is contained in:
shen
2026-09-19 18:58:14 -07:00
parent 335d0304b1
commit 7306dc0f85
23 changed files with 1308 additions and 452 deletions
@@ -57,15 +57,16 @@ class _WritingStepState extends State<_WritingStep> {
requestingAiFeedback = true;
aiFeedbackError = null;
});
final feedback = await AiService.instance.writingFeedback(
provider: widget.state.aiProvider,
endpoint: widget.state.aiEndpoint,
model: widget.state.aiModel,
lessonId: widget.lessonId,
taskPrompt: widget.activity.writingPrompt,
answer: widget.controller.text.trim(),
level: lessonLevel(widget.lessonId),
);
final feedback = await AiService.instance.capabilities.evaluation
.evaluateWriting(
provider: widget.state.aiProvider,
endpoint: widget.state.aiEndpoint,
model: widget.state.aiModel,
lessonId: widget.lessonId,
taskPrompt: widget.activity.writingPrompt,
answer: widget.controller.text.trim(),
level: lessonLevel(widget.lessonId),
);
if (!mounted) return;
setState(() {
requestingAiFeedback = false;
@@ -88,9 +89,7 @@ class _WritingStepState extends State<_WritingStep> {
),
SectionCard(
tint: AppColors.surfaceMuted,
child: Text(
'小提示:${grammarNoteForSegment(widget.segmentId)}',
),
child: Text('小提示:${grammarNoteForSegment(widget.segmentId)}'),
),
if (widget.showHelp)
SectionCard(