VoyageAI by MongoDB: voyage-code-4
Το Voyage AI voyage-code-4 είναι μοντέλο embeddings κώδικα για εύρεση σχετικού πηγαίου κώδικα από ερωτήματα, περιγραφές ζητημάτων και στόχους πρακτόρων προγραμματισμού. Υποστηρίζει εισόδους 32.000 tokens και διαστάσεις 256, 512, 1024 ή 2048, με αναπαραστάσεις κινητής υποδιαστολής και κβαντισμένες αναπαραστάσεις.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το voyage-code-4 είναι το εξειδικευμένο σε κώδικα μοντέλο embeddings της Voyage AI για αναζήτηση σε αποθετήρια και ανάκτηση για πράκτορες προγραμματισμού. Έχει σχεδιαστεί για να βοηθά στον εντοπισμό σχετικού πηγαίου κώδικα όταν το σημείο εκκίνησης είναι ερώτημα, σύμπτωμα ή περιγραφή εργασίας αντί για γνωστό αναγνωριστικό. Αναπαριστά κώδικα και κειμενική πληροφορία ως αριθμητικά διανύσματα για ανάκτηση· δεν επεξεργάζεται το αποθετήριο ούτε παράγει διόρθωση.
Ανακτήστε κώδικα από το ζήτημα που διερευνάται
Ο κατασκευαστής περιγράφει corpus εκπαίδευσης επιμελημένο από ολοκληρωμένα pull requests, συνδέοντας ερωτήματα φυσικής γλώσσας με κώδικα. Αυτή είναι ουσιαστική διάκριση από παραδείγματα εκπαίδευσης που έχουν κατασκευαστεί κυρίως γύρω από πηγαία αρχεία και τα docstrings τους: η εργασία ανάκτησης μπορεί να ξεκινά από τη συμπεριφορά που χρειάζεται διερεύνηση.
Προετοιμάστε ερώτημα όπως «Βρείτε πού ένα κενό αποτέλεσμα προκαλεί την αναφορά μιας επιτυχώς ολοκληρωμένης πράξης ως αποτυχίας». Ευρετηριάστε ευανάγνωστες ενότητες πηγαίου κώδικα με τις διαδρομές αρχείων και τα σχετικά σχόλιά τους. Κρατήστε τις γύρω συνθήκες της συνάρτησης όταν εξηγούν τη συμπεριφορά της. Ένας επιστρεφόμενος υποψήφιος πρέπει να οδηγεί τον αναγνώστη ή πράκτορα πίσω στην ενότητα πηγής που αναπαριστά.
Η σημασιολογική ανάκτηση μπορεί να συμπληρώνει την ακριβή αναζήτηση αναγνωριστικών και την αναζήτηση πλήρους κειμένου. Αν ένα όνομα συνάρτησης είναι ήδη γνωστό, μια ακριβής αναζήτηση παραμένει χρήσιμη. Αν είναι γνωστό μόνο σύμπτωμα, η διανυσματική αναζήτηση μπορεί να παρέχει υποψηφίους προς εξέταση και βελτίωση με άλλο ερώτημα.
Ρόλοι ερωτήματος και εγγράφου
Οι οδηγίες ανάκτησης της Voyage διακρίνουν το ερώτημα από το έγγραφο του corpus μέσω τύπων εισόδου query/document. Για αναζήτηση κώδικα, χρησιμοποιήστε την περιγραφή ζητήματος ή εργασίας ως ερώτημα και τον ευρετηριασμένο κώδικα ή την ευρετηριασμένη τεκμηρίωση ως έγγραφο. Η δημοσιευμένη συνταγή προσθέτει οδηγίες ανάκτησης ειδικές για κάθε ρόλο κατά τη δημιουργία embeddings.
Κρατήστε την αρχική μορφοποίηση κώδικα, τα ονόματα και τη σχετική τεκμηρίωση διαθέσιμα έξω από το διάνυσμα. Για ενότητα πηγαίου κώδικα, διατηρήστε τη διαδρομή αρχείου και τη θέση της· για οδηγό προγραμματισμού, διατηρήστε την επικεφαλίδα του. Μετά την ανάκτηση, εξετάστε τον πραγματικό κώδικα και τα στοιχεία που τον καλούν πριν επιλέξετε αλλαγή. Η συνάφεια ενός υποψηφίου δεν αποδεικνύει ότι είναι η μοναδική αιτία αναφερόμενου προβλήματος.
Συμφραζόμενα και επιλογές αναπαράστασης
Το δημοσιευμένο μήκος συμφραζομένων του ακριβούς μοντέλου είναι 32.000 tokens. Το προεπιλεγμένο embedding του έχει 1024 διαστάσεις, με διαστάσεις 256, 512 και 2048 επίσης υποστηριζόμενες μέσω μάθησης Matryoshka. Η ανακοίνωση τεκμηριώνει αναπαραστάσεις κινητής υποδιαστολής 32 bits, προσημασμένων και μη προσημασμένων ακεραίων 8 bits και δυαδικές αναπαραστάσεις.
Επιλέξτε μία διάσταση και αναπαράσταση για τη συλλογή και κρατήστε τις με τα μεταδεδομένα της. Διανύσματα κινητής υποδιαστολής και κβαντισμένες αναπαραστάσεις απαιτούν τον αντίστοιχο χειρισμό αποθήκευσης και σύγκρισης. Μια δυαδική αναπαράσταση κωδικοποιεί τη διανυσματική πληροφορία διαφορετικά από λίστα συνηθισμένων συντεταγμένων κινητής υποδιαστολής· διατηρήστε αυτή τη διάκριση όταν προετοιμάζετε αποτελέσματα για αναζήτηση.
Για μεγάλο αρχείο, επιλέξτε συνεκτικές ενότητες των οποίων οι θέσεις πηγής μπορούν να ανακτηθούν. Μια συνάρτηση μπορεί να χρειάζεται γειτονικό ορισμό τύπου ή σχόλιο για να εξηγεί μια συνθήκη, ενώ ένα ολόκληρο υπερμεγέθες αρχείο μπορεί να περιλαμβάνει άσχετο υλικό. Κρατήστε την ενότητα ευθυγραμμισμένη με την εργασία που θα αναζητηθεί αντί να θεωρείτε τα μέγιστα συμφραζόμενα προτιμώμενο μέγεθος τμήματος.
Χρησιμοποιήστε την ανακτημένη πηγή ως στοιχεία
Μια πρακτική ροή πράκτορα προγραμματισμού ανακτά υποψήφιο πηγαίο κώδικα, διαβάζει αυτά τα αρχεία, ακολουθεί σχετικές αναφορές και περιορίζει την αναζήτηση καθώς προχωρά η διερεύνηση. Το ανακτημένο κείμενο γίνεται πλαίσιο για το στάδιο συλλογισμού ή επεξεργασίας. Κρατήστε τη σύνδεσή του με την ευρετηριασμένη αναθεώρηση αποθετηρίου ώστε ένας υποψήφιος να εξετάζεται ως προς τη σωστή πηγή.
Η συνεισφορά της έκδοσης voyage-code-4 είναι η εστίασή της στο βήμα ανάκτησης από ζήτημα προς κώδικα που χρησιμοποιούν πράκτορες προγραμματισμού, μαζί με ευέλικτες διαστάσεις και αναπαραστάσεις. Η έξοδός της είναι διάνυσμα ανάκτησης, ενώ διάγνωση, επεξεργασία και επικύρωση παραμένουν χωριστές εργασίες θεμελιωμένες στο πραγματικό αποθετήριο.
Ailoot Ultra · Διανυσματικές αναπαραστάσεις POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Εισαγωγή
Το Voyage AI voyage-code-4 είναι μοντέλο embeddings κώδικα για εύρεση σχετικού πηγαίου κώδικα από ερωτήματα, περιγραφές ζητημάτων και στόχους πρακτόρων προγραμματισμού. Υποστηρίζει εισόδους 32.000 tokens και διαστάσεις 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 Συνθήκες: Μη κενή ομοιογενής παρτίδα. Τα ID των token είναι μη αρνητικοί ακέραιοι. Προϋπολογισμός εισόδου: Μέγιστο: 32.000 · Μονάδα κειμένου: byte UTF8 · Μονάδα token: στοιχεία πίνακα token | Προεπιλογή— |
Πεδίο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
- Τυπική χρέωση Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Τυπική χρέωση Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Χρεώσεις Ailoot
Τιμές ανά διαμόρφωση
| Διαμόρφωση | Πίνακας χρεώσεων | Χρέωση |
|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Χρέωση Είσοδος · Token εισόδου $0.00024 / 1K token Έξοδος · Token εξόδου $0 / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
Το 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
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.
Διατηρήστε κάθε διάνυσμα με τον δείκτη του. Το πλήθος των διανυσμάτων πρέπει να ισούται με το πλήθος των στοιχείων εισόδου· οι διαστάσεις πρέπει να είναι συνεπείς.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Δεν εισάγεται endpoint εργασιών ενσωμάτωσης.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοobject | Τύποςstring |
Πεδίοmodel | Τύποςstring |
Πεδίοdata[].index | Τύποςinteger |
Πεδίοdata[].embedding | Τύποςfinite float[] |
Πεδίοusage | Τύποςobject |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra voyageai/voyage-code-4
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
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(byte UTF8);input.min_items:1