[ml-completion] C++: initial experimental model v0.1.1

(cherry picked from commit 22e57bd2fa0c48d60b6a8e3510d45780c8dfd2b6)

IJ-MR-7489

GitOrigin-RevId: 2db1ba41ed6d3fa4ba7578f86412d4627e6c29e3
This commit is contained in:
Alexey Kalina
2021-03-24 12:46:19 +00:00
committed by intellij-monorepo-bot
parent 48978184b0
commit b5b20e9d29
7 changed files with 35 additions and 0 deletions
@@ -643,6 +643,7 @@ class CommunityLibraryLicenses {
jetbrainsLibrary("change-reminder-prediction-model"),
jetbrainsLibrary("completion-log-events"),
jetbrainsLibrary("completion-ranking-cpp-exp"),
jetbrainsLibrary("completion-ranking-dart-exp"),
jetbrainsLibrary("completion-ranking-go-exp"),
jetbrainsLibrary("completion-ranking-java"),
@@ -141,5 +141,15 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="completion-ranking-cpp-exp" type="repository">
<properties maven-id="org.jetbrains.intellij.deps.completion:completion-ranking-cpp:0.1.1" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-cpp/0.1.1/completion-ranking-cpp-0.1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
@@ -27,5 +27,6 @@
<completion.ml.model implementation="com.jetbrains.completion.ml.ranker.ExperimentTypeScriptMLRankingProvider"/>
<completion.ml.model implementation="com.jetbrains.completion.ml.ranker.ExperimentDartMLRankingProvider"/>
<completion.ml.model implementation="com.jetbrains.completion.ml.ranker.ExperimentSwiftMLRankingProvider"/>
<completion.ml.model implementation="com.jetbrains.completion.ml.ranker.ExperimentCidrMLRankingProvider"/>
</extensions>
</idea-plugin>
@@ -10,3 +10,4 @@ ml.completion.experiment.model.js=JavaScript
ml.completion.experiment.model.ts=TypeScript
ml.completion.experiment.model.dart=Dart
ml.completion.experiment.model.swift=Swift
ml.completion.experiment.model.cidr=C/C++
@@ -0,0 +1,14 @@
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.completion.ml.ranker
import com.intellij.completion.ml.ranker.ExperimentModelProvider
import com.intellij.internal.ml.catboost.CatBoostJarCompletionModelProvider
import com.intellij.lang.Language
class ExperimentCidrMLRankingProvider : CatBoostJarCompletionModelProvider(
CompletionRankingModelsBundle.message("ml.completion.experiment.model.cidr"), "cpp_features_exp", "cpp_model_exp"), ExperimentModelProvider {
override fun isLanguageSupported(language: Language): Boolean = language.id.compareTo("ObjectiveC", ignoreCase = true) == 0
override fun experimentGroupNumber(): Int = 13
}
@@ -42,4 +42,7 @@ class MetadataConsistencyTest {
@Test
fun testSwiftMetadata() = ExperimentSwiftMLRankingProvider().assertModelMetadataConsistent()
@Test
fun testCidrMetadata() = ExperimentCidrMLRankingProvider().assertModelMetadataConsistent()
}
@@ -104,6 +104,11 @@
"id": "C#",
"experimentBucketsCount": 8,
"includeGroups": [ 7, 8, 12]
},
{
"id": "objectivec",
"experimentBucketsCount": 4,
"includeGroups": [ 7, 12, 13]
}
]
}