Google: Gemini Embedding 2
Gemini Embedding 2 tekstą, vaizdus, garsą, vaizdo įrašus ir PDF atvaizduoja bendroje skaitinėje erdvėje. Jo vektoriai palaiko paiešką tarp modalumų, informacijos paiešką, klasifikavimą ir grupavimą į klasterius su lanksčiu matmenų skaičiumi ir 8192 žetonų įvesties riba.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Gemini Embedding 2 yra Google multimodalinis įterpinių modelis teksto, vaizdų, vaizdo įrašų, garso ir PDF skaitiniam atvaizdavimui. Skirtingus medijų tipus jis atvaizduoja bendroje erdvėje, kad programa galėtų palyginti jų reikšmę. Rezultatas yra skaičių vektorius, naudingas semantinei paieškai, dokumentų paieškai, rekomendacijoms, klasifikavimui ar grupavimui į klasterius; tai nėra rašytinis atsakymas ar sugeneruotas medijos failas. Google dokumentuoja semantinę daugiau nei 100 kalbų aprėptį.
Žinių bazei sukurkite šaltinio ištraukų vektorius, palyginkite su jais naudotojo užklausą ir raskite aktualią medžiagą. Atskiras teksto modelis tada gali parengti atsakymą pagal šiuos šaltinius. Medijų kolekcijoje tekstinis aprašymas gali ieškoti susijusių vaizdų ar vaizdo įrašų; vaizdas taip pat gali pateikti užklausą. Išsaugokite kiekvieno vektoriaus ryšį su originaliu turiniu, įskaitant puslapio ar klipo nuorodą, kad rastą rezultatą būtų galima patikrinti ir parodyti jo originaliame kontekste.
Bendra įvesties riba yra 8192 žetonai. Stabilaus modelio vadovas leidžia iki šešių PNG ar JPEG vaizdų, iki 180 sekundžių MP3 ar WAV garso ir iki 120 sekundžių MP4 ar MOV vaizdo įrašo. Dokumentuoti vaizdo kodekai yra H264, H265, AV1 ir VP9. Vaizdo įrašo apdorojimas naudoja daugiausia 32 kadrus: iki 32 sekundžių klipuose imamas vienas kadras per sekundę, o ilgesniuose klipuose tolygiai atrenkami 32 kadrai. Šioje vaizdo įvestyje garso takelis neapdorojamas; jo garso įterpinį kurkite atskirai, kai jis svarbus paieškai.
PDF įvestis priima vieną failą, turintį daugiausia šešis puslapius. Geriausiai kokybei Google rekomenduoja vieną puslapį viename PDF. Didesnį šaltinį padalykite į prasmingus puslapius ar skyrius ir išsaugokite jų ryšį su originaliu dokumentu. Rinkitės ištrauką, kuri atvaizduoja tai, kas turėtų būti randama, užuot jungę nesusijusias medžiagas vien todėl, kad jos telpa į ribą. Bendra žetonų riba vis tiek taikoma mišrių medijų užklausai. Kiekvienas PDF puslapis sunaudoja 258 vaizdinius žetonus papildomai prie jo išgauto teksto žetonų. Google dokumentuotame procese turinys, viršijantis bendrą 8192 žetonų ribą, nukerpamas be klaidos.
Išvesties matmenų skaičius yra lankstus nuo 128 iki 3072, numatytasis – 3072, o rekomenduojami dydžiai – 768, 1536 ir 3072. Modelis naudoja Matryoshka Representation Learning, todėl pradinės vektoriaus dalys lieka naudingos mažesniuose matmenyse. Jo vadove dokumentuotas automatinis tiek numatytųjų, tiek sutrumpintų vektorių normalizavimas. Programos lyginamiems įrašams ir užklausoms pasirinkite vienodą matmenų skaičių; prašomas dydis keičia skaitinę reprezentaciją, o ne patį šaltinio turinį.
Tik tekstinėms užduotims paskirtį įtraukite į tekstą, užuot naudoję senesnį task_type lauką. Google skiria asimetrinę paiešką nuo simetrinio palyginimo. Paieškos užklausa naudoja „task: search result | query: {content}“, o šaltinio dokumentas – „title: {title} | text: {content}“; jei pavadinimo nėra, naudokite „title: none“. Atsakymo į klausimus, faktų tikrinimo ir kodo paieškos užduotys turi savus užklausų priešdėlius. Klasifikavimui, grupavimui į klasterius ar sakinių panašumo vertinimui abiejose pusėse nuosekliai naudokite tą patį užduoties formatą. Vadovas paprastai nerekomenduoja pridėti užduoties priešdėlio prie teksto dalies jungtinėje multimodalinėje reprezentacijoje.
Įvesties struktūra lemia, ar rezultatas atvaizduoja vieną jungtinį objektą, ar atskiras pozicijas. Kelios kartu pateiktos dalys sukuria agreguotą įterpinį; atskiri Content objektai sukuria atskirus įterpinius kiekvienam įrašui. Įrašui su tekstu ir paveikslu jungtinis atvaizdas gali užfiksuoti jų ryšį. Nepriklausomai ieškomus įrašus palikite atskirus. Šis pasirinkimas veikia paieškos detalumą: vienas viso įrašo vektorius skiriasi nuo atskiro vektoriaus kiekvienai ištraukai ar vaizdui.
Vadove nurodyta, kad Gemini Embedding 001 ir Gemini Embedding 2 vektoriai priklauso nesuderinamoms erdvėms ir negali būti tiesiogiai lyginami. Kolekcijai, perkeltai iš senesnio modelio, reikia iš naujo sukurti įterpinius naujajai erdvei. Lyginamuose vektoriuose išlaikykite nuoseklų modelio pasirinkimą ir matmenis, o originalų tekstą bei medijas saugokite atskirai nuo skaitinio indekso. Įterpinio panašumas yra paieškos signalas, o ne faktinis paaiškinimas, kodėl dokumentas atsako į naudotojo klausimą.
Praktiniam katalogui produkto nuotraukos įterpinį kurkite kartu su patvirtintu aprašymu, kai pora turėtų būti randama kaip vienas objektas. Dokumentų kolekcijoje kurkite konkrečiai temai skirtų ištraukų įterpinius, palyginkite su pagal paskirtį suformuota užklausa ir šaltinio ištraukas pateikite šalia paieškos rezultato. Garso ar vaizdo įraše pasirinkite epizodą, aprašantį ieškomą įvykį, ir išsaugokite jo originalų laiko intervalą. Naudingas rezultatas yra skaitinis atvaizdas, susietas su šaltinio pagrindimu kitam programos paieškos ar analizės veiksmui.
Ailoot Ultra · Įterpiniai POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Pradžia
Gemini Embedding 2 tekstą, vaizdus, garsą, vaizdo įrašus ir PDF atvaizduoja bendroje skaitinėje erdvėje. Jo vektoriai palaiko paiešką tarp modalumų, informacijos paiešką, klasifikavimą ir grupavimą į klasterius su lanksčiu matmenų skaičiumi ir 8192 žetonų įvesties riba.
- Leidžiamos įvestys
- Tekstas · token_ids
- Rezultatai
- embedding
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Įterpiniai POST /v1/embeddings
- Įvestis
text,token_ids- Išvestis
embedding- Kontekstas
- 8 192 tokens
- Išvesties formatas
- json
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos google/gemini-embedding-2 | Numatyta— |
Laukasinput | Tipasstring|string[]|integer[]|integer[][] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Sąlygos: Netuščias vienalyčių įvesčių paketas. Žetonų ID yra neneigiami sveikieji skaičiai. Įvesties biudžetas: Didžiausia reikšmė: 8 192 · Teksto vienetas: UTF8 baitai · Tokenų vienetas: žetonų masyvo elementai | Numatyta— |
Laukasencoding_format | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos float | Numatytafloat |
Laukasdimensions | Tipasinteger | ReikalavimasNepalaikoma | Reikšmės ir ribos Mažiausia reikšmė: 1 | Numatyta— |
Laukasuser | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukassession_id | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukastrace | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukasprovider | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options atmetamas | Numatyta— |
Įvesties medžiagos deriniai
text_to_embedding
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, input |
Parametrasinput_shapes | Specifikacijastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrasencoding_format | Specifikacijafloat |
Parametrasdimensions_override | Specifikacijafalse |
Parametrasmax_input_budget_units | Specifikacija8192 |
Parametrasmultimodal_objects | Specifikacijafalse |
Parametrasmaterial_types | Specifikacijatext, token_ids |
Gyvavimo ciklas: synchronous_json
Išsaugokite kiekvieną vektoriaus indeksą ir matmenį.
Tai, kad modelio pavadinimas nurodo multimodalumą, nereiškia, jog šiuo konkrečiu keliu priimami vaizdų objektai.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.0004 / 1K tokenų Išvestis · Išvesties tokenai $0 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Įterpiniai
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)
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Įterpiniai
json
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną vektorių su jo indeksu. Vektorių skaičius turi sutapti su įvesčių skaičiumi; jų matmenų skaičius turi būti vienodas.
Jei reikia patikrinti pradinį atsakymą
Vektorių generavimo užduotims atskiras API galinis taškas neįvedamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasobject | Tipasstring |
Laukasmodel | Tipasstring |
Laukasdata[].index | Tipasinteger |
Laukasdata[].embedding | Tipasfinite float[] |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra google/gemini-embedding-2
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Google: Gemini Embedding 2
- Kokios įvestys ir rezultatai prieinami?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Kokius laukus naudoja užklausa?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Kokie apribojimai taikomi?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(UTF8 baitai);input.min_items:1