From dabb191a750803debb93a5b7fcda2c9dbc003a57 Mon Sep 17 00:00:00 2001 From: "Svetlana.Zemlyanskaya" Date: Sat, 30 Sep 2023 10:59:09 +0200 Subject: [PATCH] ML in SE: move embeddings to a separate module GitOrigin-RevId: aa8384f0b5a5aa68eb131c31358bed3be45b6155 --- .idea/modules.xml | 1 + .../resources/META-INF/IdeaPlugin.xml | 1 + .../intellij.platform.ml.embeddings.iml | 411 ++++++++++++++++++ .../intellij.platform.ml.embeddings.xml | 14 + .../messages/EmbeddingsBundle.properties | 5 + .../ml/embeddings/EmbeddingsBundle.kt | 6 + .../models/LocalEmbeddingNetwork.kt | 3 +- .../models/LocalEmbeddingService.kt | 3 +- .../models/LocalEmbeddingServiceLoader.kt | 3 +- .../embeddings}/models/TextEncoderConfig.kt | 3 +- .../services/CustomRootDataLoader.kt | 3 +- .../services/LocalArtifactsManager.kt | 11 +- .../services/LocalEmbeddingServiceProvider.kt | 7 +- .../intellij.searchEverywhereMl.semantics.iml | 392 +---------------- .../intellij.searchEverywhereMl.semantics.xml | 12 +- ...archEverywhereMlSemanticsBundle.properties | 5 - .../services/ActionEmbeddingsStorage.kt | 3 +- .../services/ActionEmbeddingsStorageSetup.kt | 1 + .../services/ClassEmbeddingsStorage.kt | 3 +- .../DiskSynchronizedEmbeddingsStorage.kt | 1 + .../services/FileEmbeddingsStorage.kt | 4 +- .../services/SymbolEmbeddingStorage.kt | 3 +- .../semantics/utils/IndexingUtils.kt | 2 +- ...lij.searchEverywhereMl.semantics.tests.iml | 1 + .../tests/SemanticActionSearchTest.kt | 2 +- .../tests/SemanticClassSearchTest.kt | 2 +- .../semantics/tests/SemanticFileSearchTest.kt | 2 +- .../tests/SemanticSymbolSearchTest.kt | 2 +- .../resources/META-INF/PyCharmCorePlugin.xml | 1 + 29 files changed, 480 insertions(+), 427 deletions(-) create mode 100644 platform/ml-embeddings/intellij.platform.ml.embeddings.iml create mode 100644 platform/ml-embeddings/resources/intellij.platform.ml.embeddings.xml create mode 100644 platform/ml-embeddings/resources/messages/EmbeddingsBundle.properties create mode 100644 platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/EmbeddingsBundle.kt rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/models/LocalEmbeddingNetwork.kt (92%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/models/LocalEmbeddingService.kt (87%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/models/LocalEmbeddingServiceLoader.kt (86%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/models/TextEncoderConfig.kt (79%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/services/CustomRootDataLoader.kt (79%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/services/LocalArtifactsManager.kt (88%) rename {plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics => platform/ml-embeddings/src/com/intellij/platform/ml/embeddings}/services/LocalEmbeddingServiceProvider.kt (80%) diff --git a/.idea/modules.xml b/.idea/modules.xml index 8dbdf342e61d..cf832b9f8638 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -937,6 +937,7 @@ + diff --git a/community-resources/resources/META-INF/IdeaPlugin.xml b/community-resources/resources/META-INF/IdeaPlugin.xml index de9f917fe28b..da444b796259 100644 --- a/community-resources/resources/META-INF/IdeaPlugin.xml +++ b/community-resources/resources/META-INF/IdeaPlugin.xml @@ -13,6 +13,7 @@ + diff --git a/platform/ml-embeddings/intellij.platform.ml.embeddings.iml b/platform/ml-embeddings/intellij.platform.ml.embeddings.iml new file mode 100644 index 000000000000..8d218841665f --- /dev/null +++ b/platform/ml-embeddings/intellij.platform.ml.embeddings.iml @@ -0,0 +1,411 @@ + + + + + + + + + + + + + + + + + + + + e79840bf4b88615335b93d7985d072d0509f204630acc747fb4d5f72276fb033 + + + + + + + + + + + + + + + + + + 319198acfc325cd1bd58c86f2e29101089e5acd01fbe5a77ef5f0b5dc9aaed0f + + + + + + + + + + + + + + + + + + 12b25338d86edb40206b0f8e7ccd2af5b3a732a7d45d87484da51492b966e8ea + + + + + + + + + + + + + + + + + + 6ab9ed92053651a77c80e33e2308791858c20908f3008499c288ddb8c2aea4c8 + + + + + + + + + + + + + + + + + + 189ce05d2f1180b77c34a0e96af8ab17fe31786584397d39927baedd63e5fa91 + + + + + + + + + + + + + + + + + + 25bc178c5ac2ff702378f568835d2eb5debc158a75a69316fb979112e77fb36e + + + + + + + + + + + + + + + + + + 34f83ed0bf75767fb6f0dc75511eb3a432735aa4928f97f33d605383e9c810f5 + + + + + + + + + + + + + + + + + + 6f4aa8bbd638c4b13683998ad75f7b668e8b9c884f409a9d4b4c3fb41fa1b17f + + + + + + + + + + + + + + + + + + 735b3b100405d24a2a7fdb16e604f313fe1f34e2f846f98d44e0f3b1a8475cb4 + + + + + + + + + + + + + + + + + + 8a07c2b12df5d29ea516cffe749c652296b7191304058088abd4f8e7c083a8a2 + + + + + + + + + + + + + + + + + + b7897167e5988673d584fc2c0638b631d38078e91dea6b9870c758e6b5c3e64d + + + + + + + + + + + + + + + + + + a9f01384eedab229bd22e52bfe922141af8f543d8df64c5a526871c25424992a + + + + + + + + + + + + + + + + + + 8e9c7990b2120946da37adf24434fe3692c29919a11144fb20186c0d7169d451 + + + + + + + + + + + + + + + + + + 94d1b65da91b55b60a8c9fa5552cafe02f3cf9378f0625cf5fb726b828dc093a + + + + + + + + + + + + + + + + + + + + + + + c0ae81b5992ba0a1f300c26420cfa68104f98a880b6b2b5e464ce99e366943fb + + + + + + + + + + + + + + + + + + + + + + + 4f98ae11fded2a81a3b27a1490b9cefdbfd673d244f37b02c2704bdb440d4782 + + + + + + + + + + + + + + + + + + ae2ea06418f9d57f867f53ef8a4102f54f1f6a71c8309e4ebe89d2d71d682d0f + + + + + + + + + + + + + + + + + + + + + + + 2c5d67bd29a9082f07522643d728d887f2f93012467e05c45a2079d4e3eea8bf + + + + + + + + + + + + + + + + + + + + + + + + be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907 + + + + + + + + + + + + + + + + + + + + + + + 821ebfe4817c132ea830ac2598953ef19e3579d53aab15018bf00b432d03aa45 + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/ml-embeddings/resources/intellij.platform.ml.embeddings.xml b/platform/ml-embeddings/resources/intellij.platform.ml.embeddings.xml new file mode 100644 index 000000000000..ec41dc58947f --- /dev/null +++ b/platform/ml-embeddings/resources/intellij.platform.ml.embeddings.xml @@ -0,0 +1,14 @@ + + messages.EmbeddingsBundle + + + + + + + + \ No newline at end of file diff --git a/platform/ml-embeddings/resources/messages/EmbeddingsBundle.properties b/platform/ml-embeddings/resources/messages/EmbeddingsBundle.properties new file mode 100644 index 000000000000..b33f748203d1 --- /dev/null +++ b/platform/ml-embeddings/resources/messages/EmbeddingsBundle.properties @@ -0,0 +1,5 @@ +ml.embeddings.artifacts.download.name=Downloading semantic search artifacts +ml.embeddings.notification.model.downloading.failed.title=Failed to download semantic search model +ml.embeddings.notification.model.downloading.failed.content=Check your internet connection + +search.everywhere.ml.semantic.notification.group.name=Semantic search notifications \ No newline at end of file diff --git a/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/EmbeddingsBundle.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/EmbeddingsBundle.kt new file mode 100644 index 000000000000..c2ecb77cc080 --- /dev/null +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/EmbeddingsBundle.kt @@ -0,0 +1,6 @@ +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings + +import com.intellij.DynamicBundle + +object EmbeddingsBundle : DynamicBundle("messages.EmbeddingsBundle") \ No newline at end of file diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingNetwork.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingNetwork.kt similarity index 92% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingNetwork.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingNetwork.kt index f04bdc624f6f..26185dc1228b 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingNetwork.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingNetwork.kt @@ -1,4 +1,5 @@ -package com.intellij.searchEverywhereMl.semantics.models +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.models import io.kinference.core.CoreBackend import io.kinference.core.KIEngine diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingService.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingService.kt similarity index 87% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingService.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingService.kt index ebeaf7f09329..7f0da70f1e0c 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingService.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingService.kt @@ -1,4 +1,5 @@ -package com.intellij.searchEverywhereMl.semantics.models +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.models import ai.grazie.emb.FloatTextEmbedding import ai.grazie.emb.SuspendableTextEmbeddingsService diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingServiceLoader.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingServiceLoader.kt similarity index 86% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingServiceLoader.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingServiceLoader.kt index 331cb9d32541..de20f195f711 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/LocalEmbeddingServiceLoader.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/LocalEmbeddingServiceLoader.kt @@ -1,4 +1,5 @@ -package com.intellij.searchEverywhereMl.semantics.models +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.models import ai.grazie.nlp.encoder.PreTrainedTextEncoder import ai.grazie.nlp.encoder.bert.uncased.BertBaseUncasedTextEncoder diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/TextEncoderConfig.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/TextEncoderConfig.kt similarity index 79% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/TextEncoderConfig.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/TextEncoderConfig.kt index fcb2531138b7..daf9871156e6 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/models/TextEncoderConfig.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/models/TextEncoderConfig.kt @@ -1,4 +1,5 @@ -package com.intellij.searchEverywhereMl.semantics.models +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.models import com.fasterxml.jackson.annotation.JsonSetter import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/CustomRootDataLoader.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/CustomRootDataLoader.kt similarity index 79% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/CustomRootDataLoader.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/CustomRootDataLoader.kt index c0c4a558cb36..2a7c19b841e0 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/CustomRootDataLoader.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/CustomRootDataLoader.kt @@ -1,4 +1,5 @@ -package com.intellij.searchEverywhereMl.semantics.services +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.services import ai.grazie.utils.mpp.DataLoader import ai.grazie.utils.mpp.RootDataLoader diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalArtifactsManager.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalArtifactsManager.kt similarity index 88% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalArtifactsManager.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalArtifactsManager.kt index aabeeecfcaf6..1f5e8568b3aa 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalArtifactsManager.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalArtifactsManager.kt @@ -1,5 +1,7 @@ -package com.intellij.searchEverywhereMl.semantics.services +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.services +import com.intellij.platform.ml.embeddings.EmbeddingsBundle import com.intellij.notification.NotificationGroupManager import com.intellij.notification.NotificationType import com.intellij.openapi.application.ApplicationManager @@ -12,7 +14,6 @@ import com.intellij.openapi.progress.* import com.intellij.openapi.progress.impl.BackgroundableProcessIndicator import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.registry.Registry -import com.intellij.searchEverywhereMl.semantics.SemanticSearchBundle import com.intellij.util.concurrency.annotations.RequiresBackgroundThread import com.intellij.util.download.DownloadableFileService import com.intellij.util.io.Decompressor @@ -87,7 +88,7 @@ class LocalArtifactsManager { companion object { const val SEMANTIC_SEARCH_RESOURCES_DIR = "semantic-search" - private val ARTIFACTS_DOWNLOAD_TASK_NAME = SemanticSearchBundle.getMessage("search.everywhere.ml.semantic.artifacts.download.name") + private val ARTIFACTS_DOWNLOAD_TASK_NAME = EmbeddingsBundle.getMessage("ml.embeddings.artifacts.download.name") private val MODEL_VERSION = Registry.stringValue("search.everywhere.ml.semantic.model.version") private val MAVEN_ROOT = "https://packages.jetbrains.team/maven/p/ml-search-everywhere/local-models/org/jetbrains/intellij/" + @@ -104,8 +105,8 @@ class LocalArtifactsManager { private fun showDownloadErrorNotification() { NotificationGroupManager.getInstance().getNotificationGroup(NOTIFICATION_GROUP_ID) .createNotification( - SemanticSearchBundle.getMessage("search.everywhere.ml.semantic.notification.model.downloading.failed.title"), - SemanticSearchBundle.getMessage("search.everywhere.ml.semantic.notification.model.downloading.failed.content"), + EmbeddingsBundle.getMessage("ml.embeddings.notification.model.downloading.failed.title"), + EmbeddingsBundle.getMessage("ml.embeddings.notification.model.downloading.failed.content"), NotificationType.WARNING ) .notify(null) diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalEmbeddingServiceProvider.kt b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalEmbeddingServiceProvider.kt similarity index 80% rename from plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalEmbeddingServiceProvider.kt rename to platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalEmbeddingServiceProvider.kt index 0af2fa4eff21..a17063bb09a7 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/LocalEmbeddingServiceProvider.kt +++ b/platform/ml-embeddings/src/com/intellij/platform/ml/embeddings/services/LocalEmbeddingServiceProvider.kt @@ -1,10 +1,11 @@ -package com.intellij.searchEverywhereMl.semantics.services +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.platform.ml.embeddings.services import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.progress.runBlockingCancellable -import com.intellij.searchEverywhereMl.semantics.models.LocalEmbeddingService -import com.intellij.searchEverywhereMl.semantics.models.LocalEmbeddingServiceLoader +import com.intellij.platform.ml.embeddings.models.LocalEmbeddingService +import com.intellij.platform.ml.embeddings.models.LocalEmbeddingServiceLoader import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import java.lang.ref.SoftReference diff --git a/plugins/search-everywhere-ml/semantics/intellij.searchEverywhereMl.semantics.iml b/plugins/search-everywhere-ml/semantics/intellij.searchEverywhereMl.semantics.iml index 4a432ad4b313..eddefd73ac2a 100644 --- a/plugins/search-everywhere-ml/semantics/intellij.searchEverywhereMl.semantics.iml +++ b/plugins/search-everywhere-ml/semantics/intellij.searchEverywhereMl.semantics.iml @@ -15,327 +15,6 @@ - - - - - - e79840bf4b88615335b93d7985d072d0509f204630acc747fb4d5f72276fb033 - - - - - - - - - - - - - - - - - - 319198acfc325cd1bd58c86f2e29101089e5acd01fbe5a77ef5f0b5dc9aaed0f - - - - - - - - - - - - - - - - - - 12b25338d86edb40206b0f8e7ccd2af5b3a732a7d45d87484da51492b966e8ea - - - - - - - - - - - - - - - - - - 6ab9ed92053651a77c80e33e2308791858c20908f3008499c288ddb8c2aea4c8 - - - - - - - - - - - - - - - - - - 189ce05d2f1180b77c34a0e96af8ab17fe31786584397d39927baedd63e5fa91 - - - - - - - - - - - - - - - - - - 25bc178c5ac2ff702378f568835d2eb5debc158a75a69316fb979112e77fb36e - - - - - - - - - - - - - - - - - - 34f83ed0bf75767fb6f0dc75511eb3a432735aa4928f97f33d605383e9c810f5 - - - - - - - - - - - - - - - - - - 6f4aa8bbd638c4b13683998ad75f7b668e8b9c884f409a9d4b4c3fb41fa1b17f - - - - - - - - - - - - - - - - - - 735b3b100405d24a2a7fdb16e604f313fe1f34e2f846f98d44e0f3b1a8475cb4 - - - - - - - - - - - - - - - - - - 8a07c2b12df5d29ea516cffe749c652296b7191304058088abd4f8e7c083a8a2 - - - - - - - - - - - - - - - - - - b7897167e5988673d584fc2c0638b631d38078e91dea6b9870c758e6b5c3e64d - - - - - - - - - - - - - - - - - - a9f01384eedab229bd22e52bfe922141af8f543d8df64c5a526871c25424992a - - - - - - - - - - - - - - - - - - 8e9c7990b2120946da37adf24434fe3692c29919a11144fb20186c0d7169d451 - - - - - - - - - - - - - - - - - - 94d1b65da91b55b60a8c9fa5552cafe02f3cf9378f0625cf5fb726b828dc093a - - - - - - - - - - - - - - - - - - - - - - - c0ae81b5992ba0a1f300c26420cfa68104f98a880b6b2b5e464ce99e366943fb - - - - - - - - - - - - - - - - - - - - - - - 4f98ae11fded2a81a3b27a1490b9cefdbfd673d244f37b02c2704bdb440d4782 - - - - - - - - - - - - - - - - - - ae2ea06418f9d57f867f53ef8a4102f54f1f6a71c8309e4ebe89d2d71d682d0f - - - - - - - - - - - - - - - - - @@ -354,79 +33,10 @@ - - - - - - 821ebfe4817c132ea830ac2598953ef19e3579d53aab15018bf00b432d03aa45 - - - - - - - - - - - - - - - - - - - - - - - be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907 - - - - - - - - - - - - - - - - - - - - - - - 2c5d67bd29a9082f07522643d728d887f2f93012467e05c45a2079d4e3eea8bf - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/plugins/search-everywhere-ml/semantics/resources/intellij.searchEverywhereMl.semantics.xml b/plugins/search-everywhere-ml/semantics/resources/intellij.searchEverywhereMl.semantics.xml index 21fd3ea5f955..a9f134f2f2af 100644 --- a/plugins/search-everywhere-ml/semantics/resources/intellij.searchEverywhereMl.semantics.xml +++ b/plugins/search-everywhere-ml/semantics/resources/intellij.searchEverywhereMl.semantics.xml @@ -1,6 +1,10 @@ messages.searchEverywhereMlSemanticsBundle + + + + @@ -63,10 +67,6 @@ description="Highlight semantic items in Search Everywhere" key="search.everywhere.ml.semantic.highlight.items"/> - - @@ -86,10 +86,6 @@ - - diff --git a/plugins/search-everywhere-ml/semantics/resources/messages/searchEverywhereMlSemanticsBundle.properties b/plugins/search-everywhere-ml/semantics/resources/messages/searchEverywhereMlSemanticsBundle.properties index b1336c8cf2e7..41ea623255e0 100644 --- a/plugins/search-everywhere-ml/semantics/resources/messages/searchEverywhereMlSemanticsBundle.properties +++ b/plugins/search-everywhere-ml/semantics/resources/messages/searchEverywhereMlSemanticsBundle.properties @@ -11,13 +11,8 @@ search.everywhere.ml.semantic.classes.generation.label=Generating semantic searc search.everywhere.ml.semantic.classes.scanning.label=Scanning classes for semantic indexing... advanced.setting.search.everywhere.ml.semantic.classes.enable=Enable semantic search in the Classes tab -search.everywhere.ml.semantic.notification.group.name=Semantic search notifications search.everywhere.ml.semantic.actions.api.authentication.failed=Remote semantic actions API authorization failed search.everywhere.ml.semantic.open.registry=Open semantic search settings search.everywhere.ml.semantic.indexing.low.memory=Semantic search is limited due to large project size -search.everywhere.ml.semantic.artifacts.download.name=Downloading semantic search artifacts -search.everywhere.ml.semantic.notification.model.downloading.failed.title=Failed to download semantic search model -search.everywhere.ml.semantic.notification.model.downloading.failed.content=Check your internet connection - advanced.setting.search.everywhere.ml.name=Search Everywhere diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorage.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorage.kt index 17cfe3452b16..8d58e3436a97 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorage.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorage.kt @@ -1,6 +1,8 @@ package com.intellij.searchEverywhereMl.semantics.services import com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.openapi.actionSystem.ActionGroup import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.AnAction @@ -19,7 +21,6 @@ import com.intellij.openapi.util.registry.Registry import com.intellij.searchEverywhereMl.semantics.experiments.SearchEverywhereSemanticExperiments import com.intellij.searchEverywhereMl.semantics.experiments.SearchEverywhereSemanticExperiments.SemanticSearchFeature import com.intellij.searchEverywhereMl.semantics.indices.InMemoryEmbeddingSearchIndex -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.searchEverywhereMl.semantics.utils.ScoredText import com.intellij.searchEverywhereMl.semantics.utils.generateEmbedding diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorageSetup.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorageSetup.kt index 7812239fc12e..8e8ef95599aa 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorageSetup.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ActionEmbeddingsStorageSetup.kt @@ -1,5 +1,6 @@ package com.intellij.searchEverywhereMl.semantics.services +import com.intellij.platform.ml.embeddings.services.LocalEmbeddingServiceProvider import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.impl.ActionManagerImpl import com.intellij.openapi.application.ApplicationManager diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ClassEmbeddingsStorage.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ClassEmbeddingsStorage.kt index 15001b47b9ed..9a5350b48f57 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ClassEmbeddingsStorage.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/ClassEmbeddingsStorage.kt @@ -1,5 +1,7 @@ package com.intellij.searchEverywhereMl.semantics.services +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.project.Project @@ -12,7 +14,6 @@ import com.intellij.searchEverywhereMl.semantics.SemanticSearchBundle import com.intellij.searchEverywhereMl.semantics.indices.DiskSynchronizedEmbeddingSearchIndex import com.intellij.searchEverywhereMl.semantics.indices.FileIndexableEntitiesProvider import com.intellij.searchEverywhereMl.semantics.indices.IndexableEntity -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.searchEverywhereMl.semantics.utils.splitIdentifierIntoTokens import com.intellij.util.concurrency.annotations.RequiresBackgroundThread diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/DiskSynchronizedEmbeddingsStorage.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/DiskSynchronizedEmbeddingsStorage.kt index 3802b50f80ec..f11120bb1358 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/DiskSynchronizedEmbeddingsStorage.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/DiskSynchronizedEmbeddingsStorage.kt @@ -1,5 +1,6 @@ package com.intellij.searchEverywhereMl.semantics.services +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.diagnostic.debug diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/FileEmbeddingsStorage.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/FileEmbeddingsStorage.kt index d7c40cdd35f4..f77f3ceb0992 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/FileEmbeddingsStorage.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/FileEmbeddingsStorage.kt @@ -9,14 +9,14 @@ import com.intellij.openapi.project.getProjectCachePath import com.intellij.openapi.roots.ProjectFileIndex import com.intellij.openapi.startup.ProjectActivity import com.intellij.openapi.util.registry.Registry -import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFileManager import com.intellij.openapi.vfs.isFile +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.searchEverywhereMl.semantics.SemanticSearchBundle import com.intellij.searchEverywhereMl.semantics.indices.DiskSynchronizedEmbeddingSearchIndex import com.intellij.searchEverywhereMl.semantics.indices.IndexableEntity -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.searchEverywhereMl.semantics.utils.splitIdentifierIntoTokens import com.intellij.util.concurrency.annotations.RequiresBackgroundThread diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/SymbolEmbeddingStorage.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/SymbolEmbeddingStorage.kt index 3566cbe08b62..a34da9cb4d87 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/SymbolEmbeddingStorage.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/services/SymbolEmbeddingStorage.kt @@ -1,5 +1,7 @@ package com.intellij.searchEverywhereMl.semantics.services +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.project.Project @@ -12,7 +14,6 @@ import com.intellij.searchEverywhereMl.semantics.SemanticSearchBundle import com.intellij.searchEverywhereMl.semantics.indices.DiskSynchronizedEmbeddingSearchIndex import com.intellij.searchEverywhereMl.semantics.indices.FileIndexableEntitiesProvider import com.intellij.searchEverywhereMl.semantics.indices.IndexableEntity -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager.Companion.SEMANTIC_SEARCH_RESOURCES_DIR import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.searchEverywhereMl.semantics.utils.splitIdentifierIntoTokens import com.intellij.util.concurrency.annotations.RequiresBackgroundThread diff --git a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/utils/IndexingUtils.kt b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/utils/IndexingUtils.kt index eea874622f90..a815da4b48ee 100644 --- a/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/utils/IndexingUtils.kt +++ b/plugins/search-everywhere-ml/semantics/src/com/intellij/searchEverywhereMl/semantics/utils/IndexingUtils.kt @@ -1,10 +1,10 @@ package com.intellij.searchEverywhereMl.semantics.utils import ai.grazie.emb.FloatTextEmbedding +import com.intellij.platform.ml.embeddings.services.LocalEmbeddingServiceProvider import com.intellij.openapi.progress.EmptyProgressIndicator import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.progress.runBlockingCancellable -import com.intellij.searchEverywhereMl.semantics.services.LocalEmbeddingServiceProvider import kotlin.math.sqrt private const val SEPARATOR = "~" diff --git a/plugins/search-everywhere-ml/semantics/tests/intellij.searchEverywhereMl.semantics.tests.iml b/plugins/search-everywhere-ml/semantics/tests/intellij.searchEverywhereMl.semantics.tests.iml index 5d2adfad193c..89fb657a060d 100644 --- a/plugins/search-everywhere-ml/semantics/tests/intellij.searchEverywhereMl.semantics.tests.iml +++ b/plugins/search-everywhere-ml/semantics/tests/intellij.searchEverywhereMl.semantics.tests.iml @@ -16,5 +16,6 @@ + \ No newline at end of file diff --git a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticActionSearchTest.kt b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticActionSearchTest.kt index 839715b11334..6e412e3d8fc8 100644 --- a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticActionSearchTest.kt +++ b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticActionSearchTest.kt @@ -3,9 +3,9 @@ package com.intellij.searchEverywhereMl.semantics.tests import com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI import com.intellij.ide.util.gotoByName.GotoActionModel +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager import com.intellij.searchEverywhereMl.semantics.contributors.SemanticActionSearchEverywhereContributor import com.intellij.searchEverywhereMl.semantics.services.ActionEmbeddingsStorage -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.testFramework.PlatformTestUtil diff --git a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticClassSearchTest.kt b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticClassSearchTest.kt index b535655d330a..206d71d03ee9 100644 --- a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticClassSearchTest.kt +++ b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticClassSearchTest.kt @@ -2,13 +2,13 @@ package com.intellij.searchEverywhereMl.semantics.tests import com.intellij.ide.actions.searcheverywhere.PsiItemWithSimilarity import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager import com.intellij.openapi.command.WriteCommandAction import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement import com.intellij.searchEverywhereMl.semantics.contributors.SemanticClassSearchEverywhereContributor import com.intellij.searchEverywhereMl.semantics.services.ClassEmbeddingsStorage import com.intellij.searchEverywhereMl.semantics.services.IndexableClass -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.utils.editor.saveToDisk diff --git a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticFileSearchTest.kt b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticFileSearchTest.kt index 0b64b73de990..974b9a301080 100644 --- a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticFileSearchTest.kt +++ b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticFileSearchTest.kt @@ -2,13 +2,13 @@ package com.intellij.searchEverywhereMl.semantics.tests import com.intellij.ide.actions.searcheverywhere.PsiItemWithSimilarity import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager import com.intellij.openapi.command.WriteCommandAction import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile import com.intellij.searchEverywhereMl.semantics.contributors.SemanticFileSearchEverywhereContributor import com.intellij.searchEverywhereMl.semantics.services.FileEmbeddingsStorage import com.intellij.searchEverywhereMl.semantics.services.IndexableClass -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.utils.vfs.deleteRecursively diff --git a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticSymbolSearchTest.kt b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticSymbolSearchTest.kt index 1766daf238f3..fb901069bf17 100644 --- a/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticSymbolSearchTest.kt +++ b/plugins/search-everywhere-ml/semantics/tests/test/com/intellij/searchEverywhereMl/semantics/tests/SemanticSymbolSearchTest.kt @@ -2,13 +2,13 @@ package com.intellij.searchEverywhereMl.semantics.tests import com.intellij.ide.actions.searcheverywhere.PsiItemWithSimilarity import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI +import com.intellij.platform.ml.embeddings.services.LocalArtifactsManager import com.intellij.openapi.command.WriteCommandAction import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.searchEverywhereMl.semantics.contributors.SemanticSymbolSearchEverywhereContributor import com.intellij.searchEverywhereMl.semantics.services.IndexableClass -import com.intellij.searchEverywhereMl.semantics.services.LocalArtifactsManager import com.intellij.searchEverywhereMl.semantics.services.SymbolEmbeddingStorage import com.intellij.searchEverywhereMl.semantics.settings.SemanticSearchSettings import com.intellij.testFramework.PlatformTestUtil diff --git a/python/ide-common/resources/META-INF/PyCharmCorePlugin.xml b/python/ide-common/resources/META-INF/PyCharmCorePlugin.xml index 34b777fcb724..cab3ecfd7b8d 100644 --- a/python/ide-common/resources/META-INF/PyCharmCorePlugin.xml +++ b/python/ide-common/resources/META-INF/PyCharmCorePlugin.xml @@ -8,6 +8,7 @@ +