Add ability to clear local embeddings
This commit is contained in:
parent
1c488e86a5
commit
c35ee381d3
1
lib/generated/intl/messages_en.dart
generated
1
lib/generated/intl/messages_en.dart
generated
|
@ -396,6 +396,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"claimed": MessageLookupByLibrary.simpleMessage("Claimed"),
|
||||
"claimedStorageSoFar": m7,
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Clear caches"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Clear indexes"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Click"),
|
||||
"clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage(
|
||||
"• Click on the overflow menu"),
|
||||
|
|
10
lib/generated/l10n.dart
generated
10
lib/generated/l10n.dart
generated
|
@ -2906,6 +2906,16 @@ class S {
|
|||
);
|
||||
}
|
||||
|
||||
/// `Clear indexes`
|
||||
String get clearIndexes {
|
||||
return Intl.message(
|
||||
'Clear indexes',
|
||||
name: 'clearIndexes',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Select folders for backup`
|
||||
String get selectFoldersForBackup {
|
||||
return Intl.message(
|
||||
|
|
|
@ -412,6 +412,7 @@
|
|||
"status": "Status",
|
||||
"indexedItems": "Indexed items",
|
||||
"pendingItems": "Pending items",
|
||||
"clearIndexes": "Clear indexes",
|
||||
"selectFoldersForBackup": "Select folders for backup",
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp": "Selected folders will be encrypted and backed up",
|
||||
"unselectAll": "Unselect all",
|
||||
|
|
|
@ -107,6 +107,19 @@ class SemanticSearchService {
|
|||
);
|
||||
}
|
||||
|
||||
Future<void> clearIndexes() async {
|
||||
await ObjectBox.instance
|
||||
.getEmbeddingBox()
|
||||
.query(
|
||||
Embedding_.model.equals(
|
||||
_mlFramework.getFrameworkName() + "-" + kModelName,
|
||||
),
|
||||
)
|
||||
.build()
|
||||
.removeAsync();
|
||||
_logger.info("Indexes cleared for ${_mlFramework.getFrameworkName()}");
|
||||
}
|
||||
|
||||
void _setupCachedEmbeddings() {
|
||||
ObjectBox.instance
|
||||
.getEmbeddingBox()
|
||||
|
|
|
@ -112,7 +112,29 @@ class _MachineLearningSettingsPageState
|
|||
height: 12,
|
||||
),
|
||||
hasEnabled
|
||||
? const MagicSearchIndexStatsWidget()
|
||||
? Column(
|
||||
children: [
|
||||
const MagicSearchIndexStatsWidget(),
|
||||
const SizedBox(
|
||||
height: 12,
|
||||
),
|
||||
MenuItemWidget(
|
||||
leadingIcon: Icons.delete_sweep_outlined,
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: S.of(context).clearIndexes,
|
||||
),
|
||||
menuItemColor: getEnteColorScheme(context).fillFaint,
|
||||
singleBorderRadius: 8,
|
||||
alwaysShowSuccessState: true,
|
||||
onTap: () async {
|
||||
await SemanticSearchService.instance.clearIndexes();
|
||||
if (mounted) {
|
||||
setState(() => {});
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
],
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue