fix: VLM 参数优化 - temperature 0.7, top_p 0.8, 指令放 system+user

- VisionAsync 新增 Temperature=0.7, TopP=0.8
- system prompt 用专业营养识别指令
- userText 用简短"请看图识别食物"配合图片
- 修复重复 prompt 导致 VLM 误读文本的 bug
This commit is contained in:
MingNian
2026-06-03 11:12:06 +08:00
parent c6395ea9b4
commit 78573eaa5f
46 changed files with 955 additions and 801 deletions

View File

@@ -18,8 +18,8 @@ class HealthDrawer extends ConsumerWidget {
return Drawer(
child: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
child: ListView(
padding: EdgeInsets.zero,
children: [
// 用户信息
Container(
@@ -75,13 +75,15 @@ class HealthDrawer extends ConsumerWidget {
TextButton(onPressed: () => ref.invalidate(conversationListProvider), child: const Text('刷新', style: TextStyle(fontSize: 12, color: Color(0xFF635BFF)))),
]),
),
Expanded(
SizedBox(
height: 200,
child: conversations.when(
data: (items) {
if (items.isEmpty) {
return const Center(child: Text('暂无历史对话', style: TextStyle(color: Color(0xFF999999), fontSize: 14)));
}
return ListView.builder(
shrinkWrap: true,
padding: const EdgeInsets.symmetric(horizontal: 8),
itemCount: items.length,
itemBuilder: (ctx, i) => _ConversationItem(item: items[i], ref: ref),
@@ -162,8 +164,8 @@ class _ConversationItem extends ConsumerWidget {
),
child: Icon(_getAgentIcon(item.agent), size: 18, color: const Color(0xFF635BFF)),
),
title: Text(item.title, style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500)),
subtitle: Text(item.lastMessage, style: TextStyle(fontSize: 12, color: Colors.grey[500])),
title: Text(item.title, maxLines: 1, overflow: TextOverflow.ellipsis, style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500)),
subtitle: Text(item.lastMessage, maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(fontSize: 12, color: Colors.grey[500])),
trailing: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [