0Pricing
AI Agents · Урок

Создание эмбеддингов с text-embedding-3

Используйте OpenAI text-embedding-3-small/large, чтобы преобразовывать строки в векторы размерностью 1536 или 3072.

«Создание эмбеддингов с text-embedding-3» — бесплатный урок AI Agents на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Модели эмбеддингов OpenAI

OpenAI предлагает две модели эмбеддингов для рабочей среды:

  • text-embedding-3-small — размерность 1536, низкая стоимость, высокая скорость
  • text-embedding-3-large — размерность 3072, более высокое качество, меньшая скорость

Используйте малую модель в большинстве случаев, а большую — только когда качество важнее стоимости.

Ваш первый эмбеддинг

Одна строка кода SDK:

from openai import OpenAI
client = OpenAI()

resp = client.embeddings.create(
    model='text-embedding-3-small',
    input='Hello, world!'
)
vector = resp.data[0].embedding
print(len(vector))      # 1536

Пакетное создание эмбеддингов

API поддерживает списки, что значительно быстрее последовательных одиночных вызовов:

texts = ['cat', 'dog', 'pizza', 'sushi']
resp = client.embeddings.create(
    model='text-embedding-3-small',
    input=texts
)
vectors = [d.embedding for d in resp.data]
# vectors[0] is for 'cat', vectors[1] for 'dog', etc.

Ограничения на количество токенов

Для каждого входного текста действует максимальное ограничение на количество токенов (8192 для text-embedding-3). Сначала длинные документы нужно разделить на фрагменты.

Уменьшение размерности

Можно запросить меньше измерений (эмбеддинги Матриошки), что удобно для экономии места:

resp = client.embeddings.create(
    model='text-embedding-3-large',
    input='Hello',
    dimensions=512    # default would be 3072
)

Стоимость

На момент написания:

  • text-embedding-3-small: $0.02 за 1M токенов
  • text-embedding-3-large: $0.13 за 1M токенов

Создание эмбеддингов для 1M слов стоит примерно $0.025 с малой моделью — практически бесплатно.

Создайте эмбеддинги один раз и используйте их всегда

Эмбеддинги не меняются при повторном создании, поэтому их можно вычислить один раз и сохранить. Кэширование необходимо для любой рабочей системы.

Нормализация векторов

Эмбеддинги OpenAI уже нормализованы по L2 (длина = 1). Поэтому косинусное сходство = скалярное произведение, что позволяет сэкономить вычисления:

import numpy as np
a = np.array(vec_a)
b = np.array(vec_b)
sim = np.dot(a, b)     # since |a| = |b| = 1

Асинхронное создание эмбеддингов

Для высокой пропускной способности используйте асинхронный клиент:

from openai import AsyncOpenAI
import asyncio

client = AsyncOpenAI()

async def embed_batch(texts):
    resp = await client.embeddings.create(
        model='text-embedding-3-small',
        input=texts
    )
    return [d.embedding for d in resp.data]

vectors = asyncio.run(embed_batch(['a', 'b', 'c']))

Повторная попытка при сбое

Вызовы для создания эмбеддингов, как и любые вызовы HTTP, могут завершаться сбоем. Оберните их в повторные попытки с экспоненциальной задержкой:

from tenacity import retry, wait_exponential, stop_after_attempt

@retry(wait=wait_exponential(multiplier=1, max=10), stop=stop_after_attempt(5))
def safe_embed(text):
    return client.embeddings.create(model='text-embedding-3-small', input=text)

Хранение эмбеддингов

Три распространённых варианта хранения:

  • SQLite с расширением sqlite-vec
  • Postgres с расширением pgvector
  • Специализированная векторная БД (Pinecone, Qdrant, Weaviate)

Контроль стоимости

Сколько примерно стоит создать эмбеддинги для 1 миллиона слов с помощью text-embedding-3-small?

Итоги

Выберите text-embedding-3-small, объединяйте запросы в пакеты, сохраняйте векторы — и получите основу семантического поиска.

Часто задаваемые вопросы

Урок «Создание эмбеддингов с text-embedding-3» бесплатный?

Да — полный текст урока «Создание эмбеддингов с text-embedding-3» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Создание эмбеддингов с text-embedding-3»?

Используйте OpenAI text-embedding-3-small/large, чтобы преобразовывать строки в векторы размерностью 1536 или 3072. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Создание эмбеддингов с text-embedding-3»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое эмбеддинги (векторные представления)
  2. Создание эмбеддингов с text-embedding-3
  3. Косинусное сходство для поиска
  4. Сравнение моделей эмбеддингов (OpenAI, Cohere и OSS)
← Назад к AI Agents