VoyageAI by MongoDB: voyage-4-large
voyage-4-large เป็นโมเดลเอ็มเบดดิงข้อความแบบผสมผู้เชี่ยวชาญของ Voyage AI สำหรับการค้นคืนทั่วไปและหลายภาษา เวกเตอร์แชร์พื้นที่ตระกูล Voyage 4 ทำให้ค้นเอ็มเบดดิงคลังจาก Large ด้วยเอ็มเบดดิงคำค้นที่เข้ากันได้จากโมเดลอื่นในตระกูลเดียวกัน
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
voyage-4-large คือโมเดล embedding ข้อความเรือธงของ Voyage AI ในตระกูล Voyage 4 แทนข้อความต้นทางและคำค้นเป็นเวกเตอร์ตัวเลขสำหรับการค้นคืนทั่วไปและหลายภาษา จุดต่างสองอย่างคือการออกแบบแบบ mixture-of-experts และพื้นที่ embedding ร่วมที่ voyage-4-large, voyage-4, voyage-4-lite และ voyage-4-nano ใช้
พื้นที่ร่วม: เลือกโมเดลฝั่งคลังข้อความและคำค้นแยกกัน
ผู้ผลิตอธิบายการค้นคืนแบบไม่สมมาตร: เอกสารสร้าง embedding ด้วย voyage-4-large ได้ ขณะที่โมเดลอื่นในตระกูล Voyage 4 เตรียมเวกเตอร์คำค้น ตัวอย่างเช่น คลังข้อมูลที่แทนด้วย Large ค้นด้วยคำค้น voyage-4 ได้ วิธีนี้ให้สองฝั่งของการค้นหาเลือกคนละโมเดลแต่ยังอยู่ในพื้นที่ที่เข้ากันได้ตามเอกสาร
ชุดข้อมูลจริงจึงใช้ Large เตรียมข้อความเอกสารที่คงที่ แล้วเลือกโมเดลฝั่งคำค้นอย่างอิสระได้ เอกสารสร้าง embedding ตอนสร้างหรืออัปเดตคลัง ส่วนคำค้นแปลงเป็นเวกเตอร์เมื่อผู้ใช้ค้นหา ประกาศตระกูลอธิบายการเปลี่ยนโมเดลคำค้นภายในตระกูลที่เข้ากันได้ โดยไม่ต้องแปลงคลังเอกสารเป็นเวกเตอร์ใหม่เพียงเพื่อการเปลี่ยนนี้ ให้เวกเตอร์ที่เปรียบเทียบมีมิติเท่ากันและใช้รูปแบบที่ระบบค้นหาตีความร่วมกันได้
การออกแบบ embedding แบบ mixture-of-experts
ชั้น feed-forward แบบหนาแน่นประมวลผลทุกโทเคนด้วยพารามิเตอร์ทั้งหมด แนวทาง MoE ที่อธิบายสำหรับ voyage-4-large ใช้ตัวกำหนดเส้นทางและเครือข่าย feed-forward ของผู้เชี่ยวชาญ โดยเลือกผู้เชี่ยวชาญที่ประมวลผลแต่ละโทเคน วิธีนี้แยกความจุรวมของโมเดลจากพารามิเตอร์ที่เปิดใช้กับโทเคนหนึ่ง Voyage รายงานอัตราเปิดใช้ 1/10 ในการออกแบบ MoE นี้ โดยใช้การเลือกเส้นทาง top-k
คำอธิบายเทคนิคของผู้ผลิตยังบอกการตัดสินใจพัฒนาสองอย่าง ความจุของผู้เชี่ยวชาญมีผลว่าโทเคนส่วนเกินจะข้ามชั้นผู้เชี่ยวชาญทางเส้นทาง residual หรือไม่ ทีมเลือกตัวคูณความจุที่ใหญ่ที่สุดที่ทำได้เพื่อไม่ให้คุณภาพค้นคืนลดลง ในขั้นฝึกสุดท้าย จะตรึงพารามิเตอร์ตัวกำหนดเส้นทางก่อนรวมโมเดล เพื่อให้การประมาณค่าระหว่างโมเดลต้นทางไม่เปลี่ยนเส้นทางเลือกผู้เชี่ยวชาญที่เรียนรู้ไว้ สิ่งเหล่านี้เป็นคุณลักษณะการเตรียมโมเดล แยกจากการตั้งค่าความยาวข้อความหรือการตัดข้อความเมื่อเตรียมข้อมูลเข้า
มิติและรูปแบบผลลัพธ์
ตารางโมเดลทางการระบุหน้าต่างบริบท 32,000 โทเคน และเลือก embedding ขนาด 256, 512, 1024 และ 2048 มิติได้ โดยค่าเริ่มต้นคือ 1024 ตระกูลนี้ใช้การเรียนรู้ Matryoshka เพื่อให้ขนาดการแทนข้อมูลซ้อนกัน และรองรับตัวเลือกควอนไทซ์: เลขทศนิยมลอยตัว 32 บิต จำนวนเต็ม 8 บิตแบบมีหรือไม่มีเครื่องหมาย และผลลัพธ์ไบนารีแบบแพ็ก
เมื่อใช้ผลลัพธ์ไบนารี ความยาวรายการไบต์ที่คืนเป็นหนึ่งในแปดของมิติที่เลือก เพราะแต่ละไบต์มี embedding แปดบิต เก็บตัวเลือกมิติและชนิดข้อมูลไว้กับดัชนี และใช้วิธีเปรียบเทียบที่รองรับรูปแบบนั้น เวกเตอร์ที่เล็กลงหรือบีบอัดเปลี่ยนรูปแบบที่ใช้ค้นหา ควรประเมินข้อความที่เกี่ยวข้องซึ่งได้จากคำถามจริงก่อนเลือกใช้กับชุดข้อมูล
เตรียมข้อมูลเข้าเอกสารและคำค้น
Voyage แนะนำบทบาท document สำหรับข้อความในคลัง และ query สำหรับถ้อยคำค้นหา ตัวเลือกบทบาทเพิ่มคำสั่งค้นคืนที่ตรงกันก่อนสร้าง embedding เก็บหัวข้อ เงื่อนไข และตำแหน่งต้นทางที่มีประโยชน์ของข้อความ แล้วบันทึกเวกเตอร์ที่คืนพร้อมข้อความเดิมและตัวระบุที่คงที่
สำหรับคลังความรู้เทคนิค คำถามเกี่ยวกับรูปแบบความล้มเหลวควรนำไปสู่ข้อความที่อธิบายรูปแบบนั้นและเงื่อนไขที่เกี่ยวข้อง สำหรับคลังเอกสารหลายภาษา ให้เก็บภาษาต้นทางและประเมินด้วยคำถามกับคำศัพท์ที่ผู้ใช้จะค้น การเผยแพร่นี้ครอบคลุมข้อมูลค้นคืนทั้งเอกสารเทคนิค บทสนทนา เอกสารยาว โค้ด กฎหมาย การเงิน และข้อความเว็บ embedding ชี้ตำแหน่งข้อมูลตัวเลือก ส่วนขั้นจัดอันดับใหม่หรือขั้นตอบภายหลังใช้ข้อความต้นฉบับ
ขีดจำกัดบริบท แบตช์ และการตัดข้อความ
คู่มือปัจจุบันของผู้ผลิตอนุญาต voyage-4-large ได้ถึง 1,000 สตริงและข้อมูลเข้ารวม 120,000 โทเคนต่อคำขอ ซึ่งต่างจากขนาดแบตช์ที่ระบุสำหรับ voyage-4 แต่ทั้งสองมีหน้าต่าง 32,000 โทเคนต่อข้อความ การตัดข้อความที่เปิดโดยค่าเริ่มต้นจะย่อข้อมูลเข้าที่ยาวเกินให้พอดี หากปิดการตัด จะคืนข้อผิดพลาดสำหรับข้อความที่ยาวเกิน
เลือกขอบเขตข้อความที่มีคำตอบอย่างตั้งใจ เพื่อไม่ให้ต้นฉบับยาวสูญเสียเงื่อนไขสำคัญจากส่วนท้ายที่ถูกตัด รักษาการเชื่อมกับต้นทางเมื่อคืนผลค้นหา และตรวจข้อความตัวเลือกจริง แทนการถือว่าความใกล้ของเวกเตอร์เป็นการตรวจสอบเนื้อหาแล้ว ความเข้ากันได้ของพื้นที่ร่วมใช้กับตระกูลข้อความ Voyage 4 ที่มีเอกสาร การประมวลผลชังก์ตามบริบท embedding ภาพ/วิดีโอ และโมเดลรุ่นหลังยังเป็นขั้นตอนเฉพาะของแต่ละโมเดล
Ailoot Ultra · เอ็มเบดดิง POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-largeเริ่มต้น
voyage-4-large เป็นโมเดลเอ็มเบดดิงข้อความแบบผสมผู้เชี่ยวชาญของ Voyage AI สำหรับการค้นคืนทั่วไปและหลายภาษา เวกเตอร์แชร์พื้นที่ตระกูล Voyage 4 ทำให้ค้นเอ็มเบดดิงคลังจาก Large ด้วยเอ็มเบดดิงคำค้นที่เข้ากันได้จากโมเดลอื่นในตระกูลเดียวกัน
- อินพุตที่รองรับ
- ข้อความ · token_ids
- ผลลัพธ์
- embedding
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · เอ็มเบดดิง POST /v1/embeddings
- ขาเข้า
text,token_ids- ขาออก
embedding- บริบท
- 32,000 tokens
- รูปแบบเอาต์พุต
- json
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด voyageai/voyage-4-large | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring|string[]|integer[]|integer[][] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 เงื่อนไข: ชุดข้อมูลต้องไม่ว่างและประกอบด้วยข้อมูลชนิดเดียวกัน ID โทเคนต้องเป็นจำนวนเต็มที่ไม่ติดลบ โควตาอินพุต: สูงสุด: 32,000 · หน่วยข้อความ: ไบต์ 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 | ข้อกำหนด32000 |
พารามิเตอร์multimodal_objects | ข้อกำหนดfalse |
พารามิเตอร์material_types | ข้อกำหนดtext, token_ids |
วงจรการทำงาน: synchronous_json
เก็บดัชนีและจำนวนมิติของเวกเตอร์ทุกรายการ
ชื่อโมเดลที่สื่อว่ารองรับข้อมูลหลายรูปแบบไม่ได้ทำให้สามารถส่งออบเจ็กต์รูปภาพผ่านเส้นทางเฉพาะนี้ได้
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- อัตรามาตรฐาน เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- อัตรามาตรฐาน เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- อัตรามาตรฐาน เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
| การตั้งค่า | ตารางอัตราค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าอัตราราคาพื้นฐานของโทเคน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.00024 / 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": "voyageai/voyage-4-large", "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='voyageai/voyage-4-large',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 voyageai/voyage-4-large
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · VoyageAI by MongoDB: voyage-4-large
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- มีข้อจำกัดใดบ้าง?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(ไบต์ UTF8);input.min_items:1