{
  "aboutHtml": "<p>Voyage 3 Large là mô hình embedding văn bản để tìm thông tin liên quan trong tập tài liệu. Mô hình biểu diễn mỗi văn bản được cung cấp bằng một vector số, cho phép ứng dụng so sánh yêu cầu tìm kiếm với các đoạn có cách diễn đạt khác nhưng ý nghĩa liên quan. Voyage AI định vị phiên bản này cho truy xuất đa dụng và đa ngôn ngữ, bao gồm tài liệu kỹ thuật, hội thoại và tài liệu dài.</p><p>Xây dựng tập có thể tìm kiếm từ thông tin mà người dùng thực sự cần tìm lại. Với cơ sở tri thức sản phẩm, giữ phần giải thích một tính năng cùng điều kiện tiên quyết và ngoại lệ liên quan. Với biên bản họp, giữ nhãn người nói và đủ nội dung thảo luận xung quanh để hiểu chủ đề. Chia nguồn lớn tại các ranh giới hữu ích và lưu tiêu đề nguồn, mã định danh tài liệu cùng vị trí đoạn bên cạnh từng vector.</p><p>Chuẩn bị câu hỏi tìm kiếm dưới vai trò truy vấn, còn tài liệu được lập chỉ mục dưới vai trò tài liệu. Trong quy trình embedding văn bản của nhà sản xuất, kiểu đầu vào cho mô hình biết vai trò truy xuất của văn bản. Khi đó có thể so sánh truy vấn như «Thành viên có thể khôi phục quyền truy cập sau khi mất khóa bảo mật bằng cách nào?» với các đoạn hỗ trợ mô tả quy trình khôi phục, ngay cả khi các đoạn dùng cách diễn đạt khác. Giữ đoạn gốc để kết quả tìm kiếm có thể cho thấy bằng chứng làm căn cứ cho sự phù hợp.</p><p>Mô hình có cửa sổ ngữ cảnh 32 000 token. Đầu vào dài có thể giữ trọn một phần tài liệu, nhưng cả tài liệu không phải lúc nào cũng là đơn vị tìm kiếm hữu ích nhất. Vector bao quát có thể chỉ đến đúng tệp nhưng vẫn để người đọc tự tìm câu trả lời cụ thể. Chọn ranh giới đoạn theo kết quả muốn hiển thị, giữ tiêu đề, các điều kiện và định nghĩa cùng nội dung mà chúng giải thích.</p><p>Voyage 3 Large hỗ trợ vector có 2 048, 1 024, 512 hoặc 256 chiều. Nhà sản xuất cũng tài liệu hóa các cách biểu diễn dấu phẩy động, tám bit có dấu hoặc không dấu và nhị phân. Những lựa chọn này cho phép hệ thống truy xuất đối chiếu độ chi tiết của vector với kích thước chỉ mục và hành vi tìm kiếm. Chọn định dạng được kho vector dự kiến hỗ trợ, rồi đánh giá trên kho văn bản thực tế và các câu hỏi đại diện trước khi chọn thiết lập chỉ mục dùng chính thức.</p><p>Với tìm kiếm đa ngôn ngữ, đưa vào các câu hỏi thử nghiệm bằng những ngôn ngữ người dùng sử dụng và xem xét các đoạn nguồn truy xuất được bằng ngôn ngữ gốc. Giao diện tìm kiếm chung có thể phục vụ nhiều tập ngôn ngữ, còn siêu dữ liệu tài liệu vẫn xác định ngôn ngữ và phiên bản nguồn. Khi trích xuất, giữ các tên, chữ viết tắt và thuật ngữ chuyên ngành có ý nghĩa, thay vì thay bằng bản tóm tắt chung trước khi tạo embedding.</p><p>Dùng vector để truy xuất các đoạn ứng viên cho trang tìm kiếm, trợ lý tri thức hoặc bước chọn tài liệu. Giữ cùng mô hình và thiết lập vector cho tập đã lập chỉ mục và các truy vấn của tập đó. Khi thay mô hình embedding hoặc đổi số chiều vector, chủ động xây dựng lại và so sánh chỉ mục bị ảnh hưởng; chỉ độ dài vector không xác định được cách tạo ra nó.</p><p>Đánh giá kết quả theo tính hữu ích của việc truy xuất: đoạn đúng có xuất hiện không, những đoạn gần nghĩa nhưng gây nhầm lẫn có xếp trên nó không, và đoạn trích hiển thị có chứa câu trả lời không. Giữ một tập nhỏ các câu hỏi thực tế với nguồn mong đợi, gồm cách diễn đạt mơ hồ và tài liệu gần trùng lặp. Embedding cung cấp biểu diễn có thể tìm kiếm; ứng dụng giữ văn bản nguồn, quyền truy cập và liên kết cần thiết để biến sự phù hợp thành kết quả dùng được.</p>",
  "aboutText": "Voyage 3 Large là mô hình embedding văn bản để tìm thông tin liên quan trong tập tài liệu. Mô hình biểu diễn mỗi văn bản được cung cấp bằng một vector số, cho phép ứng dụng so sánh yêu cầu tìm kiếm với các đoạn có cách diễn đạt khác nhưng ý nghĩa liên quan. Voyage AI định vị phiên bản này cho truy xuất đa dụng và đa ngôn ngữ, bao gồm tài liệu kỹ thuật, hội thoại và tài liệu dài.\n\nXây dựng tập có thể tìm kiếm từ thông tin mà người dùng thực sự cần tìm lại. Với cơ sở tri thức sản phẩm, giữ phần giải thích một tính năng cùng điều kiện tiên quyết và ngoại lệ liên quan. Với biên bản họp, giữ nhãn người nói và đủ nội dung thảo luận xung quanh để hiểu chủ đề. Chia nguồn lớn tại các ranh giới hữu ích và lưu tiêu đề nguồn, mã định danh tài liệu cùng vị trí đoạn bên cạnh từng vector.\n\nChuẩn bị câu hỏi tìm kiếm dưới vai trò truy vấn, còn tài liệu được lập chỉ mục dưới vai trò tài liệu. Trong quy trình embedding văn bản của nhà sản xuất, kiểu đầu vào cho mô hình biết vai trò truy xuất của văn bản. Khi đó có thể so sánh truy vấn như «Thành viên có thể khôi phục quyền truy cập sau khi mất khóa bảo mật bằng cách nào?» với các đoạn hỗ trợ mô tả quy trình khôi phục, ngay cả khi các đoạn dùng cách diễn đạt khác. Giữ đoạn gốc để kết quả tìm kiếm có thể cho thấy bằng chứng làm căn cứ cho sự phù hợp.\n\nMô hình có cửa sổ ngữ cảnh 32 000 token. Đầu vào dài có thể giữ trọn một phần tài liệu, nhưng cả tài liệu không phải lúc nào cũng là đơn vị tìm kiếm hữu ích nhất. Vector bao quát có thể chỉ đến đúng tệp nhưng vẫn để người đọc tự tìm câu trả lời cụ thể. Chọn ranh giới đoạn theo kết quả muốn hiển thị, giữ tiêu đề, các điều kiện và định nghĩa cùng nội dung mà chúng giải thích.\n\nVoyage 3 Large hỗ trợ vector có 2 048, 1 024, 512 hoặc 256 chiều. Nhà sản xuất cũng tài liệu hóa các cách biểu diễn dấu phẩy động, tám bit có dấu hoặc không dấu và nhị phân. Những lựa chọn này cho phép hệ thống truy xuất đối chiếu độ chi tiết của vector với kích thước chỉ mục và hành vi tìm kiếm. Chọn định dạng được kho vector dự kiến hỗ trợ, rồi đánh giá trên kho văn bản thực tế và các câu hỏi đại diện trước khi chọn thiết lập chỉ mục dùng chính thức.\n\nVới tìm kiếm đa ngôn ngữ, đưa vào các câu hỏi thử nghiệm bằng những ngôn ngữ người dùng sử dụng và xem xét các đoạn nguồn truy xuất được bằng ngôn ngữ gốc. Giao diện tìm kiếm chung có thể phục vụ nhiều tập ngôn ngữ, còn siêu dữ liệu tài liệu vẫn xác định ngôn ngữ và phiên bản nguồn. Khi trích xuất, giữ các tên, chữ viết tắt và thuật ngữ chuyên ngành có ý nghĩa, thay vì thay bằng bản tóm tắt chung trước khi tạo embedding.\n\nDùng vector để truy xuất các đoạn ứng viên cho trang tìm kiếm, trợ lý tri thức hoặc bước chọn tài liệu. Giữ cùng mô hình và thiết lập vector cho tập đã lập chỉ mục và các truy vấn của tập đó. Khi thay mô hình embedding hoặc đổi số chiều vector, chủ động xây dựng lại và so sánh chỉ mục bị ảnh hưởng; chỉ độ dài vector không xác định được cách tạo ra nó.\n\nĐánh giá kết quả theo tính hữu ích của việc truy xuất: đoạn đúng có xuất hiện không, những đoạn gần nghĩa nhưng gây nhầm lẫn có xếp trên nó không, và đoạn trích hiển thị có chứa câu trả lời không. Giữ một tập nhỏ các câu hỏi thực tế với nguồn mong đợi, gồm cách diễn đạt mơ hồ và tài liệu gần trùng lặp. Embedding cung cấp biểu diễn có thể tìm kiếm; ứng dụng giữ văn bản nguồn, quyền truy cập và liên kết cần thiết để biến sự phù hợp thành kết quả dùng được.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "973a777a1cac91e7a0a321ecd7086632ed2313485463fa853b0c9cb27f47dace",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "vi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Voyage AI: Voyage 3 Large</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3-large</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức 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|voyage-3-large\">Biểu diễn nhúng</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\">Bắt đầu</h3><p class=\"mdesc-full\">Voyage 3 Large chuyển văn bản thành vector để truy xuất thông tin đa dụng và đa ngôn ngữ. Cửa sổ đầu vào 32 000 token, số chiều vector có thể chọn và các định dạng lượng tử hóa hỗ trợ xây dựng cơ sở tri thức có thể tìm kiếm, tìm tài liệu và tạo nội dung tăng cường bằng truy xuất.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Văn bản</dd></div><div><dt>Kết quả</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Về mô hình</summary><p class=\"note-s\" data-model-method-boundary>Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage 3 Large là mô hình embedding văn bản để tìm thông tin liên quan trong tập tài liệu. Mô hình biểu diễn mỗi văn bản được cung cấp bằng một vector số, cho phép ứng dụng so sánh yêu cầu tìm kiếm với các đoạn có cách diễn đạt khác nhưng ý nghĩa liên quan. Voyage AI định vị phiên bản này cho truy xuất đa dụng và đa ngôn ngữ, bao gồm tài liệu kỹ thuật, hội thoại và tài liệu dài.</p><p>Xây dựng tập có thể tìm kiếm từ thông tin mà người dùng thực sự cần tìm lại. Với cơ sở tri thức sản phẩm, giữ phần giải thích một tính năng cùng điều kiện tiên quyết và ngoại lệ liên quan. Với biên bản họp, giữ nhãn người nói và đủ nội dung thảo luận xung quanh để hiểu chủ đề. Chia nguồn lớn tại các ranh giới hữu ích và lưu tiêu đề nguồn, mã định danh tài liệu cùng vị trí đoạn bên cạnh từng vector.</p><p>Chuẩn bị câu hỏi tìm kiếm dưới vai trò truy vấn, còn tài liệu được lập chỉ mục dưới vai trò tài liệu. Trong quy trình embedding văn bản của nhà sản xuất, kiểu đầu vào cho mô hình biết vai trò truy xuất của văn bản. Khi đó có thể so sánh truy vấn như «Thành viên có thể khôi phục quyền truy cập sau khi mất khóa bảo mật bằng cách nào?» với các đoạn hỗ trợ mô tả quy trình khôi phục, ngay cả khi các đoạn dùng cách diễn đạt khác. Giữ đoạn gốc để kết quả tìm kiếm có thể cho thấy bằng chứng làm căn cứ cho sự phù hợp.</p><p>Mô hình có cửa sổ ngữ cảnh 32 000 token. Đầu vào dài có thể giữ trọn một phần tài liệu, nhưng cả tài liệu không phải lúc nào cũng là đơn vị tìm kiếm hữu ích nhất. Vector bao quát có thể chỉ đến đúng tệp nhưng vẫn để người đọc tự tìm câu trả lời cụ thể. Chọn ranh giới đoạn theo kết quả muốn hiển thị, giữ tiêu đề, các điều kiện và định nghĩa cùng nội dung mà chúng giải thích.</p><p>Voyage 3 Large hỗ trợ vector có 2 048, 1 024, 512 hoặc 256 chiều. Nhà sản xuất cũng tài liệu hóa các cách biểu diễn dấu phẩy động, tám bit có dấu hoặc không dấu và nhị phân. Những lựa chọn này cho phép hệ thống truy xuất đối chiếu độ chi tiết của vector với kích thước chỉ mục và hành vi tìm kiếm. Chọn định dạng được kho vector dự kiến hỗ trợ, rồi đánh giá trên kho văn bản thực tế và các câu hỏi đại diện trước khi chọn thiết lập chỉ mục dùng chính thức.</p><p>Với tìm kiếm đa ngôn ngữ, đưa vào các câu hỏi thử nghiệm bằng những ngôn ngữ người dùng sử dụng và xem xét các đoạn nguồn truy xuất được bằng ngôn ngữ gốc. Giao diện tìm kiếm chung có thể phục vụ nhiều tập ngôn ngữ, còn siêu dữ liệu tài liệu vẫn xác định ngôn ngữ và phiên bản nguồn. Khi trích xuất, giữ các tên, chữ viết tắt và thuật ngữ chuyên ngành có ý nghĩa, thay vì thay bằng bản tóm tắt chung trước khi tạo embedding.</p><p>Dùng vector để truy xuất các đoạn ứng viên cho trang tìm kiếm, trợ lý tri thức hoặc bước chọn tài liệu. Giữ cùng mô hình và thiết lập vector cho tập đã lập chỉ mục và các truy vấn của tập đó. Khi thay mô hình embedding hoặc đổi số chiều vector, chủ động xây dựng lại và so sánh chỉ mục bị ảnh hưởng; chỉ độ dài vector không xác định được cách tạo ra nó.</p><p>Đánh giá kết quả theo tính hữu ích của việc truy xuất: đoạn đúng có xuất hiện không, những đoạn gần nghĩa nhưng gây nhầm lẫn có xếp trên nó không, và đoạn trích hiển thị có chứa câu trả lời không. Giữ một tập nhỏ các câu hỏi thực tế với nguồn mong đợi, gồm cách diễn đạt mơ hồ và tài liệu gần trùng lặp. Embedding cung cấp biểu diễn có thể tìm kiếm; ứng dụng giữ văn bản nguồn, quyền truy cập và liên kết cần thiết để biến sự phù hợp thành kết quả dùng được.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Có trên Ailoot · đầu vào &amp; phương thức</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Biểu diễn nhúng</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>text</code></dd></div><div><dt>Đầu ra</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>voyage-3-large</div><div>Điều kiện: Dùng bộ chọn mô hình Ailoot chính xác.</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Điều kiện: Một văn bản hoặc danh sách văn bản; giữ lại một vectơ cùng chỉ số tương ứng cho mỗi mục dữ liệu được trả về.</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Tham số phương thức và vòng đời</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Tham số</th><th>Hợp đồng</th></tr></thead><tbody><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>content_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, input</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>optional</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span></td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>material_types</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>text</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>conditions</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>Gửi văn bản với mô hình đã chọn; giữ lại mọi vectơ được trả về và chỉ số tương ứng.</td></tr></tbody></table></div><p>Vòng đời: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.</p><dl data-price-conditions><dt>Chế độ nhanh</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ nhanh</span></dd><dt>Chế độ Flex</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ flex</span></dd><dt>Mức độ suy luận tối đa</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa</span></dd></dl></div><div data-declared-tariff-pricing><h4>Mức phí Ailoot</h4><h4>Giá theo cấu hình</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Biểu mức phí</th><th>Phí</th></tr></thead><tbody><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Đơn giá token cơ bản</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>Mức phí cơ bản</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Token đầu vào</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Biểu diễn nhúng</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Các phiên bản mã\"><button class=\"cg-tab\" id=\"model-code-2787-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2787-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · lưu tất cả vector và dữ liệu sử dụng</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><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-2787-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2787-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-3-large&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Bí danh</h3><h4>Bí danh mô hình</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></span></p><h4>Bí danh đường dẫn phương thức</h4><p class=\"note-s\">Dùng các đường dẫn phương thức hiển thị ở trên.</p><h4>ID gọi liên quan</h4><p class=\"note-s\"><a href=\"#m=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3-large",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3-large",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Giữ lại phản hồi gốc và X-Client-Request-ID để đối soát. Phản hồi không rõ ràng không đồng nghĩa với việc được phép gửi lại cùng một yêu cầu tạo.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Lưu toàn bộ phản hồi JSON, từng vectơ kèm chỉ mục của nó, tất cả các trường về mức sử dụng và các trường tiêu đề của yêu cầu.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Dùng bộ chọn mô hình Ailoot chính xác.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Một văn bản hoặc danh sách văn bản; giữ lại một vectơ cùng chỉ số tương ứng cho mỗi mục dữ liệu được trả về.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Gửi văn bản với mô hình đã chọn; giữ lại mọi vectơ được trả về và chỉ số tương ứng."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Đơn giá token cơ bản",
            "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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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": "voyage-3-large",
        "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": "voyage-3-large",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "487c3983fea40bb3fe4e16d19719acf4a8ceb70d2556c8666ebf35761aae8a37",
    "input_html_sha256": "a5c21fd911a7f17c5d9048123fc2b6cc4ebd6fc20fd7ee201de5b7c53bc90988",
    "private_audit_sha256": "2a9efea42cb211bc3e81773c03cfad42c075e896e1abc7720479200d40802b73",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/voyage-3-large/",
    "description": "Voyage 3 Large chuyển văn bản thành vector để truy xuất thông tin đa dụng và đa ngôn ngữ. Cửa sổ đầu vào 32 000 token, số chiều vector có thể chọn và các định dạng lượng tử hóa hỗ trợ xây dựng cơ sở tri thức có thể tìm kiếm, tìm tài liệu và tạo nội dung tăng cường bằng truy xuất.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/voyage-3-large/index.md",
    "title": "Voyage AI: Voyage 3 Large — Ailoot",
    "url": "https://ailoot.ai/models/vi/voyage-3-large/"
  },
  "rawModel": {
    "about": "Voyage 3 Large là mô hình embedding văn bản để tìm thông tin liên quan trong tập tài liệu. Mô hình biểu diễn mỗi văn bản được cung cấp bằng một vector số, cho phép ứng dụng so sánh yêu cầu tìm kiếm với các đoạn có cách diễn đạt khác nhưng ý nghĩa liên quan. Voyage AI định vị phiên bản này cho truy xuất đa dụng và đa ngôn ngữ, bao gồm tài liệu kỹ thuật, hội thoại và tài liệu dài.\n\nXây dựng tập có thể tìm kiếm từ thông tin mà người dùng thực sự cần tìm lại. Với cơ sở tri thức sản phẩm, giữ phần giải thích một tính năng cùng điều kiện tiên quyết và ngoại lệ liên quan. Với biên bản họp, giữ nhãn người nói và đủ nội dung thảo luận xung quanh để hiểu chủ đề. Chia nguồn lớn tại các ranh giới hữu ích và lưu tiêu đề nguồn, mã định danh tài liệu cùng vị trí đoạn bên cạnh từng vector.\n\nChuẩn bị câu hỏi tìm kiếm dưới vai trò truy vấn, còn tài liệu được lập chỉ mục dưới vai trò tài liệu. Trong quy trình embedding văn bản của nhà sản xuất, kiểu đầu vào cho mô hình biết vai trò truy xuất của văn bản. Khi đó có thể so sánh truy vấn như «Thành viên có thể khôi phục quyền truy cập sau khi mất khóa bảo mật bằng cách nào?» với các đoạn hỗ trợ mô tả quy trình khôi phục, ngay cả khi các đoạn dùng cách diễn đạt khác. Giữ đoạn gốc để kết quả tìm kiếm có thể cho thấy bằng chứng làm căn cứ cho sự phù hợp.\n\nMô hình có cửa sổ ngữ cảnh 32 000 token. Đầu vào dài có thể giữ trọn một phần tài liệu, nhưng cả tài liệu không phải lúc nào cũng là đơn vị tìm kiếm hữu ích nhất. Vector bao quát có thể chỉ đến đúng tệp nhưng vẫn để người đọc tự tìm câu trả lời cụ thể. Chọn ranh giới đoạn theo kết quả muốn hiển thị, giữ tiêu đề, các điều kiện và định nghĩa cùng nội dung mà chúng giải thích.\n\nVoyage 3 Large hỗ trợ vector có 2 048, 1 024, 512 hoặc 256 chiều. Nhà sản xuất cũng tài liệu hóa các cách biểu diễn dấu phẩy động, tám bit có dấu hoặc không dấu và nhị phân. Những lựa chọn này cho phép hệ thống truy xuất đối chiếu độ chi tiết của vector với kích thước chỉ mục và hành vi tìm kiếm. Chọn định dạng được kho vector dự kiến hỗ trợ, rồi đánh giá trên kho văn bản thực tế và các câu hỏi đại diện trước khi chọn thiết lập chỉ mục dùng chính thức.\n\nVới tìm kiếm đa ngôn ngữ, đưa vào các câu hỏi thử nghiệm bằng những ngôn ngữ người dùng sử dụng và xem xét các đoạn nguồn truy xuất được bằng ngôn ngữ gốc. Giao diện tìm kiếm chung có thể phục vụ nhiều tập ngôn ngữ, còn siêu dữ liệu tài liệu vẫn xác định ngôn ngữ và phiên bản nguồn. Khi trích xuất, giữ các tên, chữ viết tắt và thuật ngữ chuyên ngành có ý nghĩa, thay vì thay bằng bản tóm tắt chung trước khi tạo embedding.\n\nDùng vector để truy xuất các đoạn ứng viên cho trang tìm kiếm, trợ lý tri thức hoặc bước chọn tài liệu. Giữ cùng mô hình và thiết lập vector cho tập đã lập chỉ mục và các truy vấn của tập đó. Khi thay mô hình embedding hoặc đổi số chiều vector, chủ động xây dựng lại và so sánh chỉ mục bị ảnh hưởng; chỉ độ dài vector không xác định được cách tạo ra nó.\n\nĐánh giá kết quả theo tính hữu ích của việc truy xuất: đoạn đúng có xuất hiện không, những đoạn gần nghĩa nhưng gây nhầm lẫn có xếp trên nó không, và đoạn trích hiển thị có chứa câu trả lời không. Giữ một tập nhỏ các câu hỏi thực tế với nguồn mong đợi, gồm cách diễn đạt mơ hồ và tài liệu gần trùng lặp. Embedding cung cấp biểu diễn có thể tìm kiếm; ứng dụng giữ văn bản nguồn, quyền truy cập và liên kết cần thiết để biến sự phù hợp thành kết quả dùng được.",
    "about_sha256": "f8a14551c12ad8f26e408dfc995cf463d79d159d38d8d98b1790a59c1789dcc3",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "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": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage 3 Large",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3-large",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Giữ lại phản hồi gốc và X-Client-Request-ID để đối soát. Phản hồi không rõ ràng không đồng nghĩa với việc được phép gửi lại cùng một yêu cầu tạo.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Lưu toàn bộ phản hồi JSON, từng vectơ kèm chỉ mục của nó, tất cả các trường về mức sử dụng và các trường tiêu đề của yêu cầu.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Dùng bộ chọn mô hình Ailoot chính xác.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Một văn bản hoặc danh sách văn bản; giữ lại một vectơ cùng chỉ số tương ứng cho mỗi mục dữ liệu được trả về.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Gửi văn bản với mô hình đã chọn; giữ lại mọi vectơ được trả về và chỉ số tương ứng."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Đơn giá token cơ bản",
            "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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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": "voyage-3-large",
        "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": "voyage-3-large",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3 Large",
    "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
    },
    "short": "Voyage 3 Large chuyển văn bản thành vector để truy xuất thông tin đa dụng và đa ngôn ngữ. Cửa sổ đầu vào 32 000 token, số chiều vector có thể chọn và các định dạng lượng tử hóa hỗ trợ xây dựng cơ sở tri thức có thể tìm kiếm, tìm tài liệu và tạo nội dung tăng cường bằng truy xuất.",
    "short_sha256": "97e0e5100c1133c3a38a116210c6492617852a455c2338779be2ecc6f0754b10"
  },
  "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": "Voyage 3 Large chuyển văn bản thành vector để truy xuất thông tin đa dụng và đa ngôn ngữ. Cửa sổ đầu vào 32 000 token, số chiều vector có thể chọn và các định dạng lượng tử hóa hỗ trợ xây dựng cơ sở tri thức có thể tìm kiếm, tìm tài liệu và tạo nội dung tăng cường bằng truy xuất.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "51fa38716eee5d3c777922d2434469e0431e0e087022b36f4b47fc918bc353f9",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "9ff54aceb1348d7000f3cd3580c18ce19c4ddac05ab45aa16d1a8b35504db5cc"
}
