Browse Source

优化askai

newdev_shunjiawei
tanlongsheng 1 year ago
parent
commit
75e8e06bd7
  1. 35
      lib/modules/meeting/views/ai_bottom_sheet.dart

35
lib/modules/meeting/views/ai_bottom_sheet.dart

@ -24,6 +24,8 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
final TextEditingController _texController = TextEditingController();
String _allText = '';
List _dataList = [];
final List _cruxList = [
@ -34,6 +36,21 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
bool _isLoading = false;
@override
void initState() {
super.initState();
_getAllText();
}
void _getAllText() {
for (var element in _controller.textList) {
if (element['speaker'].isNotEmpty) {
_allText += '${element['speaker']}:';
}
_allText += '${element['content']}\n';
}
}
@override
void dispose() {
_texController.dispose();
@ -279,9 +296,12 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
'assistant': '',
});
});
_scrollController.jumpTo(0);
if (_dataList.length > 1) {
_scrollController.jumpTo(0);
}
final responseStream = _deapsoundAI.sendMessageStream(
messages: [
..._getUserMessage(),
{'role': 'user', 'content': value},
],
);
@ -298,4 +318,17 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
},
);
}
List _getUserMessage() {
List<Map<String, String>> messages = [
{
'role': 'system',
'content': '你只能根据这段对话记录回答问题,禁止引入外部知识。对话内容:$_allText',
},
];
for (int i = _dataList.length - 1; i >= 0; i--) {
messages.add({'role': 'user', 'content': _dataList[i]['user']});
}
return messages;
}
}

Loading…
Cancel
Save