Mistral: Codestral Embed 2505
Το Codestral Embed 2505 αναπαριστά κώδικα και ερωτήματα φυσικής γλώσσας ως διανύσματα για αναζήτηση σε αποθετήρια και ανάκτηση για βοηθούς προγραμματισμού. Ο κατασκευαστής τεκμηριώνει συμφραζόμενα 8192 tokens, διαμορφώσιμες διαστάσεις έως 3072 και μορφές εξόδου κινητής υποδιαστολής, ακεραίων ή συσκευασμένων bits.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το Codestral Embed 2505 είναι το μοντέλο embeddings της Mistral AI εξειδικευμένο στην ανάκτηση κώδικα. Λαμβάνει κείμενο που περιέχει πηγαίο κώδικα ή ερώτημα φυσικής γλώσσας για κώδικα και επιστρέφει αριθμητικά διανύσματα. Ο κατασκευαστής το τοποθετεί για αναζήτηση σε αποθετήρια, ανάκτηση συμφραζομένων για βοηθούς προγραμματισμού, ανάλυση ομοιότητας και διπλοτύπων και ομαδοποίηση κώδικα βάσει λειτουργικότητας ή δομής. Το σταθερό αναγνωριστικό έκδοσής του είναι codestral-embed-2505.
Είσοδος και αναπαράσταση
Μια είσοδος κώδικα μπορεί να είναι συνάρτηση, σχετικό τμήμα πηγαίου κώδικα ή άλλη ουσιαστική μονάδα αποθετηρίου. Ένα ερώτημα φυσικής γλώσσας μπορεί να περιγράφει τη συμπεριφορά που πρέπει να εντοπιστεί αντί να ονομάζει το ακριβές σύμβολο. Το embedding αναπαριστά αυτή την είσοδο για σύγκριση· το μοντέλο δεν παράγει νέα υλοποίηση ούτε εκτελεί τον κώδικα που λαμβάνει.
Η επίσημη έκδοση τεκμηριώνει πλήρη συμφραζόμενα εισόδου 8192 tokens. Για ανάκτηση, ο κατασκευαστής συνιστά τμήματα περίπου 3000 χαρακτήρων με επικάλυψη 1000 χαρακτήρων, σημειώνοντας ότι μεγαλύτερα τμήματα μπορούν να βλάψουν την ανάκτηση. Αυτές είναι συστάσεις προετοιμασίας ανάκτησης και όχι όριο tokens 3000 χαρακτήρων. Κρατήστε το αρχείο, το σύμβολο και τη θέση πηγής συνδεδεμένα με κάθε προετοιμασμένο στοιχείο, ώστε η εφαρμογή να επιστρέφει τον σχετικό κώδικα μετά την αναζήτηση.
Ακρίβεια εξόδου και διαστάσεις
Ο οδηγός embeddings κώδικα τεκμηριώνει τύπους εξόδου float, int8, uint8, binary και ubinary. Το float χρησιμοποιεί τιμές κινητής υποδιαστολής απλής ακρίβειας 32 bits. Το int8 χρησιμοποιεί προσημασμένους ακεραίους 8 bits από -128 έως 127, ενώ το uint8 χρησιμοποιεί μη προσημασμένες τιμές 8 bits από 0 έως 255. Τα binary και ubinary αποθηκεύουν κβαντισμένες τιμές ενός bit σε συσκευασμένα στοιχεία 8 bits, χρησιμοποιώντας αντίστοιχα προσημασμένους ή μη προσημασμένους περιέκτες.
Η αναπαράσταση συσκευασμένων bits αλλάζει το μήκος της επιστρεφόμενης λίστας: ο οδηγός περιγράφει ένα συσκευασμένο στοιχείο για κάθε οκτώ λογικές διαστάσεις embedding. Μια σύγκριση που λαμβάνει υπόψη τη μορφή διαφέρει επομένως από την αντιμετώπιση των συσκευασμένων bytes ως συνηθισμένων συντεταγμένων κινητής υποδιαστολής. Διατηρήστε τον επιλεγμένο τύπο μαζί με το διάνυσμα και χρησιμοποιήστε την ίδια αναπαράσταση για τον ευρετηριασμένο κώδικα και το ερώτημά του.
Η τεκμηρίωση παραμέτρων δίνει προεπιλεγμένη διάσταση 1536 και μέγιστη 3072. Οι διαστάσεις είναι ταξινομημένες βάσει συνάφειας και ο κατασκευαστής περιγράφει τη διατήρηση των πρώτων διαστάσεων στο επιλεγμένο πλήθος ως τρόπο επιλογής μεγέθους αναπαράστασης. Επιλέξτε τη διάσταση με συνέπεια για την αποθηκευμένη συλλογή και τα νέα ερωτήματα. Μια μικρότερη ή κβαντισμένη αναπαράσταση αλλάζει τη συμπεριφορά αποθήκευσης και σύγκρισης· δεν αυξάνει τα συμφραζόμενα εισόδου ούτε μετατρέπει το μοντέλο σε γεννήτρια κώδικα.
Προγραμματισμός ενισχυμένος με ανάκτηση
Η πρώτη περίπτωση χρήσης της έκδοσης είναι ανάκτηση συμφραζομένων για συμπλήρωση, επεξεργασία ή εξήγηση κώδικα. Προετοιμάστε ουσιαστικές μονάδες κώδικα και κρατήστε την αναθεώρηση αποθετηρίου και τα αναγνωριστικά πηγής. Ένα ερώτημα για τον χειρισμό συγκεκριμένου σφάλματος μπορεί να ανακτά σχετικές συναρτήσεις, τις οποίες η εφαρμογή δίνει κατόπιν σε μοντέλο προγραμματισμού μαζί με το πραγματικό αίτημα αλλαγής.
Ένα πρακτικό αποτέλεσμα είναι καταταγμένο σύνολο αποσπασμάτων πηγαίου κώδικα με διαδρομές αρχείων, σύμβολα και το περιεχόμενο που χρειάζεται για την κατανόηση της συμπεριφοράς τους. Τα ανακτημένα αποσπάσματα μπορούν να ανοιχτούν από προγραμματιστή ή να δοθούν σε βοηθό. Το Codestral Embed εκτελεί το βήμα αναπαράστασης· χωριστό στοιχείο επιλέγει τα αποτελέσματα και μοντέλο παραγωγής γράφει την εξήγηση ή τον προτεινόμενο κώδικα.
Σημασιολογική αναζήτηση και ομοιότητα
Ο κατασκευαστής περιγράφει αναζήτηση κώδικα με ερωτήματα φυσικής γλώσσας ή κώδικα. Ένας προγραμματιστής μπορεί να ζητήσει την υλοποίηση συμπεριφοράς ακόμη και όταν το όνομα συνάρτησης διαφέρει από τη διατύπωση του αιτήματος. Συμπεριλάβετε τη συμπεριφορά και τις συνθήκες που διακρίνουν την προβλεπόμενη υλοποίηση· ένα γενικό ερώτημα για ολόκληρο υποσύστημα μπορεί να ανακτά σχετικό υλικό χωρίς να επιλύει το συγκεκριμένο ερώτημα.
Η έκδοση περιγράφει επίσης εύρεση σχεδόν διπλότυπου ή λειτουργικά παρόμοιου κώδικα παρά λεξικές διαφορές. Τέτοια αποτελέσματα μπορούν να βοηθούν στον εντοπισμό επαναχρησιμοποιήσιμης υλοποίησης ή κώδικα που χρειάζεται περαιτέρω έλεγχο. Η ομοιότητα στον χώρο embeddings είναι σήμα εξέτασης της πηγής· δεν αποδεικνύει ότι δύο τμήματα έχουν ίδια συμπεριφορά για κάθε είσοδο.
Ομαδοποίηση, ανάλυση και σύγκριση
Τα embeddings κώδικα μπορούν να χρησιμοποιούνται για ομαδοποίηση κώδικα βάσει λειτουργικότητας ή δομής και εξέταση της σύνθεσης αποθετηρίου. Κρατήστε τα αρχικά αποσπάσματα και αναγνωριστικά διαθέσιμα ώστε μια ομάδα να μπορεί να ερμηνευτεί από άνθρωπο ή μεταγενέστερο βήμα εφαρμογής. Μια ομάδα είναι ομαδοποίηση βάσει αναπαραστάσεων, όχι αυτόματα επαληθευμένη περιγραφή αρχιτεκτονικής.
Τα παραδείγματα διανυσμάτων κινητής υποδιαστολής του κατασκευαστή χρησιμοποιούν embeddings κανονικοποιημένα σε μοναδιαίο μήκος, για τα οποία η ομοιότητα συνημιτόνου, το εσωτερικό γινόμενο και η ευκλείδεια απόσταση δίνουν συνεπείς κατατάξεις. Η κβαντισμένη έξοδος και η έξοδος συσκευασμένων bits πρέπει να διατηρούν τον δικό τους χειρισμό μορφής αντί να κληρονομούν υπόθεση για ακατέργαστες συντεταγμένες κινητής υποδιαστολής. Το δημοσιευμένο endpoint διατηρεί επίσης δείκτες εισόδου, βοηθώντας τη διατήρηση της σύνδεσης κάθε διανύσματος με το στοιχείο πηγής του.
Έκδοση και πρακτικά όρια
Η ακριβής σελίδα μοντέλου αναφέρει ροές embeddings και παρτίδων με ετικέτα συμφραζομένων 8k, ενώ η έκδοση δίνει την τιμή 8192 tokens. Διατηρήστε την ονομασμένη έκδοση 2505, την επιλεγμένη διάσταση και τον τύπο εξόδου σε όλη τη ροή συλλογής και ερωτήματος. Αυτή είναι διανυσματική έξοδος προσανατολισμένη στον κώδικα, διακριτή από τη συμπλήρωση κειμένου του Codestral και το μοντέλο κειμένου σταθερών διαστάσεων Mistral Embed.
Προετοιμάστε μονάδες κώδικα που περιέχουν τη σχετική συμπεριφορά, κρατήστε τις θέσεις πηγής τους και διατυπώστε το ερώτημα για τον εντοπισμό τους. Το χρήσιμο παραδοτέο είναι ανακτήσιμη αναπαράσταση συνδεδεμένη με πραγματικό κώδικα, η οποία υποστηρίζει το επόμενο βήμα εξήγησης, επεξεργασίας ή ελέγχου από προγραμματιστή χωρίς να εκτελεί το ίδιο αυτό το βήμα.
Ailoot Ultra · Διανυσματικές αναπαραστάσεις POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Εισαγωγή
Το Codestral Embed 2505 αναπαριστά κώδικα και ερωτήματα φυσικής γλώσσας ως διανύσματα για αναζήτηση σε αποθετήρια και ανάκτηση για βοηθούς προγραμματισμού. Ο κατασκευαστής τεκμηριώνει συμφραζόμενα 8192 tokens, διαμορφώσιμες διαστάσεις έως 3072 και μορφές εξόδου κινητής υποδιαστολής, ακεραίων ή συσκευασμένων bits.
- Αποδεκτές είσοδοι
- Κείμενο · token_ids
- Αποτελέσματα
- embedding
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Διανυσματικές αναπαραστάσεις POST /v1/embeddings
- Είσοδος
text,token_ids- Έξοδος
embedding- Παράθυρο συμφραζομένων
- 8.192 tokens
- Μορφή εξόδου
- json
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια mistralai/codestral-embed-2505 | Προεπιλογή— |
Πεδίοinput | Τύποςstring|string[]|integer[]|integer[][] | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 1 Συνθήκες: Μη κενή ομοιογενής παρτίδα. Τα ID των token είναι μη αρνητικοί ακέραιοι. Προϋπολογισμός εισόδου: Μέγιστο: 8.192 · Μονάδα κειμένου: 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 | Σύμβαση8192 |
Παράμετροςmultimodal_objects | Σύμβασηfalse |
Παράμετροςmaterial_types | Σύμβασηtext, token_ids |
Κύκλος ζωής: synchronous_json
Διατηρήστε τον δείκτη και τη διάσταση κάθε διανύσματος.
Το όνομα πολυτροπικού μοντέλου δεν επιτρέπει αντικείμενα εικόνας σε αυτήν ακριβώς τη διαδρομή.
Τιμολόγηση
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Τυπική χρέωση Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Τυπική χρέωση Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Τυπική χρέωση Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Χρεώσεις Ailoot
Τιμές ανά διαμόρφωση
| Διαμόρφωση | Πίνακας χρεώσεων | Χρέωση |
|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Χρέωση Είσοδος · Token εισόδου $0.0003 / 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": "mistralai/codestral-embed-2505", "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='mistralai/codestral-embed-2505',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 mistralai/codestral-embed-2505
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
FAQ · Mistral: Codestral Embed 2505
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Ποια όρια ισχύουν;
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1