Loading...
  • Разработка
  • Администрирование
  • Модели и цены
  • Клиентские SDK
  • Справочник API
Search...
⌘K
Log in
Эмбеддинги
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Разработка/Возможности модели

Embeddings

Текстовые embeddings — это числовые представления текста, которые позволяют измерять семантическое сходство. Это руководство представляет embeddings, их приложения и способы использования моделей embeddings для задач поиска, рекомендаций и обнаружения аномалий.

Перед внедрением embeddings

При выборе поставщика embeddings следует учитывать несколько факторов в зависимости от ваших потребностей и предпочтений:

  • Размер набора данных и специфичность домена: размер набора данных обучения модели и его релевантность для домена, который вы хотите встроить. Более крупные или более специфичные для домена данные обычно дают лучшие embeddings в пределах домена
  • Производительность вывода: скорость поиска embeddings и сквозная задержка. Это особенно важный фактор для крупномасштабных производственных развертываний
  • Настройка: опции для продолжения обучения на приватных данных или специализация моделей для очень специфичных доменов. Это может улучшить производительность на уникальных словарях

Как получить embeddings с Anthropic

Anthropic не предлагает собственную модель embeddings. Одним из поставщиков embeddings, который имеет широкий спектр опций и возможностей, охватывающих все вышеупомянутые соображения, является Voyage AI.

Voyage AI создает передовые модели embeddings и предлагает настраиваемые модели для конкретных отраслей, таких как финансы и здравоохранение, или специально настроенные модели для отдельных клиентов.

Остальная часть этого руководства предназначена для Voyage AI, но вы должны оценить различные поставщиков embeddings, чтобы найти лучший вариант для вашего конкретного случая использования.

Доступные модели

Voyage рекомендует использовать следующие модели текстовых embeddings:

МодельДлина контекстаРазмерность EmbeddingОписание
voyage-3-large32,0001024 (по умолчанию), 256, 512, 2048Лучшее качество поиска общего назначения и многоязычного. См. пост в блоге для подробностей.
voyage-3.532,0001024 (по умолчанию), 256, 512, 2048Оптимизирована для качества поиска общего назначения и многоязычного. См. пост в блоге для подробностей.
voyage-3.5-lite32,0001024 (по умолчанию), 256, 512, 2048Оптимизирована для задержки и стоимости. См. пост в блоге для подробностей.
voyage-code-332,0001024 (по умолчанию), 256, 512, 2048Оптимизирована для поиска кода. См. пост в блоге для подробностей.
voyage-finance-232,0001024Оптимизирована для поиска и RAG в области финансов. См. пост в блоге для подробностей.
voyage-law-216,0001024Оптимизирована для поиска и RAG в области права и длинного контекста. Также улучшена производительность во всех доменах. См. пост в блоге для подробностей.

Кроме того, рекомендуются следующие мультимодальные модели embeddings:

МодельДлина контекстаРазмерность EmbeddingОписание
voyage-multimodal-3320001024Богатая мультимодальная модель embeddings, которая может векторизировать чередующийся текст и содержательные изображения, такие как скриншоты PDF-файлов, слайды, таблицы, рисунки и многое другое. См. пост в блоге для подробностей.

Нужна помощь в выборе модели текстовых embeddings? Ознакомьтесь с FAQ.

Начало работы с Voyage AI

Для доступа к embeddings Voyage:

  1. Зарегистрируйтесь на веб-сайте Voyage AI
  2. Получите API ключ
  3. Установите API ключ как переменную окружения для удобства:
export VOYAGE_API_KEY="<your secret key>"

Вы можете получить embeddings, используя либо официальный пакет voyageai Python, либо HTTP запросы, как описано ниже.

Библиотека Voyage Python

Пакет voyageai можно установить с помощью следующей команды:

pip install -U voyageai

Затем вы можете создать объект клиента и начать использовать его для встраивания ваших текстов:

import voyageai

vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")

texts = ["Sample text 1", "Sample text 2"]

result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])

result.embeddings будет списком двух векторов embeddings, каждый содержащий 1024 числа с плавающей точкой. После запуска приведенного выше кода два embeddings будут выведены на экран:

[-0.013131560757756233, 0.019828535616397858, ...]   # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...]  # embedding for "Sample text 2"

При создании embeddings вы можете указать несколько других аргументов функции embed().

Для получения дополнительной информации о пакете Voyage Python см. документацию Voyage.

Voyage HTTP API

Вы также можете получить embeddings, запросив 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-3.5"
  }'

Ответ, который вы получите, — это объект JSON, содержащий embeddings и использование токенов:

{
  "object": "list",
  "data": [
    {
      "embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
      "index": 0
    },
    {
      "embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
      "index": 1
    }
  ],
  "model": "voyage-3.5",
  "usage": {
    "total_tokens": 10
  }
}

Для получения дополнительной информации о Voyage HTTP API см. документацию Voyage.

AWS Marketplace

Embeddings Voyage доступны на AWS Marketplace. Инструкции по доступу к Voyage на AWS доступны в документации Voyage AWS Marketplace.

Пример быстрого старта

Следующий краткий пример показывает, как использовать embeddings.

Предположим, у вас есть небольшой корпус из шести документов для поиска

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 для преобразования каждого документа в вектор embeddings

import voyageai

vo = voyageai.Client()

# Embed the documents
doc_embds = vo.embed(documents, model="voyage-3.5", input_type="document").embeddings

Embeddings позволяют вам выполнять семантический поиск / поиск в векторном пространстве. Учитывая пример запроса,

query = "When is Apple's conference call scheduled?"

Затем преобразуйте его в embeddings и проведите поиск ближайшего соседа, чтобы найти наиболее релевантный документ на основе расстояния в пространстве embeddings.

import numpy as np

# Embed the query
query_embd = vo.embed([query], model="voyage-3.5", input_type="query").embeddings[0]

# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
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 с embeddings, включая векторные базы данных, ознакомьтесь с кулинарной книгой RAG.

FAQ

Цены

Посетите страницу цен Voyage для получения наиболее актуальной информации о ценах.

Was this page helpful?

  • Перед внедрением embeddings
  • Как получить embeddings с Anthropic
  • Доступные модели
  • Начало работы с Voyage AI
  • Библиотека Voyage Python
  • Voyage HTTP API
  • AWS Marketplace
  • Пример быстрого старта
  • FAQ
  • Цены