/ Модель

Характеристики

Контекст
2 048 токенов
Параметры
152 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
CodeModernBERT-Owl
Библиотека
sentence-transformers
Опубликована
25 мар 2025

CodeSearch-ModernBERT-Owl

ЭмбеддингиТекст → embedding6 профессий

Модель создаёт эмбеддинги кода и документации для семантического поиска и сопоставления по смыслу.

117скачиваний за 30 дней3лайкавеса обновлены3 апр 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Shuu12121/CodeSearch-ModernBERT-Owl — модель Sentence Transformers, дообученная автором на базе Shuu12121/CodeModernBERT-Owl для поиска кода. Она сопоставляет фрагменты кода с документацией по смысловой близости и формирует эмбеддинги размерностью 768, которые можно сравнивать косинусной мерой. Модель построена на архитектуре ModernBERT, содержит около 151,6 млн параметров и принимает последовательности длиной до 2048 токенов.

Модель предназначена для семантического поиска по репозиториям и ранжирования документации или кода по запросу. В README приведён результат 76,89 на CodeSearchNet; он относится к указанной в карточке оценке, а сравнения с другими моделями в README не полностью согласуются с приведённой таблицей. Обучение включает наборы CodeSearchNet, Java и Rust code search, а также CodeXGlue. Лицензия — Apache-2.0.

Сценарии применения

  • поиск фрагментов кода по текстовому запросу
  • поиск документации, соответствующей коду
  • ранжирование фрагментов кода по релевантности запросу
  • поиск похожих фрагментов кода в репозитории

Ограничения

Модель специализирована для поиска кода и сходства между кодом и документацией; для других задач её применение не заявлено. Максимальная длина последовательности составляет 2048 токенов.

Для каких профессий подходит6

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

SentenceTransformer based on Shuu12121/CodeModernBERT-Owl🦉

This model is a sentence-transformers model fine-tuned from Shuu12121/CodeModernBERT-Owl, which is a ModernBERT model specifically designed for code, pre-trained from scratch by me.
It is specifically designed for code search and efficiently calculates semantic similarity between code snippets and documentation.
One of the key features of this model is its maximum sequence length of 2048 tokens, which allows it to handle moderately long code snippets and documentation.
Despite being a relatively small model with about 150 million parameters, it demonstrates remarkable performance in code search tasks.


このモデルは、私が一から事前学習を行ったコード特化のModernBERTモデルである Shuu12121/CodeModernBERT-Owl をベースにファインチューニングされた sentence-transformers モデルです。
特にコードサーチに特化しており、コード片やドキュメントから効果的に意味的類似性を計算できる ように設計されています。
本モデルの特徴として、最大シーケンス長が2048トークンに対応しており、中程度の長さのコード片やドキュメントにも対応可能です。
150M程度と比較的小さいモデルながらも、コード検索タスクにおいて高い性能を発揮します。


Model Evaluation / モデル評価

CoIR Evaluation Results / CoIRにおける評価結果

Despite being a relatively small model with around 150M parameters, this model achieved an impressive 76.89 on the CodeSearchNet benchmark, demonstrating its high performance in code search tasks.
Since this model is specialized for code search, it does not support other tasks, and thus evaluation scores for other tasks are not provided.
In the CodeSearchNet task, this model outperforms many well-known models, as shown in the comparison table below.

このモデルは、150M程度と比較的小さいモデルながら、コードサーチタスクにおける評価指標である CodeSearchNet で 76.89 を達成しました。
他のタスクには対応していないため、評価値は提供されていません。
CodeSearchNetタスクにおける評価値としては、他の有名なモデルと比較しても高いパフォーマンスを示しています。

Model NameCodeSearchNet Score
Shuu12121/CodeModernBERT-Owl76.89
Salesforce/SFR-Embedding-Code-2B_R73.5
CodeSage-large-v294.26
Salesforce/SFR-Embedding-Code-400M_R72.53
CodeSage-large90.58
Voyage-Code-00281.79
E5-Mistral54.25
E5-Base-v267.99
OpenAI-Ada-00274.21
BGE-Base-en-v1.569.6
BGE-M343.23
UniXcoder60.2
GTE-Base-en-v1.543.35
Contriever34.72

Model Details / モデル詳細

  • Model Type / モデルタイプ: Sentence Transformer
  • Base Model / ベースモデル: Shuu12121/CodeModernBERT-Owl
  • Maximum Sequence Length / 最大シーケンス長: 2048 tokens
  • Output Dimensions / 出力次元: 768 dimensions
  • Similarity Function / 類似度関数: Cosine Similarity
  • License / ライセンス: Apache-2.0

Usage / 使用方法

Installation / インストール

To install Sentence Transformers, run the following command:
Sentence Transformers をインストールするには、以下のコマンドを実行します。

pip install -U sentence-transformers

Model Loading and Inference / モデルのロードと推論

from sentence_transformers import SentenceTransformer

# Load the model / モデルをダウンロードしてロード
model = SentenceTransformer("Shuu12121/CodeSearch-ModernBERT-Owl")

# Example sentences for inference / 推論用の文リスト
sentences = [
    'Encrypts the zip file',
    'def freeze_encrypt(dest_dir, zip_filename, config, opt):\n    \n    pgp_keys = grok_keys(config)\n    icefile_prefix = "aomi-%s" % \\\n                     os.path.basename(os.path.dirname(opt.secretfile))\n    if opt.icefile_prefix:\n        icefile_prefix = opt.icefile_prefix\n\n    timestamp = time.strftime("%H%M%S-%m-%d-%Y",\n                              datetime.datetime.now().timetuple())\n    ice_file = "%s/%s-%s.ice" % (dest_dir, icefile_prefix, timestamp)\n    if not encrypt(zip_filename, ice_file, pgp_keys):\n        raise aomi.exceptions.GPG("Unable to encrypt zipfile")\n\n    return ice_file',
    'def transform(self, sents):\n        \n\n        def convert(tokens):\n            return torch.tensor([self.vocab.stoi[t] for t in tokens], dtype=torch.long)\n\n        if self.vocab is None:\n            raise Exception(\n                "Must run .fit() for .fit_transform() before " "calling .transform()."\n            )\n\n        seqs = sorted([convert(s) for s in sents], key=lambda x: -len(x))\n        X = torch.LongTensor(pad_sequence(seqs, batch_first=True))\n        return X',
]

# Generate embeddings / 埋め込みベクトルの生成
embeddings = model.encode(sentences)
print(embeddings.shape)  # Output: [3, 768]

# Calculate similarity scores / 類似度スコアの計算
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)  # Output: [3, 3]

Library Versions / ライブラリバージョン

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.50.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.5.2
  • Datasets: 3.4.1
  • Tokenizers: 0.21.1

Citation / 引用情報

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
ModernBertModel
Ревизия весов
282490c

0 моделей