При выборе поставщика эмбеддингов есть несколько факторов, которые вы можете учитывать в зависимости от ваших потребностей и предпочтений:
Anthropic не предлагает собственную модель эмбеддингов. Один из поставщиков эмбеддингов, который имеет широкий спектр возможностей и функций, охватывающих все вышеперечисленные соображения, — это Voyage AI.
Voyage AI создаёт передовые модели эмбеддингов и предлагает специализированные модели для конкретных отраслевых областей, таких как финансы и здравоохранение, а также индивидуально дообученные модели для отдельных клиентов.
Остальная часть этого руководства посвящена Voyage AI, но вам следует оценить различных поставщиков эмбеддингов, чтобы найти наиболее подходящий вариант для вашего конкретного сценария использования.
Voyage рекомендует использовать следующие модели текстовых эмбеддингов:
Voyage 4 (последнее поколение)
| Модель | Длина контекста | Размерность эмбеддинга | Описание |
|---|---|---|---|
voyage-4-large | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Наилучшее качество универсального и многоязычного поиска. Подробности см. в блоге. |
voyage-4 | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Оптимизирована для качества универсального и многоязычного поиска. Баланс качества и эффективности. Подробности см. в блоге. |
voyage-4-lite | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Оптимизирована для задержки и стоимости. Подробности см. в блоге. |
voyage-4-nano | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Модель с открытыми весами (лицензия Apache 2.0), доступная на Hugging Face. Подробности см. в блоге. |
Предыдущее поколение
| Модель | Длина контекста | Размерность эмбеддинга | Описание |
|---|---|---|---|
voyage-3-large | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Наилучшее качество универсального и многоязычного поиска. Подробности см. в блоге. |
voyage-3.5 | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Оптимизирована для качества универсального и многоязычного поиска. Подробности см. в блоге. |
voyage-3.5-lite | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Оптимизирована для задержки и стоимости. Подробности см. в блоге. |
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.5 | 32 000 | 1024 (по умолчанию), 256, 512, 2048 | Богатая мультимодальная модель эмбеддингов, которая может векторизовать чередующиеся текст, изображения и видео. Включает поддержку видео как первая модель эмбеддингов видео производственного уровня. Подробности см. в блоге. |
voyage-multimodal-3 | 32 000 | 1024 | Богатая мультимодальная модель эмбеддингов, которая может векторизовать чередующийся текст и насыщенные содержанием изображения, такие как скриншоты PDF-файлов, слайды, таблицы, рисунки и многое другое. Подробности см. в блоге. |
Нужна помощь в выборе модели текстовых эмбеддингов? Ознакомьтесь с FAQ.
Чтобы получить доступ к эмбеддингам Voyage:
export VOYAGE_API_KEY="<your secret key>"Вы можете получить эмбеддинги, используя либо официальный Python-пакет voyageai, либо HTTP-запросы, как описано ниже.
Пакет voyageai можно установить с помощью следующей команды:
pip install -U voyageaiЗатем вы можете создать объект клиента и начать использовать его для создания эмбеддингов ваших текстов:
import voyageai
vo = voyageai.Client()
# Будет автоматически использована переменная окружения VOYAGE_API_KEY.
# Либо можно использовать vo = voyageai.Client(api_key="<ваш секретный ключ>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-4", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings будет списком из двух векторов эмбеддингов, каждый из которых содержит 1024 числа с плавающей запятой. После выполнения приведённого выше кода два эмбеддинга будут выведены на экран:
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"При создании эмбеддингов вы можете указать несколько других аргументов для функции embed().
Дополнительную информацию о Python-пакете Voyage см. в документации Voyage.
Вы также можете получить эмбеддинги, отправив запрос к Voyage HTTP API. Например, вы можете отправить HTTP-запрос через команду curl в терминале:
curl https://api.voyageai.com/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VOYAGE_API_KEY" \
-d '{
"input": ["Sample text 1", "Sample text 2"],
"model": "voyage-4"
}'Ответ, который вы получите, — это JSON-объект, содержащий эмбеддинги и информацию об использовании токенов:
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
"index": 1
}
],
"model": "voyage-4",
"usage": {
"total_tokens": 10
}
}Дополнительную информацию о Voyage HTTP API см. в документации Voyage.
Эмбеддинги Voyage доступны на AWS Marketplace. Инструкции по доступу к Voyage на AWS доступны в документации Voyage по AWS Marketplace.
Следующий краткий пример показывает, как использовать эмбеддинги.
Предположим, у вас есть небольшой корпус из шести документов для поиска
documents = [
"The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
"Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
"20th-century innovations, from radios to smartphones, centered on electronic advancements.",
"Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
"Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
"Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]Сначала используйте Voyage, чтобы преобразовать каждый документ в вектор эмбеддинга
import voyageai
vo = voyageai.Client()
# Создаём эмбеддинги для документов
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddingsЭмбеддинги позволяют выполнять семантический поиск / извлечение в векторном пространстве. Для примера запроса
query = "When is Apple's conference call scheduled?"Далее преобразуйте его в эмбеддинг и выполните поиск ближайшего соседа, чтобы найти наиболее релевантный документ на основе расстояния в пространстве эмбеддингов.
import numpy as np
# Создаём эмбеддинг запроса
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]
# Вычисляем сходство
# Эмбеддинги Voyage нормализованы до длины 1, поэтому скалярное произведение
# и косинусное сходство совпадают.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Обратите внимание, что input_type="document" и input_type="query" используются для создания эмбеддингов документа и запроса соответственно. Более подробную спецификацию можно найти в разделе Библиотека Voyage для Python.
Результатом будет 5-й документ, который действительно наиболее релевантен запросу:
Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.Если вы ищете подробный набор руководств о том, как выполнять RAG с эмбеддингами, включая векторные базы данных, ознакомьтесь с руководством по RAG.
Посетите страницу цен Voyage для получения самой актуальной информации о ценах.
Was this page helpful?