{
  "aboutHtml": "<p>Το Gemini Embedding 2 είναι το πολυτροπικό μοντέλο embeddings της Google για αριθμητική αναπαράσταση κειμένου, εικόνων, βίντεο, ήχου και PDF. Αντιστοιχίζει τους διαφορετικούς τύπους μέσων σε κοινό χώρο ώστε μια εφαρμογή να συγκρίνει νόημα μεταξύ τους. Το αποτέλεσμα είναι διάνυσμα αριθμών, χρήσιμο για σημασιολογική αναζήτηση, ανάκτηση εγγράφων, συστάσεις, ταξινόμηση ή ομαδοποίηση· δεν είναι γραπτή απάντηση ή παραγόμενο αρχείο μέσων. Η Google τεκμηριώνει σημασιολογική κάλυψη σε περισσότερες από 100 γλώσσες.</p><p>Για βάση γνώσης, δημιουργήστε διανύσματα για τα αποσπάσματα πηγής, συγκρίνετε ερώτημα χρήστη με αυτά και ανακτήστε το σχετικό υλικό. Ένα χωριστό μοντέλο κειμένου μπορεί κατόπιν να συνθέτει απάντηση χρησιμοποιώντας αυτές τις πηγές. Για συλλογή μέσων, μια κειμενική περιγραφή μπορεί να αναζητά σχετικές εικόνες ή βίντεο· μια εικόνα μπορεί επίσης να παρέχει το ερώτημα. Διατηρήστε τη σύνδεση κάθε διανύσματος με το αρχικό περιεχόμενο, συμπεριλαμβανομένης αναφοράς σελίδας ή αποσπάσματος, ώστε το ανακτημένο αποτέλεσμα να εξετάζεται και να εμφανίζεται στο αρχικό πλαίσιό του.</p><p>Το συνολικό όριο εισόδου είναι 8192 tokens. Ο οδηγός του σταθερού μοντέλου επιτρέπει έως έξι εικόνες PNG ή JPEG, έως 180 δευτερόλεπτα ήχου MP3 ή WAV και έως 120 δευτερόλεπτα βίντεο MP4 ή MOV. Οι τεκμηριωμένοι codecs βίντεο είναι H264, H265, AV1 και VP9. Η επεξεργασία βίντεο χρησιμοποιεί το πολύ 32 καρέ: αποσπάσματα έως 32 δευτερόλεπτα δειγματοληπτούνται με ένα καρέ ανά δευτερόλεπτο, ενώ μεγαλύτερα αποσπάσματα δειγματοληπτούνται ομοιόμορφα σε 32 καρέ. Το ηχητικό κανάλι ενός βίντεο δεν επεξεργάζεται μέσα σε εκείνη την είσοδο βίντεο· δημιουργήστε embedding του ήχου χωριστά όταν έχει σημασία για την ανάκτηση.</p><p>Η είσοδος PDF δέχεται ένα αρχείο με το πολύ έξι σελίδες. Η Google συνιστά μία σελίδα ανά PDF για την καλύτερη ποιότητα. Διαιρέστε μεγαλύτερη πηγή σε ουσιαστικές σελίδες ή ενότητες και κρατήστε τη σχέση τους με το αρχικό έγγραφο. Επιλέξτε απόσπασμα που αναπαριστά αυτό που πρέπει να είναι ανακτήσιμο αντί να συνδυάζετε άσχετα υλικά μόνο επειδή χωρούν στο όριο. Το κοινό όριο tokens εξακολουθεί να ισχύει για αίτημα μεικτών μέσων. Κάθε σελίδα PDF καταναλώνει 258 οπτικά tokens επιπλέον των tokens του εξαγόμενου κειμένου της. Στην τεκμηριωμένη ροή της Google, περιεχόμενο που υπερβαίνει το κοινό όριο 8192 tokens περικόπτεται χωρίς σφάλμα.</p><p>Η διάσταση εξόδου είναι ευέλικτη από 128 έως 3072, με προεπιλογή 3072 και προτεινόμενα μεγέθη 768, 1536 και 3072. Το μοντέλο χρησιμοποιεί Matryoshka Representation Learning, επομένως προθέματα του διανύσματος παραμένουν χρήσιμα σε μικρότερες διαστάσεις. Ο οδηγός τεκμηριώνει αυτόματη κανονικοποίηση τόσο για προεπιλεγμένα όσο και για συντομευμένα διανύσματα. Επιλέξτε συνεπή διάσταση για τις εγγραφές και τα ερωτήματα που συγκρίνει η εφαρμογή σας· το ζητούμενο μέγεθος αλλάζει την αριθμητική αναπαράσταση, όχι το ίδιο το περιεχόμενο πηγής.</p><p>Για εργασίες μόνο κειμένου, συμπεριλάβετε τον σκοπό στο κείμενο αντί να χρησιμοποιείτε το παλαιότερο πεδίο task_type. Η Google διακρίνει την ασύμμετρη ανάκτηση από τη συμμετρική σύγκριση. Ένα ερώτημα αναζήτησης χρησιμοποιεί «task: search result | query: {content}», ενώ ένα έγγραφο πηγής χρησιμοποιεί «title: {title} | text: {content}»· χρησιμοποιήστε «title: none» αν δεν έχει τίτλο. Οι εργασίες ερωτήματος-απάντησης, ελέγχου γεγονότων και ανάκτησης κώδικα έχουν δικά τους προθέματα ερωτήματος. Για ταξινόμηση, ομαδοποίηση ή ομοιότητα προτάσεων, χρησιμοποιήστε την ίδια μορφή εργασίας με συνέπεια και στις δύο πλευρές. Ο οδηγός γενικά αποθαρρύνει την προσθήκη προθέματος εργασίας στο κειμενικό μέρος συνδυασμένης πολυτροπικής αναπαράστασης.</p><p>Η δομή εισόδου καθορίζει αν το αποτέλεσμα αναπαριστά ένα συνδυασμένο αντικείμενο ή χωριστά στοιχεία. Πολλά μέρη που παρέχονται μαζί δημιουργούν συγκεντρωτικό embedding· χωριστά αντικείμενα Content δημιουργούν χωριστά embeddings για κάθε εγγραφή. Για ανάρτηση που περιέχει κείμενο και εικόνα, μια συνδυασμένη αναπαράσταση μπορεί να αποτυπώνει τη σχέση τους. Για ανεξάρτητα αναζητήσιμες εγγραφές, κρατήστε τις χωριστές. Αυτή η επιλογή επηρεάζει τον βαθμό ανάλυσης ανάκτησης: ένα διάνυσμα για ολόκληρη ανάρτηση διαφέρει από ένα για κάθε απόσπασμα ή εικόνα.</p><p>Ο οδηγός δηλώνει ότι διανύσματα από Gemini Embedding 001 και Gemini Embedding 2 καταλαμβάνουν ασύμβατους χώρους και δεν μπορούν να συγκριθούν απευθείας. Μια συλλογή που μεταφέρεται από το παλαιότερο μοντέλο χρειάζεται εκ νέου embeddings για τον νέο χώρο. Κρατήστε την επιλογή μοντέλου και τις διαστάσεις συνεπείς με τα διανύσματα που συγκρίνονται και διατηρήστε το αρχικό κείμενο και τα μέσα χωριστά από το αριθμητικό ευρετήριο. Η ομοιότητα embedding είναι σήμα ανάκτησης αντί για πραγματολογική εξήγηση του γιατί ένα έγγραφο απαντά στο ερώτημα χρήστη.</p><p>Για πρακτικό κατάλογο, δημιουργήστε ένα συνδυασμένο embedding της φωτογραφίας προϊόντος και της εγκεκριμένης περιγραφής του όταν το ζεύγος πρέπει να ανακτάται ως ένα αντικείμενο. Για συλλογή εγγράφων, δημιουργήστε embeddings εστιασμένων αποσπασμάτων και συγκρίνετέ τα με ερώτημα διαμορφωμένο βάσει σκοπού, έπειτα παρουσιάστε τα αποσπάσματα πηγής δίπλα στο αποτέλεσμα αναζήτησης. Για ήχο ή βίντεο, επιλέξτε το επεισόδιο που περιγράφει το αναζητήσιμο γεγονός και κρατήστε το αρχικό χρονικό διάστημά του. Το χρήσιμο παραδοτέο είναι αριθμητική αναπαράσταση συνδεδεμένη με στοιχεία πηγής για το επόμενο βήμα αναζήτησης ή ανάλυσης της εφαρμογής.</p>",
  "aboutText": "Το Gemini Embedding 2 είναι το πολυτροπικό μοντέλο embeddings της Google για αριθμητική αναπαράσταση κειμένου, εικόνων, βίντεο, ήχου και PDF. Αντιστοιχίζει τους διαφορετικούς τύπους μέσων σε κοινό χώρο ώστε μια εφαρμογή να συγκρίνει νόημα μεταξύ τους. Το αποτέλεσμα είναι διάνυσμα αριθμών, χρήσιμο για σημασιολογική αναζήτηση, ανάκτηση εγγράφων, συστάσεις, ταξινόμηση ή ομαδοποίηση· δεν είναι γραπτή απάντηση ή παραγόμενο αρχείο μέσων. Η Google τεκμηριώνει σημασιολογική κάλυψη σε περισσότερες από 100 γλώσσες.\n\nΓια βάση γνώσης, δημιουργήστε διανύσματα για τα αποσπάσματα πηγής, συγκρίνετε ερώτημα χρήστη με αυτά και ανακτήστε το σχετικό υλικό. Ένα χωριστό μοντέλο κειμένου μπορεί κατόπιν να συνθέτει απάντηση χρησιμοποιώντας αυτές τις πηγές. Για συλλογή μέσων, μια κειμενική περιγραφή μπορεί να αναζητά σχετικές εικόνες ή βίντεο· μια εικόνα μπορεί επίσης να παρέχει το ερώτημα. Διατηρήστε τη σύνδεση κάθε διανύσματος με το αρχικό περιεχόμενο, συμπεριλαμβανομένης αναφοράς σελίδας ή αποσπάσματος, ώστε το ανακτημένο αποτέλεσμα να εξετάζεται και να εμφανίζεται στο αρχικό πλαίσιό του.\n\nΤο συνολικό όριο εισόδου είναι 8192 tokens. Ο οδηγός του σταθερού μοντέλου επιτρέπει έως έξι εικόνες PNG ή JPEG, έως 180 δευτερόλεπτα ήχου MP3 ή WAV και έως 120 δευτερόλεπτα βίντεο MP4 ή MOV. Οι τεκμηριωμένοι codecs βίντεο είναι H264, H265, AV1 και VP9. Η επεξεργασία βίντεο χρησιμοποιεί το πολύ 32 καρέ: αποσπάσματα έως 32 δευτερόλεπτα δειγματοληπτούνται με ένα καρέ ανά δευτερόλεπτο, ενώ μεγαλύτερα αποσπάσματα δειγματοληπτούνται ομοιόμορφα σε 32 καρέ. Το ηχητικό κανάλι ενός βίντεο δεν επεξεργάζεται μέσα σε εκείνη την είσοδο βίντεο· δημιουργήστε embedding του ήχου χωριστά όταν έχει σημασία για την ανάκτηση.\n\nΗ είσοδος PDF δέχεται ένα αρχείο με το πολύ έξι σελίδες. Η Google συνιστά μία σελίδα ανά PDF για την καλύτερη ποιότητα. Διαιρέστε μεγαλύτερη πηγή σε ουσιαστικές σελίδες ή ενότητες και κρατήστε τη σχέση τους με το αρχικό έγγραφο. Επιλέξτε απόσπασμα που αναπαριστά αυτό που πρέπει να είναι ανακτήσιμο αντί να συνδυάζετε άσχετα υλικά μόνο επειδή χωρούν στο όριο. Το κοινό όριο tokens εξακολουθεί να ισχύει για αίτημα μεικτών μέσων. Κάθε σελίδα PDF καταναλώνει 258 οπτικά tokens επιπλέον των tokens του εξαγόμενου κειμένου της. Στην τεκμηριωμένη ροή της Google, περιεχόμενο που υπερβαίνει το κοινό όριο 8192 tokens περικόπτεται χωρίς σφάλμα.\n\nΗ διάσταση εξόδου είναι ευέλικτη από 128 έως 3072, με προεπιλογή 3072 και προτεινόμενα μεγέθη 768, 1536 και 3072. Το μοντέλο χρησιμοποιεί Matryoshka Representation Learning, επομένως προθέματα του διανύσματος παραμένουν χρήσιμα σε μικρότερες διαστάσεις. Ο οδηγός τεκμηριώνει αυτόματη κανονικοποίηση τόσο για προεπιλεγμένα όσο και για συντομευμένα διανύσματα. Επιλέξτε συνεπή διάσταση για τις εγγραφές και τα ερωτήματα που συγκρίνει η εφαρμογή σας· το ζητούμενο μέγεθος αλλάζει την αριθμητική αναπαράσταση, όχι το ίδιο το περιεχόμενο πηγής.\n\nΓια εργασίες μόνο κειμένου, συμπεριλάβετε τον σκοπό στο κείμενο αντί να χρησιμοποιείτε το παλαιότερο πεδίο task_type. Η Google διακρίνει την ασύμμετρη ανάκτηση από τη συμμετρική σύγκριση. Ένα ερώτημα αναζήτησης χρησιμοποιεί «task: search result | query: {content}», ενώ ένα έγγραφο πηγής χρησιμοποιεί «title: {title} | text: {content}»· χρησιμοποιήστε «title: none» αν δεν έχει τίτλο. Οι εργασίες ερωτήματος-απάντησης, ελέγχου γεγονότων και ανάκτησης κώδικα έχουν δικά τους προθέματα ερωτήματος. Για ταξινόμηση, ομαδοποίηση ή ομοιότητα προτάσεων, χρησιμοποιήστε την ίδια μορφή εργασίας με συνέπεια και στις δύο πλευρές. Ο οδηγός γενικά αποθαρρύνει την προσθήκη προθέματος εργασίας στο κειμενικό μέρος συνδυασμένης πολυτροπικής αναπαράστασης.\n\nΗ δομή εισόδου καθορίζει αν το αποτέλεσμα αναπαριστά ένα συνδυασμένο αντικείμενο ή χωριστά στοιχεία. Πολλά μέρη που παρέχονται μαζί δημιουργούν συγκεντρωτικό embedding· χωριστά αντικείμενα Content δημιουργούν χωριστά embeddings για κάθε εγγραφή. Για ανάρτηση που περιέχει κείμενο και εικόνα, μια συνδυασμένη αναπαράσταση μπορεί να αποτυπώνει τη σχέση τους. Για ανεξάρτητα αναζητήσιμες εγγραφές, κρατήστε τις χωριστές. Αυτή η επιλογή επηρεάζει τον βαθμό ανάλυσης ανάκτησης: ένα διάνυσμα για ολόκληρη ανάρτηση διαφέρει από ένα για κάθε απόσπασμα ή εικόνα.\n\nΟ οδηγός δηλώνει ότι διανύσματα από Gemini Embedding 001 και Gemini Embedding 2 καταλαμβάνουν ασύμβατους χώρους και δεν μπορούν να συγκριθούν απευθείας. Μια συλλογή που μεταφέρεται από το παλαιότερο μοντέλο χρειάζεται εκ νέου embeddings για τον νέο χώρο. Κρατήστε την επιλογή μοντέλου και τις διαστάσεις συνεπείς με τα διανύσματα που συγκρίνονται και διατηρήστε το αρχικό κείμενο και τα μέσα χωριστά από το αριθμητικό ευρετήριο. Η ομοιότητα embedding είναι σήμα ανάκτησης αντί για πραγματολογική εξήγηση του γιατί ένα έγγραφο απαντά στο ερώτημα χρήστη.\n\nΓια πρακτικό κατάλογο, δημιουργήστε ένα συνδυασμένο embedding της φωτογραφίας προϊόντος και της εγκεκριμένης περιγραφής του όταν το ζεύγος πρέπει να ανακτάται ως ένα αντικείμενο. Για συλλογή εγγράφων, δημιουργήστε embeddings εστιασμένων αποσπασμάτων και συγκρίνετέ τα με ερώτημα διαμορφωμένο βάσει σκοπού, έπειτα παρουσιάστε τα αποσπάσματα πηγής δίπλα στο αποτέλεσμα αναζήτησης. Για ήχο ή βίντεο, επιλέξτε το επεισόδιο που περιγράφει το αναζητήσιμο γεγονός και κρατήστε το αρχικό χρονικό διάστημά του. Το χρήσιμο παραδοτέο είναι αριθμητική αναπαράσταση συνδεδεμένη με στοιχεία πηγής για το επόμενο βήμα αναζήτησης ή ανάλυσης της εφαρμογής.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "bb7332de019e29a6d3d53cdd065312d74e3aa56f4c43f94c105ae4410f822771",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini Embedding 2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-embedding-2</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2\">Διανυσματικές αναπαραστάσεις</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Εισαγωγή</h3><p class=\"mdesc-full\">Το Gemini Embedding 2 αντιστοιχίζει κείμενο, εικόνες, ήχο, βίντεο και PDF σε κοινό αριθμητικό χώρο. Τα διανύσματά του υποστηρίζουν διατροπική αναζήτηση, ανάκτηση, ταξινόμηση και ομαδοποίηση, με ευέλικτες διαστάσεις και όριο εισόδου 8192 tokens.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο · token_ids</dd></div><div><dt>Αποτελέσματα</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το Gemini Embedding 2 είναι το πολυτροπικό μοντέλο embeddings της Google για αριθμητική αναπαράσταση κειμένου, εικόνων, βίντεο, ήχου και PDF. Αντιστοιχίζει τους διαφορετικούς τύπους μέσων σε κοινό χώρο ώστε μια εφαρμογή να συγκρίνει νόημα μεταξύ τους. Το αποτέλεσμα είναι διάνυσμα αριθμών, χρήσιμο για σημασιολογική αναζήτηση, ανάκτηση εγγράφων, συστάσεις, ταξινόμηση ή ομαδοποίηση· δεν είναι γραπτή απάντηση ή παραγόμενο αρχείο μέσων. Η Google τεκμηριώνει σημασιολογική κάλυψη σε περισσότερες από 100 γλώσσες.</p><p>Για βάση γνώσης, δημιουργήστε διανύσματα για τα αποσπάσματα πηγής, συγκρίνετε ερώτημα χρήστη με αυτά και ανακτήστε το σχετικό υλικό. Ένα χωριστό μοντέλο κειμένου μπορεί κατόπιν να συνθέτει απάντηση χρησιμοποιώντας αυτές τις πηγές. Για συλλογή μέσων, μια κειμενική περιγραφή μπορεί να αναζητά σχετικές εικόνες ή βίντεο· μια εικόνα μπορεί επίσης να παρέχει το ερώτημα. Διατηρήστε τη σύνδεση κάθε διανύσματος με το αρχικό περιεχόμενο, συμπεριλαμβανομένης αναφοράς σελίδας ή αποσπάσματος, ώστε το ανακτημένο αποτέλεσμα να εξετάζεται και να εμφανίζεται στο αρχικό πλαίσιό του.</p><p>Το συνολικό όριο εισόδου είναι 8192 tokens. Ο οδηγός του σταθερού μοντέλου επιτρέπει έως έξι εικόνες PNG ή JPEG, έως 180 δευτερόλεπτα ήχου MP3 ή WAV και έως 120 δευτερόλεπτα βίντεο MP4 ή MOV. Οι τεκμηριωμένοι codecs βίντεο είναι H264, H265, AV1 και VP9. Η επεξεργασία βίντεο χρησιμοποιεί το πολύ 32 καρέ: αποσπάσματα έως 32 δευτερόλεπτα δειγματοληπτούνται με ένα καρέ ανά δευτερόλεπτο, ενώ μεγαλύτερα αποσπάσματα δειγματοληπτούνται ομοιόμορφα σε 32 καρέ. Το ηχητικό κανάλι ενός βίντεο δεν επεξεργάζεται μέσα σε εκείνη την είσοδο βίντεο· δημιουργήστε embedding του ήχου χωριστά όταν έχει σημασία για την ανάκτηση.</p><p>Η είσοδος PDF δέχεται ένα αρχείο με το πολύ έξι σελίδες. Η Google συνιστά μία σελίδα ανά PDF για την καλύτερη ποιότητα. Διαιρέστε μεγαλύτερη πηγή σε ουσιαστικές σελίδες ή ενότητες και κρατήστε τη σχέση τους με το αρχικό έγγραφο. Επιλέξτε απόσπασμα που αναπαριστά αυτό που πρέπει να είναι ανακτήσιμο αντί να συνδυάζετε άσχετα υλικά μόνο επειδή χωρούν στο όριο. Το κοινό όριο tokens εξακολουθεί να ισχύει για αίτημα μεικτών μέσων. Κάθε σελίδα PDF καταναλώνει 258 οπτικά tokens επιπλέον των tokens του εξαγόμενου κειμένου της. Στην τεκμηριωμένη ροή της Google, περιεχόμενο που υπερβαίνει το κοινό όριο 8192 tokens περικόπτεται χωρίς σφάλμα.</p><p>Η διάσταση εξόδου είναι ευέλικτη από 128 έως 3072, με προεπιλογή 3072 και προτεινόμενα μεγέθη 768, 1536 και 3072. Το μοντέλο χρησιμοποιεί Matryoshka Representation Learning, επομένως προθέματα του διανύσματος παραμένουν χρήσιμα σε μικρότερες διαστάσεις. Ο οδηγός τεκμηριώνει αυτόματη κανονικοποίηση τόσο για προεπιλεγμένα όσο και για συντομευμένα διανύσματα. Επιλέξτε συνεπή διάσταση για τις εγγραφές και τα ερωτήματα που συγκρίνει η εφαρμογή σας· το ζητούμενο μέγεθος αλλάζει την αριθμητική αναπαράσταση, όχι το ίδιο το περιεχόμενο πηγής.</p><p>Για εργασίες μόνο κειμένου, συμπεριλάβετε τον σκοπό στο κείμενο αντί να χρησιμοποιείτε το παλαιότερο πεδίο task_type. Η Google διακρίνει την ασύμμετρη ανάκτηση από τη συμμετρική σύγκριση. Ένα ερώτημα αναζήτησης χρησιμοποιεί «task: search result | query: {content}», ενώ ένα έγγραφο πηγής χρησιμοποιεί «title: {title} | text: {content}»· χρησιμοποιήστε «title: none» αν δεν έχει τίτλο. Οι εργασίες ερωτήματος-απάντησης, ελέγχου γεγονότων και ανάκτησης κώδικα έχουν δικά τους προθέματα ερωτήματος. Για ταξινόμηση, ομαδοποίηση ή ομοιότητα προτάσεων, χρησιμοποιήστε την ίδια μορφή εργασίας με συνέπεια και στις δύο πλευρές. Ο οδηγός γενικά αποθαρρύνει την προσθήκη προθέματος εργασίας στο κειμενικό μέρος συνδυασμένης πολυτροπικής αναπαράστασης.</p><p>Η δομή εισόδου καθορίζει αν το αποτέλεσμα αναπαριστά ένα συνδυασμένο αντικείμενο ή χωριστά στοιχεία. Πολλά μέρη που παρέχονται μαζί δημιουργούν συγκεντρωτικό embedding· χωριστά αντικείμενα Content δημιουργούν χωριστά embeddings για κάθε εγγραφή. Για ανάρτηση που περιέχει κείμενο και εικόνα, μια συνδυασμένη αναπαράσταση μπορεί να αποτυπώνει τη σχέση τους. Για ανεξάρτητα αναζητήσιμες εγγραφές, κρατήστε τις χωριστές. Αυτή η επιλογή επηρεάζει τον βαθμό ανάλυσης ανάκτησης: ένα διάνυσμα για ολόκληρη ανάρτηση διαφέρει από ένα για κάθε απόσπασμα ή εικόνα.</p><p>Ο οδηγός δηλώνει ότι διανύσματα από Gemini Embedding 001 και Gemini Embedding 2 καταλαμβάνουν ασύμβατους χώρους και δεν μπορούν να συγκριθούν απευθείας. Μια συλλογή που μεταφέρεται από το παλαιότερο μοντέλο χρειάζεται εκ νέου embeddings για τον νέο χώρο. Κρατήστε την επιλογή μοντέλου και τις διαστάσεις συνεπείς με τα διανύσματα που συγκρίνονται και διατηρήστε το αρχικό κείμενο και τα μέσα χωριστά από το αριθμητικό ευρετήριο. Η ομοιότητα embedding είναι σήμα ανάκτησης αντί για πραγματολογική εξήγηση του γιατί ένα έγγραφο απαντά στο ερώτημα χρήστη.</p><p>Για πρακτικό κατάλογο, δημιουργήστε ένα συνδυασμένο embedding της φωτογραφίας προϊόντος και της εγκεκριμένης περιγραφής του όταν το ζεύγος πρέπει να ανακτάται ως ένα αντικείμενο. Για συλλογή εγγράφων, δημιουργήστε embeddings εστιασμένων αποσπασμάτων και συγκρίνετέ τα με ερώτημα διαμορφωμένο βάσει σκοπού, έπειτα παρουσιάστε τα αποσπάσματα πηγής δίπλα στο αποτέλεσμα αναζήτησης. Για ήχο ή βίντεο, επιλέξτε το επεισόδιο που περιγράφει το αναζητήσιμο γεγονός και κρατήστε το αρχικό χρονικό διάστημά του. Το χρήσιμο παραδοτέο είναι αριθμητική αναπαράσταση συνδεδεμένη με στοιχεία πηγής για το επόμενο βήμα αναζήτησης ή ανάλυσης της εφαρμογής.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Διανυσματικές αναπαραστάσεις</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Έξοδος</dt><dd><code>embedding</code></dd></div><div><dt>Παράθυρο συμφραζομένων</dt><dd>8.192 tokens</dd></div><div><dt>Μορφή εξόδου</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>google/gemini-embedding-2</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο πλήθος στοιχείων: 1</div><div>Συνθήκες: Μη κενή ομοιογενής παρτίδα. Τα ID των token είναι μη αρνητικοί ακέραιοι.</div><div>Προϋπολογισμός εισόδου: Μέγιστο: 8.192 · Μονάδα κειμένου: byte UTF8 · Μονάδα token: στοιχεία πίνακα token</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>float</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>integer</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Δεν υποστηρίζεται</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>json_value</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>json_value</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>json_value</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>object</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: Το provider.options απορρίφθηκε</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, input</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>input_shapes</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>encoding_format</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>float</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>dimensions_override</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>max_input_budget_units</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>8192</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>multimodal_objects</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text, token_ids</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_json</code></p><p class=\"note-s\">Διατηρήστε τον δείκτη και τη διάσταση κάθε διανύσματος.</p><p class=\"note-s\">Το όνομα πολυτροπικού μοντέλου δεν επιτρέπει αντικείμενα εικόνας σε αυτήν ακριβώς τη διαδρομή.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Τυπική χρέωση <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Τυπική χρέωση <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Τυπική χρέωση <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις ανά token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Διανυσματικές αναπαραστάσεις</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1487-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1487-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1487-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1487-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1487-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1487-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/gemini-embedding-2&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1487-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1487-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;google/gemini-embedding-2&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · Διανυσματικές αναπαραστάσεις</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε κάθε διάνυσμα με τον δείκτη του. Το πλήθος των διανυσμάτων πρέπει να ισούται με το πλήθος των στοιχείων εισόδου· οι διαστάσεις πρέπει να είναι συνεπείς.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Δεν εισάγεται endpoint εργασιών ενσωμάτωσης.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>finite float[]</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemini-embedding-2&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2&amp;fmt=embeddings\"><code>google/gemini-embedding-2</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-embedding-2&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2&amp;fmt=embeddings\"><code>google/gemini-embedding-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-embedding-2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Δεν εισάγεται endpoint εργασιών ενσωμάτωσης."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε διάνυσμα με τον δείκτη του. Το πλήθος των διανυσμάτων πρέπει να ισούται με το πλήθος των στοιχείων εισόδου· οι διαστάσεις πρέπει να είναι συνεπείς.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "byte UTF8",
                  "token_unit": "στοιχεία πίνακα token"
                },
                "conditions": "Μη κενή ομοιογενής παρτίδα. Τα ID των token είναι μη αρνητικοί ακέραιοι.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "Το provider.options απορρίφθηκε",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Διατηρήστε τον δείκτη και τη διάσταση κάθε διανύσματος.",
            "Το όνομα πολυτροπικού μοντέλου δεν επιτρέπει αντικείμενα εικόνας σε αυτήν ακριβώς τη διαδρομή."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Βασικές χρεώσεις ανά token",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemini-embedding-2\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='google/gemini-embedding-2',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Γρήγορη λειτουργία",
            "value": "Τυπική χρέωση",
            "when": "Όταν επιλέγεται η γρήγορη λειτουργία"
          },
          {
            "label": "Λειτουργία flex",
            "value": "Τυπική χρέωση",
            "when": "Όταν επιλέγεται η λειτουργία flex"
          },
          {
            "label": "Μέγιστη προσπάθεια συλλογισμού",
            "value": "Τυπική χρέωση",
            "when": "Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-embedding-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7cd7d01a4e053563bb1e8a0bd444ddc6d65dd2c428cc7fb5b87c6ca39e20fcde",
    "input_html_sha256": "9ac3e2c9af54ad5959fa88508cf364e2ff20fdc680bdbbe7403eebc65072e6b0",
    "private_audit_sha256": "00c89c9ae868aeb3fb207f69ccd8ccbbb1ab55dc2cdf880e1e305caa0ffa1e13",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/google-gemini-embedding-2/",
    "description": "Το Gemini Embedding 2 αντιστοιχίζει κείμενο, εικόνες, ήχο, βίντεο και PDF σε κοινό αριθμητικό χώρο. Τα διανύσματά του υποστηρίζουν διατροπική αναζήτηση, ανάκτηση, ταξινόμηση και ομαδοποίηση, με ευέλικτες διαστάσεις και όριο εισόδου 8192 tokens.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/google-gemini-embedding-2/index.md",
    "title": "Google: Gemini Embedding 2 — Ailoot",
    "url": "https://ailoot.ai/models/el/google-gemini-embedding-2/"
  },
  "rawModel": {
    "about": "Το Gemini Embedding 2 είναι το πολυτροπικό μοντέλο embeddings της Google για αριθμητική αναπαράσταση κειμένου, εικόνων, βίντεο, ήχου και PDF. Αντιστοιχίζει τους διαφορετικούς τύπους μέσων σε κοινό χώρο ώστε μια εφαρμογή να συγκρίνει νόημα μεταξύ τους. Το αποτέλεσμα είναι διάνυσμα αριθμών, χρήσιμο για σημασιολογική αναζήτηση, ανάκτηση εγγράφων, συστάσεις, ταξινόμηση ή ομαδοποίηση· δεν είναι γραπτή απάντηση ή παραγόμενο αρχείο μέσων. Η Google τεκμηριώνει σημασιολογική κάλυψη σε περισσότερες από 100 γλώσσες.\n\nΓια βάση γνώσης, δημιουργήστε διανύσματα για τα αποσπάσματα πηγής, συγκρίνετε ερώτημα χρήστη με αυτά και ανακτήστε το σχετικό υλικό. Ένα χωριστό μοντέλο κειμένου μπορεί κατόπιν να συνθέτει απάντηση χρησιμοποιώντας αυτές τις πηγές. Για συλλογή μέσων, μια κειμενική περιγραφή μπορεί να αναζητά σχετικές εικόνες ή βίντεο· μια εικόνα μπορεί επίσης να παρέχει το ερώτημα. Διατηρήστε τη σύνδεση κάθε διανύσματος με το αρχικό περιεχόμενο, συμπεριλαμβανομένης αναφοράς σελίδας ή αποσπάσματος, ώστε το ανακτημένο αποτέλεσμα να εξετάζεται και να εμφανίζεται στο αρχικό πλαίσιό του.\n\nΤο συνολικό όριο εισόδου είναι 8192 tokens. Ο οδηγός του σταθερού μοντέλου επιτρέπει έως έξι εικόνες PNG ή JPEG, έως 180 δευτερόλεπτα ήχου MP3 ή WAV και έως 120 δευτερόλεπτα βίντεο MP4 ή MOV. Οι τεκμηριωμένοι codecs βίντεο είναι H264, H265, AV1 και VP9. Η επεξεργασία βίντεο χρησιμοποιεί το πολύ 32 καρέ: αποσπάσματα έως 32 δευτερόλεπτα δειγματοληπτούνται με ένα καρέ ανά δευτερόλεπτο, ενώ μεγαλύτερα αποσπάσματα δειγματοληπτούνται ομοιόμορφα σε 32 καρέ. Το ηχητικό κανάλι ενός βίντεο δεν επεξεργάζεται μέσα σε εκείνη την είσοδο βίντεο· δημιουργήστε embedding του ήχου χωριστά όταν έχει σημασία για την ανάκτηση.\n\nΗ είσοδος PDF δέχεται ένα αρχείο με το πολύ έξι σελίδες. Η Google συνιστά μία σελίδα ανά PDF για την καλύτερη ποιότητα. Διαιρέστε μεγαλύτερη πηγή σε ουσιαστικές σελίδες ή ενότητες και κρατήστε τη σχέση τους με το αρχικό έγγραφο. Επιλέξτε απόσπασμα που αναπαριστά αυτό που πρέπει να είναι ανακτήσιμο αντί να συνδυάζετε άσχετα υλικά μόνο επειδή χωρούν στο όριο. Το κοινό όριο tokens εξακολουθεί να ισχύει για αίτημα μεικτών μέσων. Κάθε σελίδα PDF καταναλώνει 258 οπτικά tokens επιπλέον των tokens του εξαγόμενου κειμένου της. Στην τεκμηριωμένη ροή της Google, περιεχόμενο που υπερβαίνει το κοινό όριο 8192 tokens περικόπτεται χωρίς σφάλμα.\n\nΗ διάσταση εξόδου είναι ευέλικτη από 128 έως 3072, με προεπιλογή 3072 και προτεινόμενα μεγέθη 768, 1536 και 3072. Το μοντέλο χρησιμοποιεί Matryoshka Representation Learning, επομένως προθέματα του διανύσματος παραμένουν χρήσιμα σε μικρότερες διαστάσεις. Ο οδηγός τεκμηριώνει αυτόματη κανονικοποίηση τόσο για προεπιλεγμένα όσο και για συντομευμένα διανύσματα. Επιλέξτε συνεπή διάσταση για τις εγγραφές και τα ερωτήματα που συγκρίνει η εφαρμογή σας· το ζητούμενο μέγεθος αλλάζει την αριθμητική αναπαράσταση, όχι το ίδιο το περιεχόμενο πηγής.\n\nΓια εργασίες μόνο κειμένου, συμπεριλάβετε τον σκοπό στο κείμενο αντί να χρησιμοποιείτε το παλαιότερο πεδίο task_type. Η Google διακρίνει την ασύμμετρη ανάκτηση από τη συμμετρική σύγκριση. Ένα ερώτημα αναζήτησης χρησιμοποιεί «task: search result | query: {content}», ενώ ένα έγγραφο πηγής χρησιμοποιεί «title: {title} | text: {content}»· χρησιμοποιήστε «title: none» αν δεν έχει τίτλο. Οι εργασίες ερωτήματος-απάντησης, ελέγχου γεγονότων και ανάκτησης κώδικα έχουν δικά τους προθέματα ερωτήματος. Για ταξινόμηση, ομαδοποίηση ή ομοιότητα προτάσεων, χρησιμοποιήστε την ίδια μορφή εργασίας με συνέπεια και στις δύο πλευρές. Ο οδηγός γενικά αποθαρρύνει την προσθήκη προθέματος εργασίας στο κειμενικό μέρος συνδυασμένης πολυτροπικής αναπαράστασης.\n\nΗ δομή εισόδου καθορίζει αν το αποτέλεσμα αναπαριστά ένα συνδυασμένο αντικείμενο ή χωριστά στοιχεία. Πολλά μέρη που παρέχονται μαζί δημιουργούν συγκεντρωτικό embedding· χωριστά αντικείμενα Content δημιουργούν χωριστά embeddings για κάθε εγγραφή. Για ανάρτηση που περιέχει κείμενο και εικόνα, μια συνδυασμένη αναπαράσταση μπορεί να αποτυπώνει τη σχέση τους. Για ανεξάρτητα αναζητήσιμες εγγραφές, κρατήστε τις χωριστές. Αυτή η επιλογή επηρεάζει τον βαθμό ανάλυσης ανάκτησης: ένα διάνυσμα για ολόκληρη ανάρτηση διαφέρει από ένα για κάθε απόσπασμα ή εικόνα.\n\nΟ οδηγός δηλώνει ότι διανύσματα από Gemini Embedding 001 και Gemini Embedding 2 καταλαμβάνουν ασύμβατους χώρους και δεν μπορούν να συγκριθούν απευθείας. Μια συλλογή που μεταφέρεται από το παλαιότερο μοντέλο χρειάζεται εκ νέου embeddings για τον νέο χώρο. Κρατήστε την επιλογή μοντέλου και τις διαστάσεις συνεπείς με τα διανύσματα που συγκρίνονται και διατηρήστε το αρχικό κείμενο και τα μέσα χωριστά από το αριθμητικό ευρετήριο. Η ομοιότητα embedding είναι σήμα ανάκτησης αντί για πραγματολογική εξήγηση του γιατί ένα έγγραφο απαντά στο ερώτημα χρήστη.\n\nΓια πρακτικό κατάλογο, δημιουργήστε ένα συνδυασμένο embedding της φωτογραφίας προϊόντος και της εγκεκριμένης περιγραφής του όταν το ζεύγος πρέπει να ανακτάται ως ένα αντικείμενο. Για συλλογή εγγράφων, δημιουργήστε embeddings εστιασμένων αποσπασμάτων και συγκρίνετέ τα με ερώτημα διαμορφωμένο βάσει σκοπού, έπειτα παρουσιάστε τα αποσπάσματα πηγής δίπλα στο αποτέλεσμα αναζήτησης. Για ήχο ή βίντεο, επιλέξτε το επεισόδιο που περιγράφει το αναζητήσιμο γεγονός και κρατήστε το αρχικό χρονικό διάστημά του. Το χρήσιμο παραδοτέο είναι αριθμητική αναπαράσταση συνδεδεμένη με στοιχεία πηγής για το επόμενο βήμα αναζήτησης ή ανάλυσης της εφαρμογής.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/gemini-embedding-2",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text",
        "image",
        "file",
        "audio",
        "video"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": 8192,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "google/gemini-embedding-2",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Δεν εισάγεται endpoint εργασιών ενσωμάτωσης."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε διάνυσμα με τον δείκτη του. Το πλήθος των διανυσμάτων πρέπει να ισούται με το πλήθος των στοιχείων εισόδου· οι διαστάσεις πρέπει να είναι συνεπείς.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "byte UTF8",
                  "token_unit": "στοιχεία πίνακα token"
                },
                "conditions": "Μη κενή ομοιογενής παρτίδα. Τα ID των token είναι μη αρνητικοί ακέραιοι.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Η πηγή επιτρέπει αυτό το πεδίο μεταδεδομένων JSON· η ακριβής σημασιολογία του ανάντη συστήματος εξαρτάται από το μοντέλο.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "Το provider.options απορρίφθηκε",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Διατηρήστε τον δείκτη και τη διάσταση κάθε διανύσματος.",
            "Το όνομα πολυτροπικού μοντέλου δεν επιτρέπει αντικείμενα εικόνας σε αυτήν ακριβώς τη διαδρομή."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Βασικές χρεώσεις ανά token",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemini-embedding-2\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='google/gemini-embedding-2',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Γρήγορη λειτουργία",
            "value": "Τυπική χρέωση",
            "when": "Όταν επιλέγεται η γρήγορη λειτουργία"
          },
          {
            "label": "Λειτουργία flex",
            "value": "Τυπική χρέωση",
            "when": "Όταν επιλέγεται η λειτουργία flex"
          },
          {
            "label": "Μέγιστη προσπάθεια συλλογισμού",
            "value": "Τυπική χρέωση",
            "when": "Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-embedding-2",
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini Embedding 2",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "google/gemini-embedding-2",
    "short": "Το Gemini Embedding 2 αντιστοιχίζει κείμενο, εικόνες, ήχο, βίντεο και PDF σε κοινό αριθμητικό χώρο. Τα διανύσματά του υποστηρίζουν διατροπική αναζήτηση, ανάκτηση, ταξινόμηση και ομαδοποίηση, με ευέλικτες διαστάσεις και όριο εισόδου 8192 tokens."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Το Gemini Embedding 2 αντιστοιχίζει κείμενο, εικόνες, ήχο, βίντεο και PDF σε κοινό αριθμητικό χώρο. Τα διανύσματά του υποστηρίζουν διατροπική αναζήτηση, ανάκτηση, ταξινόμηση και ομαδοποίηση, με ευέλικτες διαστάσεις και όριο εισόδου 8192 tokens.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "190e69cab59e1c648be6d98ffe504d8b8f22717255319d753e5d6e45b5afd5c7",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "126672a9415c8fa4d67efe4d281b7363bd7d50325a0765f7236de1a54cc4d8d0"
}
