/ Модель

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

Контекст
8 192 токена
Параметры
434 млн
Лицензия
CC BY-NC 4.0
Архитектура
new · dense
Опубликована
16 янв 2025

SFR-Embedding-Code-400M_R

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

Модель встраиваний Salesforce Research для многоязычного поиска и извлечения информации по коду и тексту.

11 926скачиваний за 30 дней36лайковвеса обновлены24 янв 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SFR-Embedding-Code-400M_R — модель встраиваний Salesforce Research для поиска по коду и тексту. Версия содержит около 433,9 млн параметров, поддерживает контекст до 8192 токенов и распространяется в форматах Safetensors и ONNX.

Модель предназначена для многоязычного и многозадачного поиска: она преобразует текстовые запросы и код в эмбеддинги, которые можно использовать для поиска релевантных фрагментов кода и других задач извлечения информации. В README семейство SFR-Embedding-Code описано как превосходящее ряд открытых моделей на задачах поиска по коду; приведённый результат CoIR относится к модели на 2 млрд параметров, поэтому его нельзя напрямую считать оценкой этой версии на 400 млн параметров.

Модель разработана Salesforce Research. README указывает, что выпуск предназначен для исследований и требует самостоятельной оценки точности, безопасности и справедливости перед применением. Лицензия — CC BY-NC 4.0, которая ограничивает коммерческое использование.

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

  • поиск фрагментов кода по текстовому запросу
  • поиск кода по описанию на естественном языке
  • поиск похожих фрагментов кода
  • извлечение релевантной информации из коллекции кода
  • построение эмбеддингов кода и текстовых запросов

Ограничения

README описывает результаты CoIR для версии семейства с 2 млрд параметров, а не для этого чекпойнта на 400 млн параметров. Выпуск заявлен для исследовательских целей; перед применением рекомендуется отдельно оценить качество, безопасность и справедливость, а лицензия CC BY-NC 4.0 ограничивает коммерческое использование.

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

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

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

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

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

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

Открыть на Hugging Face

SFR-Embedding by Salesforce Research.

The Salesforce/SFR-Embedding-Code is a generalist embedding model family for multilingual and multi-task code and Text retrieval. It demonstrates superior performance compared to various open-source code embedding models across multiple code retrieval tasks.

Check out our paper for more details!

Ethical Considerations

This release is for research purposes only in support of an academic paper. Our models, datasets, and code are not specifically designed or evaluated for all downstream purposes. We strongly recommend users evaluate and address potential concerns related to accuracy, safety, and fairness before deploying this model. We encourage users to consider the common limitations of AI, comply with applicable laws, and leverage best practices when selecting use cases, particularly for high-risk scenarios where errors or misuse could significantly impact people’s lives, rights, or safety. For further guidance on use cases, refer to our AUP and AI AUP.

License Statement:

Users need to make their own assessment regarding any obligations or responsibilities under the corresponding licenses or terms and conditions pertaining to the original datasets and data. This release is for research purposes only in support of an academic paper.

Performance on CoIR Benchmark

ModelModel SizeCoIR AVG (NDCG@10)
SFR-Embedding-Code2B67.4
CodeSage-Large-v21.3B64.2
CodeSage-Large1.3B61.0
SFR-Embedding-Code400M61.9
CodeRankEmbed137M60.1
CodeSage-Base356M57.5
Voyage-Code-002-56.3
CodeSage-Small130M54.4

SFR-Embedding Team († indicates co-leaders)

  • Ye Liu
  • Rui Meng
  • Shafiq Rayhan Joty
  • Silvio Savarese
  • Caiming Xiong †
  • Yingbo Zhou †
  • Semih Yavuz †

How to run

Transformers

import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer

input_texts = [
    "how to implement quick sort in Python?",
    "def quick_sort(arr):\n    if len(arr) <= 1:\n        return arr\n    pivot = arr[len(arr) // 2]\n    left = [x for x in arr if x < pivot]\n    middle = [x for x in arr if x == pivot]\n    right = [x for x in arr if x > pivot]\n    return quick_sort(left) + middle + quick_sort(right)",
    "def bubble_sort(arr):\n    n = len(arr)\n    for i in range(n):\n        for j in range(0, n-i-1):\n            if arr[j] > arr[j+1]:\n                arr[j], arr[j+1] = arr[j+1], arr[j]\n    return arr",
]

model_path = 'Salesforce/SFR-Embedding-Code-400M_R'
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True)

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=8192, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = outputs.last_hidden_state[:, 0]

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:1] @ embeddings[1:].T) * 100
print("Similarity Scores:", scores.tolist())
# Similarity Scores: [[74.84745025634766, 65.39266967773438]]

Sentence Transformers

Requires sentence_transformers>=2.7.0

from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

sentences = [
    "how to implement quick sort in Python?",
    "def quick_sort(arr):\n    if len(arr) <= 1:\n        return arr\n    pivot = arr[len(arr) // 2]\n    left = [x for x in arr if x < pivot]\n    middle = [x for x in arr if x == pivot]\n    right = [x for x in arr if x > pivot]\n    return quick_sort(left) + middle + quick_sort(right)",
    "def bubble_sort(arr):\n    n = len(arr)\n    for i in range(n):\n        for j in range(0, n-i-1):\n            if arr[j] > arr[j+1]:\n                arr[j], arr[j+1] = arr[j+1], arr[j]\n    return arr",
]

model = SentenceTransformer('Salesforce/SFR-Embedding-Code-400M_R', trust_remote_code=True)
embeddings = model.encode(sentences)
similarities = cos_sim(embeddings[0], embeddings[1:])
print(similarities)
# tensor([[0.7485, 0.6539]])

Citation

@article{liu2024codexembed,
  title={CodeXEmbed: A Generalist Embedding Model Family for Multiligual and Multi-task Code Retrieval},
  author={Liu, Ye and Meng, Rui and Jot, Shafiq and Savarese, Silvio and Xiong, Caiming and Zhou, Yingbo and Yavuz, Semih},
  journal={arXiv preprint arXiv:2411.12644},
  year={2024}
}

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
NewModel
Ревизия весов
cb950dc

0 моделей