Mistral: Codestral Embed 2505
Codestral Embed 2505 представляет код и запросы на естественном языке как векторы для поиска по репозиторию и извлечения контекста для помощников по программированию. Производитель документирует контекст 8192 токена, настраиваемые размерности до 3072 и выходные форматы с плавающей точкой, целочисленные или с битовой упаковкой.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Codestral Embed 2505 — модель эмбеддингов Mistral AI, специализированная на поиске кода. Она получает текст с исходным кодом или запросом о коде на естественном языке и возвращает числовые векторы. Производитель позиционирует её для поиска по репозиторию, извлечения контекста для помощников по программированию, анализа сходства и дубликатов и группировки кода по функциональности или структуре. Фиксированный идентификатор выпуска — codestral-embed-2505.
Вход и представление
Вход с кодом может быть функцией, связанным исходным фрагментом или другой осмысленной единицей репозитория. Запрос на естественном языке может описывать искомое поведение вместо точного имени символа. Эмбеддинг представляет этот вход для сравнения; модель не генерирует новую реализацию и не выполняет полученный код.
Официальный выпуск документирует полный входной контекст 8192 токена. Для поиска производитель рекомендует части примерно по 3000 символов с перекрытием 1000 символов, отмечая, что более крупные части могут ухудшать поиск. Это рекомендации по подготовке к поиску, а не токенный лимит в 3000 символов. Сохраняйте связь каждого подготовленного элемента с файлом, символом и местоположением источника, чтобы приложение после поиска могло вернуть нужный код.
Точность и размерности вывода
Руководство по эмбеддингам кода документирует выходные типы float, int8, uint8, binary и ubinary. Float использует 32-битные значения одинарной точности. Int8 использует знаковые 8-битные целые числа от -128 до 127, а uint8 — беззнаковые 8-битные значения от 0 до 255. Binary и ubinary хранят квантованные однобитные значения в упакованных 8-битных элементах, используя знаковые и беззнаковые контейнеры соответственно.
Представление с битовой упаковкой меняет длину возвращённого списка: руководство описывает один упакованный элемент на каждые восемь логических измерений эмбеддинга. Поэтому сравнение с учётом формата отличается от трактовки упакованных байтов как обычных координат с плавающей точкой. Храните выбранный тип вместе с вектором и используйте одинаковое представление для индексированного кода и его запроса.
Документация параметров задаёт размерность по умолчанию 1536 и максимум 3072. Измерения упорядочены по релевантности, и производитель описывает сохранение выбранного количества первых измерений как способ выбора размера представления. Последовательно выбирайте размерность для хранимой коллекции и новых запросов. Более короткое или квантованное представление меняет хранение и поведение сравнения; оно не увеличивает входной контекст и не превращает модель в генератор кода.
Программирование с использованием результатов поиска
Первый сценарий выпуска — извлечение контекста для дополнения, редактирования или объяснения кода. Готовьте осмысленные единицы кода и сохраняйте ревизию репозитория и идентификаторы источников. Вопрос об обработке конкретной ошибки может найти связанные функции, которые приложение затем передаст модели программирования вместе с реальным запросом изменения.
Практический результат — ранжированный набор исходных фрагментов с путями файлов, символами и содержимым, необходимым для понимания их поведения. Найденные фрагменты может открыть разработчик или получить ассистент. Codestral Embed выполняет этап представления; отдельный компонент выбирает результаты, а генеративная модель пишет объяснение или предлагаемый код.
Семантический поиск и сходство
Производитель описывает поиск кода по запросам на естественном языке или в виде кода. Разработчик может искать реализацию поведения, даже когда имя функции отличается от формулировки запроса. Включайте поведение и условия, различающие целевую реализацию; общий запрос о целой подсистеме может найти связанные материалы без разрешения конкретного вопроса.
Выпуск также описывает нахождение почти дублирующегося или функционально похожего кода при лексических различиях. Такие результаты помогают найти повторно используемую реализацию или определить код для дальнейшей проверки. Сходство в пространстве эмбеддингов — сигнал рассмотреть источник; оно не устанавливает идентичного поведения двух фрагментов для каждого входа.
Кластеризация, аналитика и сравнение
Эмбеддинги кода можно использовать для группировки по функциональности или структуре и изучения состава репозитория. Сохраняйте исходные фрагменты и идентификаторы доступными, чтобы группу мог интерпретировать человек или последующий этап приложения. Кластер — группировка на основе представления, а не автоматически проверенное описание архитектуры.
Примеры производителя с векторами с плавающей точкой используют эмбеддинги с единичной нормой, для которых косинусное сходство, скалярное произведение и евклидово расстояние дают согласованное ранжирование. Квантованный вывод и вывод с битовой упаковкой должны сохранять собственную обработку формата вместо наследования предположения о сырых координатах с плавающей точкой. Опубликованный эндпоинт также сохраняет индексы входов, помогая удерживать связь каждого вектора с исходным элементом.
Издание и практические границы
Страница конкретной модели перечисляет процессы эмбеддингов и пакетной обработки с обозначением контекста 8k, а выпуск даёт значение 8192 токена. Сохраняйте именованное издание 2505, выбранные выходные размерность и тип на всём пути коллекции и запросов. Это векторный выход для кода, отдельный от дополнения текста Codestral и текстовой модели Mistral Embed с фиксированной размерностью.
Готовьте единицы кода с нужным поведением, храните их исходные местоположения и формулируйте вопрос о том, что нужно найти. Полезный артефакт — извлекаемое представление, связанное с реальным кодом, которое поддерживает последующий этап объяснения, редактирования или проверки разработчиком, не выполняя сам этот этап.
Ailoot Ultra · Эмбеддинги POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Начало
Codestral Embed 2505 представляет код и запросы на естественном языке как векторы для поиска по репозиторию и извлечения контекста для помощников по программированию. Производитель документирует контекст 8192 токена, настраиваемые размерности до 3072 и выходные форматы с плавающей точкой, целочисленные или с битовой упаковкой.
- Допустимые входные данные
- Текст · token_ids
- Результаты
- embedding
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Эмбеддинги POST /v1/embeddings
- Входные данные
text,token_ids- Результат
embedding- Контекст
- 8 192 tokens
- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения mistralai/codestral-embed-2505 | По умолчанию— |
Полеinput | Типstring|string[]|integer[]|integer[][] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 Условия: Непустой однородный пакет. ID токенов — неотрицательные целые числа. Входной бюджет: Максимум: 8 192 · Текстовая единица: байты UTF8 · Единица токенов: элементы массива токенов | По умолчанию— |
Полеencoding_format | Типstring | ТребованиеНеобязательно | Значения и ограничения float | По умолчаниюfloat |
Полеdimensions | Типinteger | ТребованиеНе поддерживается | Значения и ограничения Минимум: 1 | По умолчанию— |
Полеuser | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеsession_id | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеtrace | Типjson_value | ТребованиеНеобязательно | Значения и ограничения Условия: Source допускает это поле метаданных JSON; точная семантика у исходного поставщика зависит от модели. | По умолчанию— |
Полеprovider | Типobject | ТребованиеНеобязательно | Значения и ограничения Условия: provider.options отклоняется | По умолчанию— |
Сочетания входных материалов
text_to_embedding
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, input |
Параметрinput_shapes | Контрактstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Параметрencoding_format | Контрактfloat |
Параметрdimensions_override | Контрактfalse |
Параметрmax_input_budget_units | Контракт8192 |
Параметрmultimodal_objects | Контрактfalse |
Параметрmaterial_types | Контрактtext, token_ids |
Жизненный цикл: synchronous_json
Сохраняйте индекс и размерность каждого вектора.
Название мультимодальной модели не означает допуск объектов изображений на этом конкретном маршруте.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Стандартный тариф При выборе быстрого режима
- Режим flex
- Стандартный тариф При выборе режима flex
- Максимальная интенсивность рассуждений
- Стандартный тариф При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.0003 / 1K токенов Выход · Выходные токены $0 / 1K токенов Вход · Чтение кэша — / 1K токенов Вход · Запись в кэш — / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Эмбеддинги
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/codestral-embed-2505", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='mistralai/codestral-embed-2505',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Получить и сохранить результаты
Ailoot Ultra · Эмбеддинги
json
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте каждый вектор с его индексом. Число векторов должно совпадать с числом входных элементов; размерности должны быть согласованы.
Если нужно проверить исходный ответ
Отдельный эндпоинт заданий эмбеддингов не вводится.
Поля ответа
| Поле | Тип |
|---|---|
Полеobject | Типstring |
Полеmodel | Типstring |
Полеdata[].index | Типinteger |
Полеdata[].embedding | Типfinite float[] |
Полеusage | Типobject |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra mistralai/codestral-embed-2505
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Mistral: Codestral Embed 2505
- Какие входные данные и результаты доступны?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Какие поля использует запрос?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Какие ограничения действуют?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(байты UTF8);input.min_items:1