Google: Gemini Embedding 2
Gemini Embedding 2 mapuje text, obrázky, zvuk, video a PDF do společného číselného prostoru. Jeho vektory podporují hledání napříč modalitami, vyhledávání podkladů, klasifikaci a shlukování s flexibilními rozměry a vstupním limitem 8192 tokenů.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Gemini Embedding 2 je multimodální embeddingový model společnosti Google pro číselnou reprezentaci textu, obrázků, videa, zvuku a PDF. Mapuje různé typy médií do společného prostoru, aby aplikace mohla porovnávat význam napříč nimi. Výsledkem je vektor čísel užitečný pro sémantické vyhledávání, vyhledávání dokumentů, doporučování, klasifikaci nebo shlukování; nejde o písemnou odpověď ani vygenerovaný mediální soubor. Google dokumentuje sémantické pokrytí více než 100 jazyků.
U znalostní báze vytvořte vektory zdrojových pasáží, porovnejte s nimi dotaz uživatele a vyhledejte příslušný materiál. Samostatný textový model pak může z těchto zdrojů sestavit odpověď. U kolekce médií může textový popis hledat související obrázky nebo video; dotazem může být také obrázek. Zachovejte propojení každého vektoru s původním obsahem včetně odkazu na stránku nebo klip, aby nalezený výsledek mohl být zkontrolován a zobrazen v původním kontextu.
Celkový vstupní limit je 8192 tokenů. Průvodce stabilním modelem umožňuje až šest obrázků PNG nebo JPEG, až 180 sekund zvuku MP3 nebo WAV a až 120 sekund videa MP4 nebo MOV. Dokumentované video kodeky jsou H264, H265, AV1 a VP9. Zpracování videa používá nejvýše 32 snímků: klipy do 32 sekund se vzorkují rychlostí jednoho snímku za sekundu, zatímco delší klipy se rovnoměrně vzorkují na 32 snímků. Zvuková stopa videa se v tomto video vstupu nezpracovává; vytvořte embedding zvuku samostatně, pokud je důležitý pro vyhledávání.
Vstup PDF přijímá jeden soubor s nejvýše šesti stránkami. Google pro nejlepší kvalitu doporučuje jednu stránku na PDF. Větší zdroj rozdělte na smysluplné stránky nebo oddíly a zachovejte jejich vztah k původnímu dokumentu. Zvolte úryvek reprezentující to, co má být vyhledatelné, místo kombinování nesouvisejících materiálů pouze proto, že se vejdou do limitu. Společná tokenová hranice stále platí i pro požadavek s různými médii. Každá stránka PDF spotřebuje 258 vizuálních tokenů navíc k tokenům extrahovaného textu. V dokumentovaném postupu Google se obsah přesahující společný limit 8192 tokenů ořízne bez chyby.
Rozměr výstupu je flexibilní od 128 do 3072 s výchozí hodnotou 3072 a doporučenými velikostmi 768, 1536 a 3072. Model používá Matryoshka Representation Learning, takže počáteční části vektoru zůstávají užitečné i při menších rozměrech. Jeho průvodce dokumentuje automatickou normalizaci výchozích i zkrácených vektorů. Pro záznamy a dotazy, které aplikace porovnává, zvolte konzistentní rozměr; požadovaná velikost mění číselnou reprezentaci, nikoli samotný zdrojový obsah.
U čistě textových úloh zahrňte účel přímo do textu místo použití staršího pole task_type. Google rozlišuje asymetrické vyhledávání a symetrické porovnávání. Vyhledávací dotaz používá „task: search result | query: {content}“, zatímco zdrojový dokument používá „title: {title} | text: {content}“; pokud nemá název, použijte „title: none“. Úlohy odpovídání na otázky, ověřování faktů a vyhledávání kódu mají vlastní prefixy dotazů. Pro klasifikaci, shlukování nebo posuzování podobnosti vět používejte na obou stranách konzistentně stejný formát úkolu. Průvodce obecně nedoporučuje přidávat prefix úkolu k textové části kombinované multimodální reprezentace.
Struktura vstupu určuje, zda výsledek reprezentuje jeden kombinovaný objekt nebo samostatné položky. Více částí dodaných společně vytváří agregovaný embedding; samostatné objekty Content vytvářejí oddělené embeddingy pro každou položku. U příspěvku obsahujícího text a obrázek může kombinovaná reprezentace zachytit jejich vztah. Nezávisle prohledávatelné záznamy ponechte oddělené. Tato volba ovlivňuje podrobnost vyhledávání: jeden vektor pro celý příspěvek je jiný než jeden pro každou pasáž nebo obrázek.
Průvodce uvádí, že vektory Gemini Embedding 001 a Gemini Embedding 2 patří do nekompatibilních prostorů a nelze je přímo porovnávat. Kolekce migrovaná ze staršího modelu potřebuje nové embeddingy pro nový prostor. U porovnávaných vektorů zachovávejte konzistentní volbu modelu a rozměrů a původní text i média uchovávejte odděleně od číselného indexu. Podobnost embeddingu je signálem pro vyhledávání, nikoli věcným vysvětlením toho, proč dokument odpovídá na otázku uživatele.
V praktickém katalogu vytvářejte embedding fotografie produktu spolu se schváleným popisem, pokud se mají vyhledávat jako jeden objekt. U kolekce dokumentů vytvářejte embeddingy tematicky zaměřených pasáží, porovnávejte je s dotazem formátovaným podle účelu a poté zdrojové pasáže předložte vedle výsledku vyhledávání. U zvuku nebo videa vyberte úsek popisující vyhledatelnou událost a zachovejte původní časový rozsah. Užitečným výstupem je číselná reprezentace propojená se zdrojovými důkazními podklady pro další krok vyhledávání nebo analýzy v aplikaci.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Úvod
Gemini Embedding 2 mapuje text, obrázky, zvuk, video a PDF do společného číselného prostoru. Jeho vektory podporují hledání napříč modalitami, vyhledávání podkladů, klasifikaci a shlukování s flexibilními rozměry a vstupním limitem 8192 tokenů.
- Přijímané vstupy
- Text · token_ids
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings
- Vstup
text,token_ids- Výstup
embedding- Kontext
- 8 192 tokens
- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity google/gemini-embedding-2 | Výchozí— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 Podmínky: Neprázdná homogenní dávka. ID tokenů jsou nezáporná celá čísla. Rozpočet vstupu: Maximum: 8 192 · Jednotka textu: bajty UTF8 · Jednotka tokenů: prvky pole tokenů | Výchozí— |
Poleencoding_format | Typstring | PožadavekVolitelné | Hodnoty a limity float | Výchozífloat |
Poledimensions | Typinteger | PožadavekNepodporováno | Hodnoty a limity Minimum: 1 | Výchozí— |
Poleuser | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Polesession_id | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poletrace | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Parametr provider.options byl odmítnut | Výchozí— |
Kombinace vstupních materiálů
text_to_embedding
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt8192 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Životní cyklus: synchronous_json
Uchovejte index i rozměr každého vektoru.
Multimodální název modelu neznamená, že tato konkrétní cesta přijímá obrazové objekty.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Standardní sazba Při výběru rychlého režimu
- Režim flex
- Standardní sazba Při výběru režimu flex
- Maximální intenzita uvažování
- Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0004 / 1K tokenů Výstup · Výstupní tokeny $0 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Vektorové reprezentace
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-embedding-2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='google/gemini-embedding-2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Přijímání a ukládání výsledků
Ailoot Ultra · Vektorové reprezentace
json
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte každý vektor spolu s jeho indexem. Počet vektorů musí odpovídat počtu vstupů; jejich rozměr musí být jednotný.
Pokud je nutné ověřit původní odpověď
Samostatný endpoint úloh pro embeddingy se nezavádí.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra google/gemini-embedding-2
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · Google: Gemini Embedding 2
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1