Перед внедрением эмбеддингов
При выборе провайдера эмбеддингов следует учитывать несколько факторов в зависимости от ваших потребностей и предпочтений:- Размер набора данных и специфика предметной области: размер набора данных для обучения модели и его релевантность для области, в которой вы хотите создавать эмбеддинги. Более крупные или специализированные данные обычно дают лучшие эмбеддинги в конкретной области
- Производительность при выводе: скорость поиска эмбеддингов и общая задержка. Это особенно важно для масштабных производственных развертываний
- Настройка: возможности дальнейшего обучения на частных данных или специализации моделей для конкретных областей. Это может улучшить работу с уникальными словарями
Как получить эмбеддинги с Anthropic
Anthropic не предлагает собственную модель эмбеддингов. Одним из провайдеров эмбеддингов, который предлагает широкий спектр возможностей, охватывающих все вышеперечисленные аспекты, является Voyage AI. Voyage AI создает современные модели эмбеддингов и предлагает настроенные модели для конкретных отраслей, таких как финансы и здравоохранение, или специальные модели, настроенные для отдельных клиентов. Остальная часть этого руководства посвящена Voyage AI, но мы рекомендуем вам оценить различных поставщиков эмбеддингов, чтобы найти наиболее подходящий вариант для вашего конкретного случая.Доступные модели
Voyage рекомендует использовать следующие модели текстовых эмбеддингов:Модель | Длина контекста | Размерность эмбеддинга | Описание |
---|---|---|---|
voyage-3-large | 32,000 | 1024 (по умолчанию), 256, 512, 2048 | Лучшее качество для общего назначения и многоязычного поиска. |
voyage-3 | 32,000 | 1024 | Оптимизирована для общего назначения и многоязычного поиска. Подробности в блоге. |
voyage-3-lite | 32,000 | 512 | Оптимизирована для низкой задержки и стоимости. Подробности в блоге. |
voyage-code-3 | 32,000 | 1024 (по умолчанию), 256, 512, 2048 | Оптимизирована для поиска кода. Подробности в блоге. |
voyage-finance-2 | 32,000 | 1024 | Оптимизирована для финансового поиска и RAG. Подробности в блоге. |
voyage-law-2 | 16,000 | 1024 | Оптимизирована для юридического и длинного контекста поиска и RAG. Также улучшена производительность во всех областях. Подробности в блоге. |
Модель | Длина контекста | Размерность эмбеддинга | Описание |
---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Богатая мультимодальная модель эмбеддингов, способная векторизовать чередующийся текст и содержательные изображения, такие как скриншоты PDF, слайды, таблицы, рисунки и многое другое. Подробности в блоге. |
Начало работы с Voyage AI
Для доступа к эмбеддингам Voyage:- Зарегистрируйтесь на сайте Voyage AI
- Получите API ключ
- Установите API ключ как переменную окружения для удобства:
voyageai
Python пакет, либо HTTP запросы, как описано ниже.
Python пакет Voyage
Пакетvoyageai
можно установить с помощью следующей команды:
result.embeddings
будет списком из двух векторов эмбеддингов, каждый из которых содержит 1024 числа с плавающей точкой. После выполнения вышеуказанного кода, два эмбеддинга будут выведены на экран:
embed()
. Подробнее о спецификации можно прочитать здесь
HTTP API Voyage
Вы также можете получить эмбеддинги, отправив HTTP запрос через командуcurl
в терминале:
AWS Marketplace
Эмбеддинги Voyage также доступны на AWS Marketplace. Инструкции по доступу к Voyage на AWS доступны здесь.Пример быстрого старта
Теперь, когда мы знаем, как получить эмбеддинги, давайте рассмотрим краткий пример. Предположим, у нас есть небольшой корпус из шести документов для поискаinput_type="document"
и input_type="query"
для создания эмбеддингов документа и запроса соответственно. Более подробную спецификацию можно найти здесь.
Результатом будет 5-й документ, который действительно наиболее релевантен запросу:
FAQ
Почему эмбеддинги Voyage имеют превосходное качество?
Почему эмбеддинги Voyage имеют превосходное качество?
Модели эмбеддингов опираются на мощные нейронные сети для захвата и сжатия семантического контекста, подобно генеративным моделям. Команда опытных исследователей AI в Voyage оптимизирует каждый компонент процесса создания эмбеддингов, включая:
- Архитектуру модели
- Сбор данных
- Функции потерь
- Выбор оптимизатора
Какие модели эмбеддингов доступны и какую следует использовать?
Какие модели эмбеддингов доступны и какую следует использовать?
Для эмбеддингов общего назначения мы рекомендуем:
voyage-3-large
: Лучшее качествоvoyage-3-lite
: Наименьшая задержка и стоимостьvoyage-3
: Сбалансированная производительность с превосходным качеством поиска по конкурентоспособной цене
input_type
для указания типа запроса или документа.Модели для конкретных областей:- Юридические задачи:
voyage-law-2
- Код и программная документация:
voyage-code-3
- Финансовые задачи:
voyage-finance-2
Какую функцию сходства следует использовать?
Какую функцию сходства следует использовать?
Эмбеддинги Voyage поддерживают:
- Сходство по скалярному произведению
- Косинусное сходство
- Евклидово расстояние
- Косинусное сходство равно скалярному произведению (вычисление скалярного произведения быстрее)
- Косинусное сходство и евклидово расстояние дают идентичные ранжирования
Как следует использовать параметр input_type?
Как следует использовать параметр input_type?
Для задач поиска, включая RAG, всегда указывайте Для документов:Для классификации, кластеризации или других задач MTEB с использованием
input_type
как “query” или “document”. Эта оптимизация улучшает качество поиска через специализированные префиксы промптов:Для запросов:Никогда не опускайте
input_type
и не устанавливайте его в None
для задач поиска.voyage-large-2-instruct
, следуйте инструкциям в нашем GitHub репозитории.Какие варианты квантования доступны?
Какие варианты квантования доступны?
Квантование уменьшает хранение, память и затраты путем преобразования значений высокой точности в форматы с меньшей точностью. Доступные типы выходных данных (
Пример: Бинарное квантование преобразует восемь значений эмбеддинга в одно 8-битное целое число:
output_dtype
):Тип | Описание | Уменьшение размера |
---|---|---|
float | 32-битное число с плавающей точкой одинарной точности (по умолчанию) | Нет |
int8 /uint8 | 8-битные целые числа (-128 до 127 / 0 до 255) | 4x |
binary /ubinary | Упакованные однобитные значения | 32x |
Бинарные типы используют 8-битные целые числа для представления упакованных битов, при этом
binary
использует метод смещенного двоичного кода.Как можно усечь матрёшка-эмбеддинги?
Как можно усечь матрёшка-эмбеддинги?
Матрёшка-эмбеддинги содержат представления от грубых до точных, которые можно усечь, сохранив ведущие размерности. Вот как усечь 1024D векторы до 256D: