Google: Gemini Embedding 2
Gemini Embedding 2 แปลงข้อความ ภาพ เสียง วิดีโอ และ PDF เข้าสู่พื้นที่เชิงตัวเลขร่วม เวกเตอร์รองรับการค้นหาข้ามชนิดสื่อ การค้นคืน จำแนก และจัดกลุ่ม พร้อมมิติยืดหยุ่นและขีดจำกัดอินพุต 8,192 โทเคน
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Gemini Embedding 2 เป็นโมเดลเอ็มเบดดิงมัลติโมดัลของ Google สำหรับแทนข้อความ ภาพ วิดีโอ เสียง และ PDF เป็นตัวเลข แปลงชนิดสื่อต่างกันเข้าพื้นที่ร่วม เพื่อให้แอปพลิเคชันเปรียบเทียบความหมายข้ามสื่อได้ ผลคือเวกเตอร์ตัวเลขที่มีประโยชน์ต่อการค้นหาเชิงความหมาย ค้นคืนเอกสาร แนะนำ จำแนก หรือจัดกลุ่ม ไม่ใช่คำตอบเป็นข้อความหรือไฟล์สื่อที่สร้างขึ้น Google ระบุขอบเขตเชิงความหมายในมากกว่า 100 ภาษา
สำหรับฐานความรู้ สร้างเวกเตอร์ให้ย่อหน้าต้นฉบับ เปรียบเทียบคำค้นผู้ใช้กับเวกเตอร์ แล้วค้นคืนข้อมูลที่เกี่ยวข้อง โมเดลข้อความแยกต่างหากจึงแต่งคำตอบด้วยต้นฉบับเหล่านั้นได้ สำหรับคอลเล็กชันสื่อ คำอธิบายข้อความค้นภาพหรือวิดีโอที่เกี่ยวข้องได้ และภาพใช้เป็นคำค้นได้ด้วย รักษาความสัมพันธ์ของแต่ละเวกเตอร์กับเนื้อหาต้นฉบับ รวมการอ้างหน้าเอกสารหรือคลิป เพื่อให้ตรวจผลค้นคืนและแสดงในบริบทเดิม
ขีดจำกัดอินพุตรวมคือ 8,192 โทเคน คู่มือรุ่นเสถียรอนุญาตภาพ PNG หรือ JPEG สูงสุดหกภาพ เสียง MP3 หรือ WAV สูงสุด 180 วินาที และวิดีโอ MP4 หรือ MOV สูงสุด 120 วินาที codec วิดีโอตามเอกสารคือ H264, H265, AV1 และ VP9 การประมวลผลวิดีโอใช้เฟรมสูงสุด 32 เฟรม คลิปไม่เกิน 32 วินาทีสุ่มหนึ่งเฟรมต่อวินาที คลิปยาวกว่านั้นสุ่มอย่างสม่ำเสมอให้ได้ 32 เฟรม ไม่ประมวลผลแทร็กเสียงในอินพุตวิดีโอนั้น หากเสียงสำคัญต่อการค้นคืน ให้เอ็มเบดเสียงแยก
อินพุต PDF รับหนึ่งไฟล์สูงสุดหกหน้า Google แนะนำหนึ่งหน้าต่อ PDF เพื่อคุณภาพดีที่สุด แบ่งต้นฉบับใหญ่เป็นหน้าหรือส่วนที่มีความหมายและรักษาความสัมพันธ์กับเอกสารเดิม เลือกข้อความตัดตอนที่แทนสิ่งควรค้นคืน แทนการรวมข้อมูลไม่เกี่ยวข้องเพียงเพราะพอดีขีดจำกัด คำขอผสมสื่อยังใช้ขอบโทเคนร่วม แต่ละหน้า PDF ใช้ 258 โทเคนภาพเพิ่มเติมจากโทเคนข้อความที่ดึงออก ในเวิร์กโฟลว์ตามเอกสาร Google เนื้อหาที่เกินขีดจำกัดร่วม 8,192 โทเคนถูกตัดโดยไม่มีข้อผิดพลาด
มิติเอาต์พุตเลือกได้ยืดหยุ่นจาก 128 ถึง 3,072 โดยเริ่มต้น 3,072 และแนะนำขนาด 768, 1,536 และ 3,072 โมเดลใช้ Matryoshka Representation Learning ทำให้ส่วนต้นของเวกเตอร์ยังมีประโยชน์เมื่อมิติเล็กลง คู่มือระบุ normalization อัตโนมัติทั้งเวกเตอร์เริ่มต้นและแบบสั้น เลือกมิติสม่ำเสมอสำหรับระเบียนและคำค้นที่แอปพลิเคชันเปรียบเทียบ ขนาดที่ขอเปลี่ยนตัวแทนเชิงตัวเลข ไม่ใช่เนื้อหาต้นฉบับเอง
สำหรับงานข้อความเท่านั้น ให้ใส่จุดประสงค์ในข้อความแทนฟิลด์ task_type แบบเก่า Google แยกการค้นคืนไม่สมมาตรจากการเปรียบเทียบสมมาตร คำค้นใช้ “task: search result | query: {content}” ส่วนเอกสารต้นฉบับใช้ “title: {title} | text: {content}” หากไม่มีชื่อให้ใช้ “title: none” งานถามตอบ ตรวจข้อเท็จจริง และค้นคืนโค้ดมีคำนำหน้าคำค้นของตน สำหรับจำแนก จัดกลุ่ม หรือความคล้ายประโยค ให้ใช้รูปแบบงานเดียวกันสม่ำเสมอทั้งสองด้าน คู่มือโดยทั่วไปแนะนำไม่เพิ่มคำนำหน้างานให้ส่วนข้อความของตัวแทนมัลติโมดัลที่รวมกัน
โครงสร้างอินพุตกำหนดว่าผลแทนวัตถุรวมหนึ่งชิ้นหรือรายการแยกกัน หลายส่วนที่ให้ร่วมกันสร้างเอ็มเบดดิงรวม ส่วนออบเจ็กต์ Content ที่แยกสร้างเอ็มเบดดิงแยกสำหรับแต่ละรายการ โพสต์ที่มีข้อความและภาพใช้ตัวแทนรวมเพื่อเก็บความสัมพันธ์ได้ ระเบียนที่ต้องค้นได้อิสระควรแยกกัน ทางเลือกนี้มีผลต่อหน่วยค้นคืน หนึ่งเวกเตอร์สำหรับโพสต์ทั้งหมดต่างจากหนึ่งตัวต่อแต่ละย่อหน้าหรือภาพ
คู่มือระบุว่าเวกเตอร์จาก Gemini Embedding 001 และ Gemini Embedding 2 อยู่ในพื้นที่ที่เข้ากันไม่ได้และเปรียบเทียบตรงไม่ได้ คอลเล็กชันที่ย้ายจากโมเดลเก่าต้องเอ็มเบดใหม่สำหรับพื้นที่ใหม่ รักษาการเลือกโมเดลและมิติให้สอดคล้องกับเวกเตอร์ที่เปรียบเทียบ และเก็บข้อความกับสื่อต้นฉบับแยกจากดัชนีเชิงตัวเลข ความคล้ายเอ็มเบดดิงเป็นสัญญาณค้นคืน ไม่ใช่คำอธิบายข้อเท็จจริงว่าเหตุใดเอกสารตอบคำถามผู้ใช้
สำหรับแคตตาล็อกจริง เอ็มเบดภาพสินค้าร่วมกับคำอธิบายที่อนุมัติเมื่อควรค้นคู่ข้อมูลเป็นวัตถุเดียว สำหรับคอลเล็กชันเอกสาร เอ็มเบดย่อหน้าที่เจาะจงและเปรียบเทียบกับคำค้นที่จัดรูปแบบตามจุดประสงค์ แล้วแสดงย่อหน้าต้นฉบับกับผลค้นหา สำหรับเสียงหรือวิดีโอ เลือกช่วงที่อธิบายเหตุการณ์ที่ต้องค้นและรักษาช่วงเวลาเดิม สิ่งส่งมอบที่มีประโยชน์คือตัวแทนเชิงตัวเลขที่ผูกกับหลักฐานต้นฉบับสำหรับขั้นตอนค้นหาหรือวิเคราะห์ถัดไปของแอปพลิเคชัน
Ailoot Ultra · เอ็มเบดดิง POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2เริ่มต้น
Gemini Embedding 2 แปลงข้อความ ภาพ เสียง วิดีโอ และ PDF เข้าสู่พื้นที่เชิงตัวเลขร่วม เวกเตอร์รองรับการค้นหาข้ามชนิดสื่อ การค้นคืน จำแนก และจัดกลุ่ม พร้อมมิติยืดหยุ่นและขีดจำกัดอินพุต 8,192 โทเคน
- อินพุตที่รองรับ
- ข้อความ · token_ids
- ผลลัพธ์
- embedding
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · เอ็มเบดดิง POST /v1/embeddings
- ขาเข้า
text,token_ids- ขาออก
embedding- บริบท
- 8,192 tokens
- รูปแบบเอาต์พุต
- json
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด google/gemini-embedding-2 | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring|string[]|integer[]|integer[][] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 เงื่อนไข: ชุดข้อมูลต้องไม่ว่างและประกอบด้วยข้อมูลชนิดเดียวกัน ID โทเคนต้องเป็นจำนวนเต็มที่ไม่ติดลบ โควตาอินพุต: สูงสุด: 8,192 · หน่วยข้อความ: ไบต์ UTF8 · หน่วยโทเค็น: องค์ประกอบในอาร์เรย์โทเค็น | ค่าเริ่มต้น— |
ฟิลด์encoding_format | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด float | ค่าเริ่มต้นfloat |
ฟิลด์dimensions | ประเภทinteger | ข้อกำหนดไม่รองรับ | ค่าและข้อจำกัด ขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์user | ประเภทjson_value | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ต้นฉบับอนุญาตฟิลด์เมทาดาทา JSON นี้ โดยความหมายที่แน่นอนในระบบต้นทางขึ้นอยู่กับแต่ละโมเดล | ค่าเริ่มต้น— |
ฟิลด์session_id | ประเภทjson_value | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ต้นฉบับอนุญาตฟิลด์เมทาดาทา JSON นี้ โดยความหมายที่แน่นอนในระบบต้นทางขึ้นอยู่กับแต่ละโมเดล | ค่าเริ่มต้น— |
ฟิลด์trace | ประเภทjson_value | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ต้นฉบับอนุญาตฟิลด์เมทาดาทา JSON นี้ โดยความหมายที่แน่นอนในระบบต้นทางขึ้นอยู่กับแต่ละโมเดล | ค่าเริ่มต้น— |
ฟิลด์provider | ประเภทobject | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: provider.options ถูกปฏิเสธ | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_embedding
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input |
พารามิเตอร์input_shapes | ข้อกำหนดstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
พารามิเตอร์encoding_format | ข้อกำหนดfloat |
พารามิเตอร์dimensions_override | ข้อกำหนดfalse |
พารามิเตอร์max_input_budget_units | ข้อกำหนด8192 |
พารามิเตอร์multimodal_objects | ข้อกำหนดfalse |
พารามิเตอร์material_types | ข้อกำหนดtext, token_ids |
วงจรการทำงาน: synchronous_json
เก็บดัชนีและจำนวนมิติของเวกเตอร์ทุกรายการ
ชื่อโมเดลที่สื่อว่ารองรับข้อมูลหลายรูปแบบไม่ได้ทำให้สามารถส่งออบเจ็กต์รูปภาพผ่านเส้นทางเฉพาะนี้ได้
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- อัตรามาตรฐาน เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- อัตรามาตรฐาน เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- อัตรามาตรฐาน เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
| การตั้งค่า | ตารางอัตราค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าอัตราราคาพื้นฐานของโทเคน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.0004 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0 / 1K โทเค็น ขาเข้า · การอ่านแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · เอ็มเบดดิง
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)
รับและบันทึกผลลัพธ์
Ailoot Ultra · เอ็มเบดดิง
json
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน
เก็บเวกเตอร์ทุกรายการพร้อมดัชนีของแต่ละรายการ จำนวนเวกเตอร์ต้องเท่ากับจำนวนข้อมูลนำเข้า และจำนวนมิติต้องสอดคล้องกัน
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
ไม่มีการเพิ่มจุดเชื่อมต่อสำหรับงานสร้างเวกเตอร์ตัวแทนข้อมูล
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์object | ประเภทstring |
ฟิลด์model | ประเภทstring |
ฟิลด์data[].index | ประเภทinteger |
ฟิลด์data[].embedding | ประเภทfinite float[] |
ฟิลด์usage | ประเภทobject |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้อง | ขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra google/gemini-embedding-2
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Google: Gemini Embedding 2
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- มีข้อจำกัดใดบ้าง?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(ไบต์ UTF8);input.min_items:1