0Pricing
AI Agents · Lekcja

Generowanie embeddingów za pomocą text-embedding-3

Użyj OpenAI text-embedding-3-small/large, aby przekształcać ciągi znaków w wektory o 1536 lub 3072 wymiarach.

Generowanie embeddingów za pomocą text-embedding-3 to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.

Modele embeddingów OpenAI

OpenAI oferuje dwa produkcyjne modele embeddingów:

  • text-embedding-3-small — 1536 wymiarów, tani i szybki
  • text-embedding-3-large — 3072 wymiary, lepsza jakość i mniejsza szybkość

W większości przypadków używaj wersji small; wersję large wybieraj tylko wtedy, gdy jakość jest ważniejsza niż koszt.

Pierwszy embedding

Jedna linia kodu 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

Generowanie embeddingów partiami

API obsługuje listy, co jest znacznie szybsze niż wywoływanie go pojedynczo:

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.

Limity tokenów

Każde dane wejściowe mają maksymalny limit tokenów (8192 dla text-embedding-3). Długie dokumenty trzeba najpierw podzielić na fragmenty.

Zmniejszanie liczby wymiarów

Możesz poprosić o mniejszą liczbę wymiarów (embeddingi Matryoshka), co jest przydatne przy przechowywaniu danych:

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

Koszt

W chwili pisania tego tekstu:

  • text-embedding-3-small: 0,02 USD / 1 mln tokenów
  • text-embedding-3-large: 0,13 USD / 1 mln tokenów

Wygenerowanie embeddingów dla 1 mln słów kosztuje około 0,025 USD w przypadku modelu small — praktycznie nic.

Jednorazowe tworzenie embeddingów, ponowne użycie bez końca

Embeddingi nie zmieniają się przy ponownym osadzaniu — możesz obliczyć je raz i przechowywać. Buforowanie jest niezbędne w każdym systemie produkcyjnym.

Normalizowanie wektorów

Embeddingi OpenAI są już znormalizowane w normie L2 (długość = 1). Oznacza to, że podobieństwo cosinusowe = iloczyn skalarny, co zmniejsza ilość obliczeń:

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

Asynchroniczne generowanie embeddingów

Aby uzyskać dużą przepustowość, użyj klienta asynchronicznego:

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']))

Ponawianie po błędzie

Wywołania generujące embeddingi zawodzą tak jak każde wywołanie HTTP. Owiń je mechanizmem ponawiania z narastającym opóźnieniem:

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)

Przechowywanie embeddingów

Trzy typowe opcje przechowywania:

  • SQLite z rozszerzeniem sqlite-vec
  • Postgres z rozszerzeniem pgvector
  • Dedykowana wektorowa baza danych (Pinecone, Qdrant, Weaviate)

Świadomość kosztów

Ile w przybliżeniu kosztuje wygenerowanie embeddingów dla 1 miliona słów za pomocą text-embedding-3-small?

Podsumowanie

Wybierz text-embedding-3-small, wywołuj API partiami, przechowuj wektory i zyskujesz fundament wyszukiwania semantycznego.

Często zadawane pytania

Czy lekcja „Generowanie embeddingów za pomocą text-embedding-3” jest bezpłatna?

Tak — pełny tekst „Generowanie embeddingów za pomocą text-embedding-3” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.

Co nauczysz się w „Generowanie embeddingów za pomocą text-embedding-3”?

Użyj OpenAI text-embedding-3-small/large, aby przekształcać ciągi znaków w wektory o 1536 lub 3072 wymiarach. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Agents?

Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Generowanie embeddingów za pomocą text-embedding-3”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?

Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym są embeddingi (reprezentacje wektorowe)
  2. Generowanie embeddingów za pomocą text-embedding-3
  3. Podobieństwo cosinusowe w wyszukiwaniu
  4. Porównanie modeli embeddingów (OpenAI vs Cohere vs OSS)
← Powrót do AI Agents