VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 هو نموذج تضمين للشيفرة يتيح العثور على المصدر ذي الصلة انطلاقًا من الأسئلة وأوصاف المشكلات وأهداف وكلاء البرمجة. يدعم مدخلات من 32,000 رمز وأبعاد 256 أو 512 أو 1024 أو 2048، مع تمثيلات بالفاصلة العائمة وأخرى مكمّمة.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
voyage-code-4 هو نموذج التضمين المتخصص في الشيفرة من Voyage AI للبحث في المستودعات واسترجاع المواد لوكلاء البرمجة. صُمّم للمساعدة في تحديد موضع المصدر ذي الصلة عندما تكون نقطة البداية سؤالًا أو عَرَضًا أو وصف مهمة، بدلًا من معرّف معروف. ويمثّل الشيفرة والمعلومات النصية كمتجهات رقمية للاسترجاع؛ ولا يعدّل المستودع أو يولّد إصلاحًا.
استرجع الشيفرة انطلاقًا من المشكلة قيد البحث
تصف الشركة المصنّعة مجموعة تدريب منتقاة من طلبات سحب مكتملة، تربط استعلامات اللغة الطبيعية بالشيفرة. وهذا فرق ذو دلالة عن أمثلة التدريب المبنية أساسًا على ملفات المصدر وسلاسل التوثيق فيها: إذ يمكن أن تبدأ مهمة الاسترجاع من السلوك الذي يحتاج إلى بحث.
جهّز استعلامًا مثل «اعثر على الموضع الذي تتسبب فيه نتيجة فارغة في الإبلاغ عن عملية ناجحة بوصفها فاشلة». وافهرس أقسام مصدر قابلة للقراءة، مع مسارات ملفاتها والتعليقات ذات الصلة. احتفظ بالشروط المحيطة بالدالة عندما تفسّر سلوكها. وينبغي أن يقود المرشّح المُعاد القارئ أو الوكيل إلى قسم المصدر الذي يمثّله.
يمكن للاسترجاع الدلالي أن يكمّل البحث بالمُعرّف الدقيق والبحث في النص الكامل. فإذا كان اسم الدالة معروفًا بالفعل، يظل البحث المطابق بدقة مفيدًا. وإذا لم يُعرف سوى العَرَض، يمكن للبحث بالمتجهات توفير مرشّحين لفحصهم وتضييق البحث باستعلام آخر.
أدوار الاستعلام والمستند
تميّز إرشادات الاسترجاع لدى Voyage الاستعلام عن مستند المجموعة من خلال نوعَي المدخلات query/document. وللبحث في الشيفرة، استخدم وصف المشكلة أو المهمة بوصفه الاستعلام، والمصدر أو التوثيق المفهرس بوصفه المستند. وتضيف الطريقة المنشورة تعليمات استرجاع خاصة بكل دور أثناء إنشاء التضمين.
احتفظ بالتنسيق الأصلي للشيفرة وأسمائها والتوثيق ذي الصلة متاحةً خارج المتجه. وبالنسبة إلى قسم مصدر، احتفظ بمسار ملفه وموضعه؛ وبالنسبة إلى دليل برمجة، احتفظ بعنوانه. وبعد الاسترجاع، افحص الشيفرة الفعلية والجهات التي تستدعيها قبل اختيار تعديل. ولا تثبت صلة المرشّح أنه السبب الوحيد للمشكلة المُبلَّغ عنها.
خيارات السياق والتمثيل
طول السياق المنشور لهذا النموذج تحديدًا هو 32,000 رمز. ويحتوي تضمينه الافتراضي على 1024 بُعدًا، مع دعم أبعاد 256 و512 و2048 أيضًا من خلال تعلّم Matryoshka. ويوثّق الإعلان تمثيلات بالفاصلة العائمة من 32 بت، وأعدادًا صحيحة من 8 بت مع إشارة ومن دونها، وتمثيلات ثنائية.
اختر بُعدًا وتمثيلًا واحدًا للمجموعة، واحتفظ بهما ضمن بياناتها الوصفية. تتطلب متجهات الفاصلة العائمة والتمثيلات المكمّمة معالجة التخزين والمقارنة المناسبة لكل منها. ويشفّر التمثيل الثنائي معلومات المتجه على نحو يختلف عن قائمة إحداثيات عادية بالفاصلة العائمة؛ حافظ على هذا التمييز عند تجهيز النتائج للبحث.
في الملف الطويل، اختر أقسامًا مترابطة يمكن العودة إلى مواضعها في المصدر. وقد تحتاج الدالة إلى تعريف نوع مجاور أو تعليق لتفسير شرط، بينما قد يتضمن الملف الكبير كاملًا مواد غير مرتبطة. اجعل القسم متوافقًا مع المهمة المطلوب البحث عنها، بدلًا من اعتبار الحد الأقصى للسياق حجمًا مفضّلًا للمقطع.
استخدم المصدر المسترجع دليلًا
يسترجع سير عمل عملي لوكيل برمجة مصادر مرشّحة، ويقرأ تلك الملفات، ويتتبع المراجع ذات الصلة، ويضيّق البحث مع تقدم الاستقصاء. ويصبح النص المسترجع سياقًا لمرحلة الاستدلال أو التعديل. واحتفظ بارتباطه بإصدار المستودع المفهرس، حتى يُفحص المرشّح في ضوء المصدر الصحيح.
تتمثّل مساهمة إصدار voyage-code-4 المحددة في تركيزه على خطوة الاسترجاع من المشكلة إلى الشيفرة التي يستخدمها وكلاء البرمجة، إلى جانب الأبعاد والتمثيلات المرنة. ومخرجه متجه للاسترجاع، بينما يظل التشخيص والتعديل والتحقق مهام منفصلة تستند إلى المستودع الفعلي.
Ailoot Ultra · التضمينات POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4البداية
Voyage AI voyage-code-4 هو نموذج تضمين للشيفرة يتيح العثور على المصدر ذي الصلة انطلاقًا من الأسئلة وأوصاف المشكلات وأهداف وكلاء البرمجة. يدعم مدخلات من 32,000 رمز وأبعاد 256 أو 512 أو 1024 أو 2048، مع تمثيلات بالفاصلة العائمة وأخرى مكمّمة.
- المدخلات المقبولة
- النص · token_ids
- النتائج
- embedding
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · التضمينات POST /v1/embeddings
- الإدخال
text,token_ids- الإخراج
embedding- السياق
- 32,000 tokens
- صيغة الإخراج
- json
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود voyageai/voyage-code-4 | القيمة الافتراضية— |
الحقلinput | النوعstring|string[]|integer[]|integer[][] | المتطلبمطلوب | القيم والحدود الحد الأدنى للعناصر: 1 الشروط: دفعة متجانسة غير فارغة. معرّفات التوكنات أعداد صحيحة غير سالبة. سعة الإدخال: الحد الأقصى: 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-code-4", "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-code-4',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-code-4
الأسماء البديلة لمسارات الطرائق
استخدم مسارات الطرائق المعروضة أعلاه.
معرّفات النماذج ذات الصلة IDs
FAQ · VoyageAI by MongoDB: voyage-code-4
- ما المدخلات والنتائج المتاحة؟
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- ما الحقول التي يستخدمها الطلب؟
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- ما الحدود المطبقة؟
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(بايتات UTF8);input.min_items:1