本次更新解决了JSON解析失败问题,改用流式输出方式,提供更稳定可靠的AI分析体验。
之前: 使用 completionJSON 要求返回严格的JSON格式
// ❌ 旧方式 - 容易因格式问题失败
await completionJSON(prompt, outputSchema, callback, 2, {
vision: true,
images
});
现在: 使用 FmodeChatCompletion 流式输出
// ✅ 新方式 - 稳定可靠
const completion = new FmodeChatCompletion(messageList, {
model: 'fmode-1.6-cn'
});
completion.sendCompletion({ isDirect: true }).subscribe({...});
AI返回的内容会自动解析为结构化数据:
上传图片后直接点击"开始分析":
在初始分析基础上继续对话:
分析结果统一结构:
{
sceneRecognition: {
spaceType: "客餐厅",
style: "现代简约",
tone: "温馨"
},
designDimensions: {
colorSystem: {
primaryColors: ["白色", "灰色"],
secondaryColors: ["木色", "黑色"]
},
lightingDesign: {
description: "主要采用筒灯和灯带..."
},
materialAnalysis: {
description: "地面采用木地板..."
}
},
suggestions: [
"建议增加氛围灯光",
"可以考虑暖色调点缀"
],
rawContent: "完整的AI原始回复内容"
}
保存在 Project.data.aiChatHistory[spaceId]:
{
messages: [
{ role: 'user', content: '分析灯光', timestamp: '...' },
{ role: 'assistant', content: 'AI回复...', timestamp: '...' }
],
lastUpdated: '2024-11-22T01:00:00Z'
}
| 特性 | 旧版(completionJSON) | 新版(FmodeChatCompletion) |
|---|---|---|
| 稳定性 | ⚠️ 易因JSON格式失败 | ✅ 稳定可靠 |
| 实时反馈 | ❌ 等待完成后返回 | ✅ 流式显示进度 |
| 错误处理 | ❌ 重试2次后失败 | ✅ 容错性强 |
| 对话支持 | ❌ 需要特殊处理 | ✅ 原生支持 |
| 内容格式 | 仅JSON | JSON + 文本 |
现在就去试试新的AI分析功能:
版本: v2.0
日期: 2024-11-22
改进点:
技术栈: Angular + 豆包1.6 + FmodeChatCompletion
参考: ai-k12-daofa 项目的实现方式