{
  "aboutHtml": "<p>Voyage Code 3 là mô hình embedding chuyên truy xuất mã nguồn. Nhà sản xuất mô tả các nhiệm vụ từ ngôn ngữ tự nhiên sang mã, từ mã sang mã và từ docstring sang mã: câu hỏi có thể tìm phần triển khai, đoạn mã có thể tìm logic liên quan và mô tả hàm có thể xác định mã phù hợp. Mô hình tạo vector phục vụ truy xuất, thay vì tệp đã sửa hoặc chương trình hoàn chỉnh.</p><p>Chuẩn bị tài liệu kho mã theo những đơn vị mã có ý nghĩa. Giữ hàm cùng tên, chữ ký và chú thích giải thích mục đích của nó. Với thành phần lớn hơn, thêm các định nghĩa lân cận cần để hiểu thao tác. Lưu kho mã, phiên bản, đường dẫn tệp và vị trí dòng riêng để kết quả tìm kiếm mở đúng nguồn đã được tạo embedding.</p><p>Tìm kiếm bằng ngôn ngữ tự nhiên có thể mô tả hành vi, chẳng hạn tìm phần dự án kiểm tra tệp tải lên trước khi lưu. Truy vấn dựa trên mã có thể cung cấp hàm cần tìm logic tương ứng ở nơi khác. Chọn các lượt tìm kiếm đại diện từ nhiệm vụ phát triển thực tế, gồm cách đặt tên chưa quen, các phần triển khai tương tự và tiện ích có ý nghĩa phụ thuộc vào mã xung quanh.</p><p>Cửa sổ ngữ cảnh 32 000 token chứa được các đoạn mã đáng kể. Sử dụng dung lượng này có chủ đích: hàm hoàn chỉnh và các phần phụ thuộc liên quan có thể cung cấp nhiều thông tin hơn một khối tùy ý bị cắt giữa luồng điều khiển. Giữ định dạng nguồn dễ đọc và bảo toàn cú pháp ngôn ngữ khi trích xuất. Nếu tệp nguồn lớn hơn cửa sổ đầu vào, chia tại các ranh giới cấu trúc hữu ích và giữ quan hệ giữa các đoạn với tệp cha.</p><p>Voyage Code 3 hỗ trợ embedding có 2 048, 1 024, 512 hoặc 256 chiều, cùng các 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. Các thiết lập này phục vụ những kích thước chỉ mục kho mã và cấu hình tìm kiếm khác nhau. Đánh giá biểu diễn gọn trên cùng các lượt tìm kiếm thực tế dùng cho mốc so sánh lớn hơn, kiểm tra hàm hoặc tệp đúng có còn trong các kết quả hữu ích không.</p><p>Với trợ lý lập trình, trước tiên truy xuất các đoạn nguồn liên quan, rồi cung cấp chúng cùng tham chiếu tệp cho thành phần phụ trách trả lời hoặc chỉnh sửa. Sự tương đồng giúp chọn ngữ cảnh; nó không xác lập hai phần triển khai có thể thay thế cho nhau. Kiểm tra đầu vào, tác động phụ và các điều kiện ràng buộc xung quanh trong mã được truy xuất trước khi dùng để định hướng chỉnh sửa.</p><p>Tách các phiên bản kho mã không liên quan bằng siêu dữ liệu và giữ khả năng truy về nguồn của những phiên bản được lập chỉ mục. Nếu hàm chuyển vị trí hoặc đổi hành vi, cập nhật cả vector và vị trí nguồn. Cùng thiết lập embedding cần được dùng cho nguồn được lập chỉ mục và các truy vấn của nó. Khi di chuyển chỉ mục, đối chiếu kết quả với tập câu hỏi có sẵn để mô hình hoặc biểu diễn vector thay đổi không âm thầm đổi mã mà nhà phát triển nhìn thấy.</p><p>Các phép kiểm tra hữu ích gồm truy vấn có tìm phần triển khai thật thay vì chỉ tên kiểm thử không, docstring có tìm đúng hàm tương ứng không, và mã liên quan về ngữ nghĩa có được phân biệt với đoạn chỉ giống bề ngoài không. Giữ văn bản nguồn và vị trí được trả về trong kết quả để nhà phát triển kiểm tra bằng chứng. Điều này biến embedding chuyên về mã của mô hình thành công cụ điều hướng và chọn ngữ cảnh thực tế.</p>",
  "aboutText": "Voyage Code 3 là mô hình embedding chuyên truy xuất mã nguồn. Nhà sản xuất mô tả các nhiệm vụ từ ngôn ngữ tự nhiên sang mã, từ mã sang mã và từ docstring sang mã: câu hỏi có thể tìm phần triển khai, đoạn mã có thể tìm logic liên quan và mô tả hàm có thể xác định mã phù hợp. Mô hình tạo vector phục vụ truy xuất, thay vì tệp đã sửa hoặc chương trình hoàn chỉnh.\n\nChuẩn bị tài liệu kho mã theo những đơn vị mã có ý nghĩa. Giữ hàm cùng tên, chữ ký và chú thích giải thích mục đích của nó. Với thành phần lớn hơn, thêm các định nghĩa lân cận cần để hiểu thao tác. Lưu kho mã, phiên bản, đường dẫn tệp và vị trí dòng riêng để kết quả tìm kiếm mở đúng nguồn đã được tạo embedding.\n\nTìm kiếm bằng ngôn ngữ tự nhiên có thể mô tả hành vi, chẳng hạn tìm phần dự án kiểm tra tệp tải lên trước khi lưu. Truy vấn dựa trên mã có thể cung cấp hàm cần tìm logic tương ứng ở nơi khác. Chọn các lượt tìm kiếm đại diện từ nhiệm vụ phát triển thực tế, gồm cách đặt tên chưa quen, các phần triển khai tương tự và tiện ích có ý nghĩa phụ thuộc vào mã xung quanh.\n\nCửa sổ ngữ cảnh 32 000 token chứa được các đoạn mã đáng kể. Sử dụng dung lượng này có chủ đích: hàm hoàn chỉnh và các phần phụ thuộc liên quan có thể cung cấp nhiều thông tin hơn một khối tùy ý bị cắt giữa luồng điều khiển. Giữ định dạng nguồn dễ đọc và bảo toàn cú pháp ngôn ngữ khi trích xuất. Nếu tệp nguồn lớn hơn cửa sổ đầu vào, chia tại các ranh giới cấu trúc hữu ích và giữ quan hệ giữa các đoạn với tệp cha.\n\nVoyage Code 3 hỗ trợ embedding có 2 048, 1 024, 512 hoặc 256 chiều, cùng các 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. Các thiết lập này phục vụ những kích thước chỉ mục kho mã và cấu hình tìm kiếm khác nhau. Đánh giá biểu diễn gọn trên cùng các lượt tìm kiếm thực tế dùng cho mốc so sánh lớn hơn, kiểm tra hàm hoặc tệp đúng có còn trong các kết quả hữu ích không.\n\nVới trợ lý lập trình, trước tiên truy xuất các đoạn nguồn liên quan, rồi cung cấp chúng cùng tham chiếu tệp cho thành phần phụ trách trả lời hoặc chỉnh sửa. Sự tương đồng giúp chọn ngữ cảnh; nó không xác lập hai phần triển khai có thể thay thế cho nhau. Kiểm tra đầu vào, tác động phụ và các điều kiện ràng buộc xung quanh trong mã được truy xuất trước khi dùng để định hướng chỉnh sửa.\n\nTách các phiên bản kho mã không liên quan bằng siêu dữ liệu và giữ khả năng truy về nguồn của những phiên bản được lập chỉ mục. Nếu hàm chuyển vị trí hoặc đổi hành vi, cập nhật cả vector và vị trí nguồn. Cùng thiết lập embedding cần được dùng cho nguồn được lập chỉ mục và các truy vấn của nó. Khi di chuyển chỉ mục, đối chiếu kết quả với tập câu hỏi có sẵn để mô hình hoặc biểu diễn vector thay đổi không âm thầm đổi mã mà nhà phát triển nhìn thấy.\n\nCác phép kiểm tra hữu ích gồm truy vấn có tìm phần triển khai thật thay vì chỉ tên kiểm thử không, docstring có tìm đúng hàm tương ứng không, và mã liên quan về ngữ nghĩa có được phân biệt với đoạn chỉ giống bề ngoài không. Giữ văn bản nguồn và vị trí được trả về trong kết quả để nhà phát triển kiểm tra bằng chứng. Điều này biến embedding chuyên về mã của mô hình thành công cụ điều hướng và chọn ngữ cảnh thực tế.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "9a760426c16ee476a62da3795aec6ff29d8afcaf56dbc943207a9c3b80cf2a99",
    "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 Code 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-code-3</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-code-3\">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 Code 3 tạo embedding cho truy xuất từ văn bản sang mã, từ mã sang mã và từ docstring sang mã. Cửa sổ 32 000 token, số chiều vector có thể chọn và đầu ra lượng tử hóa hỗ trợ tìm kiếm kho mã và chọn ngữ cảnh mã cho trợ lý lập trình.</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 Code 3 là mô hình embedding chuyên truy xuất mã nguồn. Nhà sản xuất mô tả các nhiệm vụ từ ngôn ngữ tự nhiên sang mã, từ mã sang mã và từ docstring sang mã: câu hỏi có thể tìm phần triển khai, đoạn mã có thể tìm logic liên quan và mô tả hàm có thể xác định mã phù hợp. Mô hình tạo vector phục vụ truy xuất, thay vì tệp đã sửa hoặc chương trình hoàn chỉnh.</p><p>Chuẩn bị tài liệu kho mã theo những đơn vị mã có ý nghĩa. Giữ hàm cùng tên, chữ ký và chú thích giải thích mục đích của nó. Với thành phần lớn hơn, thêm các định nghĩa lân cận cần để hiểu thao tác. Lưu kho mã, phiên bản, đường dẫn tệp và vị trí dòng riêng để kết quả tìm kiếm mở đúng nguồn đã được tạo embedding.</p><p>Tìm kiếm bằng ngôn ngữ tự nhiên có thể mô tả hành vi, chẳng hạn tìm phần dự án kiểm tra tệp tải lên trước khi lưu. Truy vấn dựa trên mã có thể cung cấp hàm cần tìm logic tương ứng ở nơi khác. Chọn các lượt tìm kiếm đại diện từ nhiệm vụ phát triển thực tế, gồm cách đặt tên chưa quen, các phần triển khai tương tự và tiện ích có ý nghĩa phụ thuộc vào mã xung quanh.</p><p>Cửa sổ ngữ cảnh 32 000 token chứa được các đoạn mã đáng kể. Sử dụng dung lượng này có chủ đích: hàm hoàn chỉnh và các phần phụ thuộc liên quan có thể cung cấp nhiều thông tin hơn một khối tùy ý bị cắt giữa luồng điều khiển. Giữ định dạng nguồn dễ đọc và bảo toàn cú pháp ngôn ngữ khi trích xuất. Nếu tệp nguồn lớn hơn cửa sổ đầu vào, chia tại các ranh giới cấu trúc hữu ích và giữ quan hệ giữa các đoạn với tệp cha.</p><p>Voyage Code 3 hỗ trợ embedding có 2 048, 1 024, 512 hoặc 256 chiều, cùng các 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. Các thiết lập này phục vụ những kích thước chỉ mục kho mã và cấu hình tìm kiếm khác nhau. Đánh giá biểu diễn gọn trên cùng các lượt tìm kiếm thực tế dùng cho mốc so sánh lớn hơn, kiểm tra hàm hoặc tệp đúng có còn trong các kết quả hữu ích không.</p><p>Với trợ lý lập trình, trước tiên truy xuất các đoạn nguồn liên quan, rồi cung cấp chúng cùng tham chiếu tệp cho thành phần phụ trách trả lời hoặc chỉnh sửa. Sự tương đồng giúp chọn ngữ cảnh; nó không xác lập hai phần triển khai có thể thay thế cho nhau. Kiểm tra đầu vào, tác động phụ và các điều kiện ràng buộc xung quanh trong mã được truy xuất trước khi dùng để định hướng chỉnh sửa.</p><p>Tách các phiên bản kho mã không liên quan bằng siêu dữ liệu và giữ khả năng truy về nguồn của những phiên bản được lập chỉ mục. Nếu hàm chuyển vị trí hoặc đổi hành vi, cập nhật cả vector và vị trí nguồn. Cùng thiết lập embedding cần được dùng cho nguồn được lập chỉ mục và các truy vấn của nó. Khi di chuyển chỉ mục, đối chiếu kết quả với tập câu hỏi có sẵn để mô hình hoặc biểu diễn vector thay đổi không âm thầm đổi mã mà nhà phát triển nhìn thấy.</p><p>Các phép kiểm tra hữu ích gồm truy vấn có tìm phần triển khai thật thay vì chỉ tên kiểm thử không, docstring có tìm đúng hàm tương ứng không, và mã liên quan về ngữ nghĩa có được phân biệt với đoạn chỉ giống bề ngoài không. Giữ văn bản nguồn và vị trí được trả về trong kết quả để nhà phát triển kiểm tra bằng chứng. Điều này biến embedding chuyên về mã của mô hình thành công cụ điều hướng và chọn ngữ cảnh thực tế.</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-code-3</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-2790-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2790-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-2790-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2790-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-code-3&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-code-3&amp;route=Ultra&amp;caller=voyage-code-3&amp;fmt=embeddings\"><code>voyage-code-3</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-code-3&amp;route=Ultra&amp;caller=voyage-code-3&amp;fmt=embeddings\"><code>voyage-code-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-code-3",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-code-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-code-3",
      "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-code-3"
                ],
                "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-code-3"
                  ],
                  "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-code-3"
              },
              "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-code-3\",\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-code-3",
        "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-code-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "145ce358c3040e51aa3dc0bc59f0755e3450b4b0da591ff6db6e46f89f3b61e4",
    "input_html_sha256": "19e7fc0b648c665b81904585462992982f01183c5380db57f9d142c45463087f",
    "private_audit_sha256": "095acd8abb604142b2b0529a810f9252e235b775dc8965d3fd1dcb45be97e24b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/voyage-code-3/",
    "description": "Voyage Code 3 tạo embedding cho truy xuất từ văn bản sang mã, từ mã sang mã và từ docstring sang mã. Cửa sổ 32 000 token, số chiều vector có thể chọn và đầu ra lượng tử hóa hỗ trợ tìm kiếm kho mã và chọn ngữ cảnh mã cho trợ lý lập trình.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/voyage-code-3/index.md",
    "title": "Voyage AI: Voyage Code 3 — Ailoot",
    "url": "https://ailoot.ai/models/vi/voyage-code-3/"
  },
  "rawModel": {
    "about": "Voyage Code 3 là mô hình embedding chuyên truy xuất mã nguồn. Nhà sản xuất mô tả các nhiệm vụ từ ngôn ngữ tự nhiên sang mã, từ mã sang mã và từ docstring sang mã: câu hỏi có thể tìm phần triển khai, đoạn mã có thể tìm logic liên quan và mô tả hàm có thể xác định mã phù hợp. Mô hình tạo vector phục vụ truy xuất, thay vì tệp đã sửa hoặc chương trình hoàn chỉnh.\n\nChuẩn bị tài liệu kho mã theo những đơn vị mã có ý nghĩa. Giữ hàm cùng tên, chữ ký và chú thích giải thích mục đích của nó. Với thành phần lớn hơn, thêm các định nghĩa lân cận cần để hiểu thao tác. Lưu kho mã, phiên bản, đường dẫn tệp và vị trí dòng riêng để kết quả tìm kiếm mở đúng nguồn đã được tạo embedding.\n\nTìm kiếm bằng ngôn ngữ tự nhiên có thể mô tả hành vi, chẳng hạn tìm phần dự án kiểm tra tệp tải lên trước khi lưu. Truy vấn dựa trên mã có thể cung cấp hàm cần tìm logic tương ứng ở nơi khác. Chọn các lượt tìm kiếm đại diện từ nhiệm vụ phát triển thực tế, gồm cách đặt tên chưa quen, các phần triển khai tương tự và tiện ích có ý nghĩa phụ thuộc vào mã xung quanh.\n\nCửa sổ ngữ cảnh 32 000 token chứa được các đoạn mã đáng kể. Sử dụng dung lượng này có chủ đích: hàm hoàn chỉnh và các phần phụ thuộc liên quan có thể cung cấp nhiều thông tin hơn một khối tùy ý bị cắt giữa luồng điều khiển. Giữ định dạng nguồn dễ đọc và bảo toàn cú pháp ngôn ngữ khi trích xuất. Nếu tệp nguồn lớn hơn cửa sổ đầu vào, chia tại các ranh giới cấu trúc hữu ích và giữ quan hệ giữa các đoạn với tệp cha.\n\nVoyage Code 3 hỗ trợ embedding có 2 048, 1 024, 512 hoặc 256 chiều, cùng các 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. Các thiết lập này phục vụ những kích thước chỉ mục kho mã và cấu hình tìm kiếm khác nhau. Đánh giá biểu diễn gọn trên cùng các lượt tìm kiếm thực tế dùng cho mốc so sánh lớn hơn, kiểm tra hàm hoặc tệp đúng có còn trong các kết quả hữu ích không.\n\nVới trợ lý lập trình, trước tiên truy xuất các đoạn nguồn liên quan, rồi cung cấp chúng cùng tham chiếu tệp cho thành phần phụ trách trả lời hoặc chỉnh sửa. Sự tương đồng giúp chọn ngữ cảnh; nó không xác lập hai phần triển khai có thể thay thế cho nhau. Kiểm tra đầu vào, tác động phụ và các điều kiện ràng buộc xung quanh trong mã được truy xuất trước khi dùng để định hướng chỉnh sửa.\n\nTách các phiên bản kho mã không liên quan bằng siêu dữ liệu và giữ khả năng truy về nguồn của những phiên bản được lập chỉ mục. Nếu hàm chuyển vị trí hoặc đổi hành vi, cập nhật cả vector và vị trí nguồn. Cùng thiết lập embedding cần được dùng cho nguồn được lập chỉ mục và các truy vấn của nó. Khi di chuyển chỉ mục, đối chiếu kết quả với tập câu hỏi có sẵn để mô hình hoặc biểu diễn vector thay đổi không âm thầm đổi mã mà nhà phát triển nhìn thấy.\n\nCác phép kiểm tra hữu ích gồm truy vấn có tìm phần triển khai thật thay vì chỉ tên kiểm thử không, docstring có tìm đúng hàm tương ứng không, và mã liên quan về ngữ nghĩa có được phân biệt với đoạn chỉ giống bề ngoài không. Giữ văn bản nguồn và vị trí được trả về trong kết quả để nhà phát triển kiểm tra bằng chứng. Điều này biến embedding chuyên về mã của mô hình thành công cụ điều hướng và chọn ngữ cảnh thực tế.",
    "about_sha256": "7a62faecaa1a469a228fb832e8fd51d0fb1ee7fc0232e975614f45428c1f130f",
    "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 Code 3",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-code-3",
    "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-code-3"
                ],
                "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-code-3"
                  ],
                  "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-code-3"
              },
              "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-code-3\",\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-code-3",
        "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-code-3",
        "request_model_id": "voyage-code-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage Code 3",
    "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 Code 3 tạo embedding cho truy xuất từ văn bản sang mã, từ mã sang mã và từ docstring sang mã. Cửa sổ 32 000 token, số chiều vector có thể chọn và đầu ra lượng tử hóa hỗ trợ tìm kiếm kho mã và chọn ngữ cảnh mã cho trợ lý lập trình.",
    "short_sha256": "d4d092b4a7555efe0f233ac899b7e43901dde1d9465c4a647af52200c6d5d963"
  },
  "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 Code 3 tạo embedding cho truy xuất từ văn bản sang mã, từ mã sang mã và từ docstring sang mã. Cửa sổ 32 000 token, số chiều vector có thể chọn và đầu ra lượng tử hóa hỗ trợ tìm kiếm kho mã và chọn ngữ cảnh mã cho trợ lý lập trình.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "60827c41d0f1dafd44607a62b194e58bd960327e013159e772a68b137e7dc920",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "647a3f859a40e7fff1395e5f8ba85533dd2c3418b8fdb8b724c4f210826fa0fc"
}
