{
  "aboutHtml": "<h4>Tìm trang phù hợp theo câu hỏi</h4><p>Llama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.</p><p>Cách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.</p><h4>Các dạng tài liệu ở phía nhà sản xuất</h4><ul><li>Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.</li><li>Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.</li><li>Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.</li></ul><p>Truy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.</p><h4>Kích thước biểu diễn và độ dài đầu vào</h4><p>Mỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.</p><p>Phần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.</p>",
  "aboutText": "### Tìm trang phù hợp theo câu hỏi\n\nLlama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.\n\nCách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.\n\n### Các dạng tài liệu ở phía nhà sản xuất\n\n- Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.\n- Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.\n- Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.\n\nTruy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.\n\n### Kích thước biểu diễn và độ dài đầu vào\n\nMỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.\n\nPhần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "6cb30155c47cf9abe9505c2cdbe8879e820c359615a059ac6f36e7f2a3f16190",
    "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\">NV</span><h2 id=\"sheet-title\">Llama Nemotron Embed VL 1B v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nvidia/llama-nemotron-embed-vl-1b-v2</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=\"Core|embeddings|/v1/embeddings|nvidia%2Fllama-nemotron-embed-vl-1b-v2\">Biểu diễn nhúng</button></div><div class=\"idline\"><label for=\"card-model-id\">ID mô hình</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fllama-nemotron-embed-vl-1b-v2\" selected>nvidia/llama-nemotron-embed-vl-1b-v2</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl\">nemotron-embed-vl</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl-latest\">nemotron-embed-vl-latest</option></select></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\">Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu.</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\"><h4>Tìm trang phù hợp theo câu hỏi</h4><p>Llama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.</p><p>Cách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.</p><h4>Các dạng tài liệu ở phía nhà sản xuất</h4><ul><li>Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.</li><li>Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.</li><li>Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.</li></ul><p>Truy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.</p><h4>Kích thước biểu diễn và độ dài đầu vào</h4><p>Mỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.</p><p>Phần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.</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 · 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><div><dt>Ngữ cảnh</dt><dd>4.096 tokens</dd></div><div><dt>Định dạng đầu ra</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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>nvidia/llama-nemotron-embed-vl-1b-v2</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|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>Số mục tối thiểu: 1</div><div>Điều kiện: Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input_type</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>Không 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>query, passage</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">encoding_format</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>Không 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>float, base64</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">truncate</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>Không 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>NONE, START, END</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>integer</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không 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>Tối thiểu: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">user</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>Không 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></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=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><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>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>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_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr><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></tbody></table></div><p>Vòng đời: <code>exact retained published method</code></p><p class=\"note-s\">Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><h4>Mức phí phương thức Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Biểu diễn nhúng</b><code>POST /v1/embeddings</code></header><dl><div><dt>Đầu vào</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><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 · 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-524-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-524-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ví dụ nhú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-524-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-524-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nvidia/llama-nemotron-embed-vl-1b-v2&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot · Biểu diễn nhúng</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Không có điểm cuối tác vụ embedding nào được bổ sung.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</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\">data[].index</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.</td></tr></tbody></table></div></details></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=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</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=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nvidia%2Fllama-nemotron-embed-vl-1b-v2",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nvidia/llama-nemotron-embed-vl-1b-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nvidia/llama-nemotron-embed-vl-1b-v2\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">NV</span><h2 id=\"sheet-title\">Llama Nemotron Embed VL 1B v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nemotron-embed-vl</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=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl\">Biểu diễn nhúng</button></div><div class=\"idline\"><label for=\"card-model-id\">ID mô hình</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fllama-nemotron-embed-vl-1b-v2\">nvidia/llama-nemotron-embed-vl-1b-v2</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl\" selected>nemotron-embed-vl</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl-latest\">nemotron-embed-vl-latest</option></select></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\">Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu.</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\"><h4>Tìm trang phù hợp theo câu hỏi</h4><p>Llama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.</p><p>Cách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.</p><h4>Các dạng tài liệu ở phía nhà sản xuất</h4><ul><li>Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.</li><li>Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.</li><li>Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.</li></ul><p>Truy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.</p><h4>Kích thước biểu diễn và độ dài đầu vào</h4><p>Mỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.</p><p>Phần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.</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 · 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><div><dt>Ngữ cảnh</dt><dd>4.096 tokens</dd></div><div><dt>Định dạng đầu ra</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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>nemotron-embed-vl</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|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>Số mục tối thiểu: 1</div><div>Điều kiện: Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input_type</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>Không 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>query, passage</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">encoding_format</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>Không 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>float, base64</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">truncate</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>Không 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>NONE, START, END</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>integer</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không 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>Tối thiểu: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">user</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>Không 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></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=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><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>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>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_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr><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></tbody></table></div><p>Vòng đời: <code>exact retained published method</code></p><p class=\"note-s\">Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><h4>Mức phí phương thức Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Biểu diễn nhúng</b><code>POST /v1/embeddings</code></header><dl><div><dt>Đầu vào</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><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 · 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-525-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-525-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ví dụ nhú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-525-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-525-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nemotron-embed-vl&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot · Biểu diễn nhúng</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Không có điểm cuối tác vụ embedding nào được bổ sung.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</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\">data[].index</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.</td></tr></tbody></table></div></details></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=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</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=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nemotron-embed-vl",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nemotron-embed-vl",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nemotron-embed-vl",
      "ordinal": 1,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-embed-vl"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-embed-vl\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-embed-vl",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">NV</span><h2 id=\"sheet-title\">Llama Nemotron Embed VL 1B v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nemotron-embed-vl-latest</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=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl-latest\">Biểu diễn nhúng</button></div><div class=\"idline\"><label for=\"card-model-id\">ID mô hình</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fllama-nemotron-embed-vl-1b-v2\">nvidia/llama-nemotron-embed-vl-1b-v2</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl\">nemotron-embed-vl</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-embed-vl-latest\" selected>nemotron-embed-vl-latest</option></select></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\">Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu.</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\"><h4>Tìm trang phù hợp theo câu hỏi</h4><p>Llama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.</p><p>Cách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.</p><h4>Các dạng tài liệu ở phía nhà sản xuất</h4><ul><li>Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.</li><li>Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.</li><li>Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.</li></ul><p>Truy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.</p><h4>Kích thước biểu diễn và độ dài đầu vào</h4><p>Mỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.</p><p>Phần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.</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 · 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><div><dt>Ngữ cảnh</dt><dd>4.096 tokens</dd></div><div><dt>Định dạng đầu ra</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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>nemotron-embed-vl-latest</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|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>Số mục tối thiểu: 1</div><div>Điều kiện: Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input_type</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>Không 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>query, passage</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">encoding_format</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>Không 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>float, base64</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">truncate</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>Không 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>NONE, START, END</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>integer</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không 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>Tối thiểu: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">user</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>Không 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></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=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><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>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>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_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr><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></tbody></table></div><p>Vòng đời: <code>exact retained published method</code></p><p class=\"note-s\">Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><h4>Mức phí phương thức Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Biểu diễn nhúng</b><code>POST /v1/embeddings</code></header><dl><div><dt>Đầu vào</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><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 · 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-526-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-526-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ví dụ nhú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-526-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-526-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nemotron-embed-vl-latest&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot · Biểu diễn nhúng</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Không có điểm cuối tác vụ embedding nào được bổ sung.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</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\">data[].index</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.</td></tr></tbody></table></div></details></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=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</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=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;fmt=embeddings\"><code>nvidia/llama-nemotron-embed-vl-1b-v2</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl&amp;fmt=embeddings\"><code>nemotron-embed-vl</code></a>, <a href=\"#m=nvidia%2Fllama-nemotron-embed-vl-1b-v2&amp;route=Core&amp;caller=nemotron-embed-vl-latest&amp;fmt=embeddings\"><code>nemotron-embed-vl-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nemotron-embed-vl-latest",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nemotron-embed-vl-latest",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nemotron-embed-vl-latest",
      "ordinal": 2,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-embed-vl-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-embed-vl-latest\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-embed-vl-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "5383eaef90f0d6ad263bf12ccdd3b6bf7f494100a238cc746fe3c011c81f5e7a",
    "input_html_sha256": "5e909eb269bb8b9d9dcd581525d1dfff72fb1c3e898a1f9b38377e39db1b2f99",
    "private_audit_sha256": "c6f70d6b8b2ca1bb67adc95ea0e774e0d62e0e1d43a9c9a704dbaf3d203cbb03",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/nvidia-llama-nemotron-embed-vl-1b-v2/",
    "description": "Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/nvidia-llama-nemotron-embed-vl-1b-v2/index.md",
    "title": "Llama Nemotron Embed VL 1B v2 — Ailoot",
    "url": "https://ailoot.ai/models/vi/nvidia-llama-nemotron-embed-vl-1b-v2/"
  },
  "rawModel": {
    "about": "### Tìm trang phù hợp theo câu hỏi\n\nLlama Nemotron Embed VL 1B v2 được NVIDIA phát triển để tìm tư liệu giúp trả lời câu hỏi. Truy vấn được đặt bằng văn bản. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho mô hình: câu hỏi và tư liệu được mã hóa dưới dạng văn bản. Nhà sản xuất còn mô tả tài liệu dưới dạng ảnh trang hoặc ảnh kèm văn bản đã trích xuất. Các dạng hình ảnh này cần phương thức riêng có hỗ trợ ảnh. Với đầu vào tương ứng, mô hình biểu diễn bảng, biểu đồ và đồ họa thông tin trong cùng không gian vector.\n\nCách tìm kiếm này phù hợp cho trợ lý hỏi đáp trên bộ sưu tập tài liệu lớn, cẩm nang nội bộ và tư liệu nghiên cứu. Kết quả mã hóa là vector số. Sau đó có thể truyền trang hoặc đoạn tìm được cho mô hình tạo câu trả lời: chính Embed VL thực hiện bước tìm ngữ cảnh.\n\n### Các dạng tài liệu ở phía nhà sản xuất\n\n- Tài liệu văn bản: phần riêng, đoạn trích hoặc văn bản trang đã được nhận dạng.\n- Ảnh: toàn bộ trang với chữ, bảng và yếu tố đồ họa.\n- Ảnh kèm văn bản: diện mạo của trang và nội dung văn bản được kết hợp trong một biểu diễn.\n\nTruy vấn và tài liệu được mã hóa độc lập. Vì vậy, có thể xử lý trước bộ sưu tập, lưu vector cùng trang nguồn, rồi chỉ tính vector truy vấn khi có câu hỏi mới. Độ tương đồng vector giúp chọn tư liệu theo ý nghĩa. Vai trò văn bản của truy vấn và tài liệu khác nhau, cần giữ khác biệt này khi chuẩn bị dữ liệu.\n\n### Kích thước biểu diễn và độ dài đầu vào\n\nMỗi đầu vào được chuyển thành một vector có số chiều tối đa 2048 số. Chế độ văn bản dùng ngân sách 8192 token. Với phương thức hình ảnh của nhà sản xuất kết hợp ảnh và văn bản, ngân sách chung được mô tả là 10240 token cho cả hai phần; đây không phải giới hạn văn bản của phương thức Ailoot. Ảnh được chia thành các mảnh: cấu hình được mô tả cho phép tối đa sáu mảnh và một bản thu nhỏ của toàn trang, tổng cộng khoảng 1792 token hình ảnh. Văn bản dài cần được chia hoặc rút gọn.\n\nPhần ngôn ngữ được xây dựng trên Llama 3.2 1B, phần hình ảnh trên SigLIP2. Chúng được kết hợp thành bộ mã hóa lấy trung bình biểu diễn token đầu vào và xuất một vector chung. Học tương phản đưa câu hỏi gần trang phù hợp và xa tư liệu không liên quan. Tìm kiếm vẫn mang tính xác suất: vector gần nhau không bảo đảm đoạn được chọn chứa câu trả lời đúng.",
    "alias_of": null,
    "aliases": [
      "nemotron-embed-vl",
      "nemotron-embed-vl-latest"
    ],
    "author": "NVIDIA",
    "ctx": 4096,
    "display_name": "Llama Nemotron Embed VL 1B v2",
    "formats": [
      "embeddings"
    ],
    "id": "nvidia/llama-nemotron-embed-vl-1b-v2",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nvidia/llama-nemotron-embed-vl-1b-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nvidia/llama-nemotron-embed-vl-1b-v2\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      },
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-embed-vl"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-embed-vl\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-embed-vl",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      },
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Chỉ giải mã vectơ base64 khi đã yêu cầu định dạng đó; giữ lại mọi vectơ cùng chỉ số gốc.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-embed-vl-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Mọi chuỗi phải không rỗng sau khi loại bỏ khoảng trắng hai đầu; từ chối URI dữ liệu; ngân sách đã chấp nhận đo các byte UTF8 liên quan.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-embed-vl-latest\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-embed-vl-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "request_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "request_model_id": "nemotron-embed-vl",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "nvidia/llama-nemotron-embed-vl-1b-v2",
        "request_model_id": "nemotron-embed-vl-latest",
        "route_label": "Core"
      }
    ],
    "name": "nvidia/llama-nemotron-embed-vl-1b-v2",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": 0.1,
      "sort_out": null,
      "varies": false
    },
    "short": "Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        },
        {
          "contract_json_pointer": "/methods/2/rawMethod/contract",
          "html_json_pointer": "/methods/2/html",
          "method_ordinal": 2
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod",
        "/methods/2/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Llama Nemotron Embed VL v2 tạo vector cho tìm kiếm ngữ nghĩa trong tài liệu. Danh mục Ailoot hiện tại giới thiệu đầu vào văn bản cho truy vấn và tư liệu.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "dccaea8022bf98c8342783dc46c0b3848e9acfdc5c66baadff4339d355d1348b",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "778af1446f9fa710ac748903da2eb5d4e6b124e37f61dffa73604550a32f41cf"
}
