Views
No views yet
Shuu12121/CodeModernBERT-Crow をベースにした Sentence Transformer モデルであり、特に多言語コード検索タスクにおいて高い性能を発揮するようにファインチューニングされています。Shuu12121/CodeModernBERT-Crow, fine-tuned for high performance on multilingual code search tasks.CodeSearch-ModernBERT-Crow-Plus は、Massive Text Embedding Benchmark (MTEB) における以下のタスクで高い順位を記録しています:
現在の順位はLeaderboardはこちらでご確認してください| タスク名 | nDCG@10 スコア | 順位(2025年4月時点) |
|---|---|---|
| CodeSearchNetRetrieval | 0.89296 | 第8位 / 146 モデル中 |
| COIRCodeSearchNetRetrieval | 0.79884 | 第5位 / 15 モデル中 |
.py または .ipynb ファイルから関数・コードセルを抽出CodeSearch-ModernBERT-Crow-Plus は、自然言語のクエリと複数のプログラミング言語(Python, Java, JavaScript, PHP, Ruby, Go, Rust)のコードスニペット(主に関数レベル)間の意味的な類似性を捉えるために設計された Sentence Transformer モデルです。ベースモデルである CodeModernBERT-Crow の強力なコード理解能力を継承し、コード検索や類似性判定タスクに最適化されています。CodeSearch-ModernBERT-Crow-Plus is a Sentence Transformer model designed to capture the semantic similarity between natural language queries and code snippets (primarily at the function level) across multiple programming languages (Python, Java, JavaScript, PHP, Ruby, Go, Rust). It inherits the strong code understanding capabilities of its base model, CodeModernBERT-Crow, and is optimized for code search and similarity tasks.sentence-transformers ライブラリを使って簡単に利用できます。sentence-transformers library.1from sentence_transformers import SentenceTransformer
2import torch
3
4# モデルのロード / Load the model
5model = SentenceTransformer("Shuu12121/CodeSearch-ModernBERT-Crow-Plus")
6
7# エンコードしたいテキスト(コードまたは自然言語) / Texts to encode (code or natural language)
8code_snippets = [
9 "def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)",
10 "function binarySearch(arr, target) { let left = 0, right = arr.length - 1; while (left <= right) { const mid = Math.floor((left + right) / 2); if (arr[mid] === target) return mid; if (arr[mid] < target) left = mid + 1; else right = mid - 1; } return -1; }"
11]
12
13natural_language_queries = [
14 "calculate the factorial of a number recursively",
15 "find an element in a sorted array using binary search"
16]
17
18# エンベディングの取得 / Get embeddings
19code_embeddings = model.encode(code_snippets)
20query_embeddings = model.encode(natural_language_queries)
21
22print("Code Embeddings Shape:", code_embeddings.shape)
23print("Query Embeddings Shape:", query_embeddings.shape)
24
25# 類似度の計算(例:コサイン類似度) / Calculate similarity (e.g., cosine similarity)
26# Requires a similarity function, e.g., from sentence_transformers.util or sklearn.metrics.pairwise
27# from sentence_transformers.util import cos_sim
28# similarities = cos_sim(query_embeddings, code_embeddings)
29# print(similarities)ndcg_at_1: 0.8135ndcg_at_3: 0.8781ndcg_at_5: 0.8868ndcg_at_10: 0.8930ndcg_at_20: 0.8947ndcg_at_100: 0.8971ndcg_at_1000: 0.8995map_at_10: 0.8705recall_at_10: 0.9610mrr_at_10: 0.8705ndcg_at_1: 0.7152ndcg_at_3: 0.7762ndcg_at_5: 0.7885ndcg_at_10: 0.7988ndcg_at_20: 0.8056ndcg_at_100: 0.8134ndcg_at_1000: 0.8172map_at_10: 0.7729recall_at_10: 0.8794mrr_at_10: 0.7729Shuu12121/CodeModernBERT-Crow の CodeSearchNet Test Split における MRR@100 スコアは以下の通りです(固定評価スクリプト使用)。Shuu12121/CodeModernBERT-Crow on the CodeSearchNet Test Split (using a fixed evaluation script) are:| 言語 / Language | Python | Java | JavaScript | PHP | Ruby | Go |
|---|---|---|---|---|---|---|
| MRR@100 | 0.9372 | 0.8642 | 0.8118 | 0.8388 | 0.8392 | 0.8522 |
044a7a4b552f86e284817234c336bccf16f895ce.