{
  "aboutHtml": "<p>Codestral Embed 2505 là mô hình embedding của Mistral AI chuyên cho truy xuất mã. Mô hình nhận văn bản chứa mã nguồn hoặc truy vấn mã bằng ngôn ngữ tự nhiên rồi trả về vector số. Nhà sản xuất định vị mô hình cho tìm kiếm kho mã, truy xuất ngữ cảnh của trợ lý lập trình, phân tích tương đồng và trùng lặp, cùng nhóm mã theo chức năng hoặc cấu trúc. Định danh bản phát hành cố định là codestral-embed-2505.</p><p>Đầu vào và biểu diễn</p><p>Đầu vào mã có thể là hàm, mảnh nguồn liên quan hoặc đơn vị có ý nghĩa khác trong kho mã. Truy vấn ngôn ngữ tự nhiên có thể mô tả hành vi cần tìm thay vì gọi đúng tên ký hiệu. Embedding biểu diễn đầu vào đó để so sánh; mô hình không sinh triển khai mới hoặc chạy mã nhận được.</p><p>Bản phát hành chính thức quy định ngữ cảnh đầu vào đầy đủ 8.192 token. Để truy xuất, nhà sản xuất khuyến nghị đoạn khoảng 3.000 ký tự với chồng lấn 1.000 ký tự, lưu ý đoạn lớn hơn có thể làm giảm hiệu quả truy xuất. Đây là khuyến nghị chuẩn bị cho truy xuất, không phải giới hạn token ở mức 3.000 ký tự. Giữ tệp, ký hiệu và vị trí nguồn gắn với từng mục đã chuẩn bị để ứng dụng trả về mã liên quan sau tìm kiếm.</p><p>Độ chính xác đầu ra và số chiều</p><p>Hướng dẫn embedding mã mô tả các kiểu đầu ra float, int8, uint8, binary và ubinary. Float dùng giá trị độ chính xác đơn 32 bit. Int8 dùng số nguyên có dấu 8 bit từ -128 đến 127, còn uint8 dùng giá trị không dấu 8 bit từ 0 đến 255. Binary và ubinary lưu giá trị lượng tử hóa một bit trong các phần tử 8 bit đóng gói, lần lượt dùng vùng chứa có dấu hoặc không dấu.</p><p>Biểu diễn bit đóng gói làm thay đổi độ dài danh sách trả về: hướng dẫn mô tả một phần tử đóng gói cho mỗi tám chiều embedding logic. Vì vậy, phép so sánh có xét định dạng khác với coi byte đóng gói như tọa độ dấu phẩy động thông thường. Giữ kiểu được chọn cùng vector và dùng cùng biểu diễn cho mã đã lập chỉ mục và truy vấn.</p><p>Tài liệu tham số nêu số chiều mặc định 1.536 và tối đa 3.072. Các chiều được sắp theo độ liên quan; nhà sản xuất mô tả việc giữ N chiều đầu tiên theo số lượng đã chọn để chọn kích thước biểu diễn. Chọn số chiều nhất quán cho bộ sưu tập lưu trữ và truy vấn mới. Biểu diễn ngắn hơn hoặc lượng tử hóa thay đổi cách lưu trữ và so sánh; nó không tăng ngữ cảnh đầu vào hoặc biến mô hình thành bộ sinh mã.</p><p>Lập trình tăng cường bằng truy xuất</p><p>Trường hợp sử dụng đầu tiên của bản phát hành là truy xuất ngữ cảnh để hoàn thành, chỉnh sửa hoặc giải thích mã. Chuẩn bị đơn vị mã có ý nghĩa và giữ phiên bản kho mã cùng định danh nguồn. Câu hỏi về cách xử lý một lỗi cụ thể có thể truy xuất các hàm liên quan, rồi ứng dụng cung cấp chúng cho mô hình lập trình cùng yêu cầu thay đổi thực tế.</p><p>Kết quả thực tế là tập đoạn nguồn được xếp hạng với đường dẫn tệp, ký hiệu và nội dung cần để hiểu hành vi. Lập trình viên có thể mở những đoạn được truy xuất hoặc chuyển chúng cho trợ lý. Codestral Embed thực hiện bước biểu diễn; thành phần riêng chọn kết quả và mô hình sinh viết giải thích hoặc mã đề xuất.</p><p>Tìm kiếm ngữ nghĩa và độ tương đồng</p><p>Nhà sản xuất mô tả tìm mã bằng truy vấn ngôn ngữ tự nhiên hoặc mã. Lập trình viên có thể hỏi phần triển khai một hành vi dù tên hàm khác cách diễn đạt yêu cầu. Bao gồm hành vi và điều kiện phân biệt triển khai mục tiêu; truy vấn chung về cả hệ con có thể lấy tài liệu liên quan nhưng chưa giải quyết câu hỏi cụ thể.</p><p>Bản phát hành còn mô tả tìm mã gần trùng hoặc tương tự về chức năng dù khác từ ngữ. Kết quả có thể giúp tìm triển khai tái sử dụng được hoặc xác định mã cần xem xét thêm. Tương đồng trong không gian embedding là tín hiệu để kiểm tra nguồn; nó không chứng minh hai mảnh có cùng hành vi với mọi đầu vào.</p><p>Phân cụm, phân tích và so sánh</p><p>Embedding mã có thể dùng để nhóm mã theo chức năng hoặc cấu trúc và kiểm tra thành phần của kho mã. Giữ các đoạn gốc và định danh sẵn có để con người hoặc bước ứng dụng sau diễn giải nhóm. Cụm là nhóm dựa trên biểu diễn, không phải mô tả kiến trúc được tự động xác minh.</p><p>Các ví dụ vector dấu phẩy động của nhà sản xuất dùng embedding chuẩn hóa về độ dài đơn vị, với độ tương đồng cosine, tích vô hướng và khoảng cách Euclidean cho thứ hạng nhất quán. Đầu ra lượng tử hóa và bit đóng gói cần giữ cách xử lý định dạng riêng thay vì kế thừa giả định về tọa độ dấu phẩy động thô. Endpoint công bố còn giữ chỉ số đầu vào, giúp bảo toàn liên kết từng vector với mục nguồn.</p><p>Phiên bản và ranh giới thực tế</p><p>Trang mô hình cụ thể liệt kê quy trình embedding và batch với nhãn ngữ cảnh 8k, còn bản phát hành nêu giá trị 8.192 token. Giữ phiên bản có tên 2505, số chiều và kiểu đầu ra đã chọn trong toàn bộ quy trình bộ sưu tập và truy vấn. Đây là đầu ra vector hướng đến mã, khác với hoàn thành văn bản của Codestral và mô hình văn bản Mistral Embed có số chiều cố định.</p><p>Chuẩn bị các đơn vị mã chứa hành vi liên quan, giữ vị trí nguồn và nêu câu hỏi cần tìm. Sản phẩm hữu ích là biểu diễn có thể truy xuất gắn với mã thực tế, hỗ trợ bước giải thích, chỉnh sửa hoặc xem xét của lập trình viên tiếp theo mà không tự thực hiện bước đó.</p>",
  "aboutText": "Codestral Embed 2505 là mô hình embedding của Mistral AI chuyên cho truy xuất mã. Mô hình nhận văn bản chứa mã nguồn hoặc truy vấn mã bằng ngôn ngữ tự nhiên rồi trả về vector số. Nhà sản xuất định vị mô hình cho tìm kiếm kho mã, truy xuất ngữ cảnh của trợ lý lập trình, phân tích tương đồng và trùng lặp, cùng nhóm mã theo chức năng hoặc cấu trúc. Định danh bản phát hành cố định là codestral-embed-2505.\n\nĐầu vào và biểu diễn\n\nĐầu vào mã có thể là hàm, mảnh nguồn liên quan hoặc đơn vị có ý nghĩa khác trong kho mã. Truy vấn ngôn ngữ tự nhiên có thể mô tả hành vi cần tìm thay vì gọi đúng tên ký hiệu. Embedding biểu diễn đầu vào đó để so sánh; mô hình không sinh triển khai mới hoặc chạy mã nhận được.\n\nBản phát hành chính thức quy định ngữ cảnh đầu vào đầy đủ 8.192 token. Để truy xuất, nhà sản xuất khuyến nghị đoạn khoảng 3.000 ký tự với chồng lấn 1.000 ký tự, lưu ý đoạn lớn hơn có thể làm giảm hiệu quả truy xuất. Đây là khuyến nghị chuẩn bị cho truy xuất, không phải giới hạn token ở mức 3.000 ký tự. Giữ tệp, ký hiệu và vị trí nguồn gắn với từng mục đã chuẩn bị để ứng dụng trả về mã liên quan sau tìm kiếm.\n\nĐộ chính xác đầu ra và số chiều\n\nHướng dẫn embedding mã mô tả các kiểu đầu ra float, int8, uint8, binary và ubinary. Float dùng giá trị độ chính xác đơn 32 bit. Int8 dùng số nguyên có dấu 8 bit từ -128 đến 127, còn uint8 dùng giá trị không dấu 8 bit từ 0 đến 255. Binary và ubinary lưu giá trị lượng tử hóa một bit trong các phần tử 8 bit đóng gói, lần lượt dùng vùng chứa có dấu hoặc không dấu.\n\nBiểu diễn bit đóng gói làm thay đổi độ dài danh sách trả về: hướng dẫn mô tả một phần tử đóng gói cho mỗi tám chiều embedding logic. Vì vậy, phép so sánh có xét định dạng khác với coi byte đóng gói như tọa độ dấu phẩy động thông thường. Giữ kiểu được chọn cùng vector và dùng cùng biểu diễn cho mã đã lập chỉ mục và truy vấn.\n\nTài liệu tham số nêu số chiều mặc định 1.536 và tối đa 3.072. Các chiều được sắp theo độ liên quan; nhà sản xuất mô tả việc giữ N chiều đầu tiên theo số lượng đã chọn để chọn kích thước biểu diễn. Chọn số chiều nhất quán cho bộ sưu tập lưu trữ và truy vấn mới. Biểu diễn ngắn hơn hoặc lượng tử hóa thay đổi cách lưu trữ và so sánh; nó không tăng ngữ cảnh đầu vào hoặc biến mô hình thành bộ sinh mã.\n\nLập trình tăng cường bằng truy xuất\n\nTrường hợp sử dụng đầu tiên của bản phát hành là truy xuất ngữ cảnh để hoàn thành, chỉnh sửa hoặc giải thích mã. Chuẩn bị đơn vị mã có ý nghĩa và giữ phiên bản kho mã cùng định danh nguồn. Câu hỏi về cách xử lý một lỗi cụ thể có thể truy xuất các hàm liên quan, rồi ứng dụng cung cấp chúng cho mô hình lập trình cùng yêu cầu thay đổi thực tế.\n\nKết quả thực tế là tập đoạn nguồn được xếp hạng với đường dẫn tệp, ký hiệu và nội dung cần để hiểu hành vi. Lập trình viên có thể mở những đoạn được truy xuất hoặc chuyển chúng cho trợ lý. Codestral Embed thực hiện bước biểu diễn; thành phần riêng chọn kết quả và mô hình sinh viết giải thích hoặc mã đề xuất.\n\nTìm kiếm ngữ nghĩa và độ tương đồng\n\nNhà sản xuất mô tả tìm mã bằng truy vấn ngôn ngữ tự nhiên hoặc mã. Lập trình viên có thể hỏi phần triển khai một hành vi dù tên hàm khác cách diễn đạt yêu cầu. Bao gồm hành vi và điều kiện phân biệt triển khai mục tiêu; truy vấn chung về cả hệ con có thể lấy tài liệu liên quan nhưng chưa giải quyết câu hỏi cụ thể.\n\nBản phát hành còn mô tả tìm mã gần trùng hoặc tương tự về chức năng dù khác từ ngữ. Kết quả có thể giúp tìm triển khai tái sử dụng được hoặc xác định mã cần xem xét thêm. Tương đồng trong không gian embedding là tín hiệu để kiểm tra nguồn; nó không chứng minh hai mảnh có cùng hành vi với mọi đầu vào.\n\nPhân cụm, phân tích và so sánh\n\nEmbedding mã có thể dùng để nhóm mã theo chức năng hoặc cấu trúc và kiểm tra thành phần của kho mã. Giữ các đoạn gốc và định danh sẵn có để con người hoặc bước ứng dụng sau diễn giải nhóm. Cụm là nhóm dựa trên biểu diễn, không phải mô tả kiến trúc được tự động xác minh.\n\nCác ví dụ vector dấu phẩy động của nhà sản xuất dùng embedding chuẩn hóa về độ dài đơn vị, với độ tương đồng cosine, tích vô hướng và khoảng cách Euclidean cho thứ hạng nhất quán. Đầu ra lượng tử hóa và bit đóng gói cần giữ cách xử lý định dạng riêng thay vì kế thừa giả định về tọa độ dấu phẩy động thô. Endpoint công bố còn giữ chỉ số đầu vào, giúp bảo toàn liên kết từng vector với mục nguồn.\n\nPhiên bản và ranh giới thực tế\n\nTrang mô hình cụ thể liệt kê quy trình embedding và batch với nhãn ngữ cảnh 8k, còn bản phát hành nêu giá trị 8.192 token. Giữ phiên bản có tên 2505, số chiều và kiểu đầu ra đã chọn trong toàn bộ quy trình bộ sưu tập và truy vấn. Đây là đầu ra vector hướng đến mã, khác với hoàn thành văn bản của Codestral và mô hình văn bản Mistral Embed có số chiều cố định.\n\nChuẩn bị các đơn vị mã chứa hành vi liên quan, giữ vị trí nguồn và nêu câu hỏi cần tìm. Sản phẩm hữu ích là biểu diễn có thể truy xuất gắn với mã thực tế, hỗ trợ bước giải thích, chỉnh sửa hoặc xem xét của lập trình viên tiếp theo mà không tự thực hiện bước đó.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a87720bb6c0899b518e6d2d10347c032b3665de3d06427e7a536e0557c69693c",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "vi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Mistral: Codestral Embed 2505</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/codestral-embed-2505</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|mistralai%2Fcodestral-embed-2505\">Biểu diễn nhúng</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Bắt đầu</h3><p class=\"mdesc-full\">Codestral Embed 2505 biểu diễn mã và truy vấn ngôn ngữ tự nhiên thành vector cho tìm kiếm kho mã và truy xuất của trợ lý lập trình. Nhà sản xuất mô tả ngữ cảnh 8.192 token, số chiều có thể cấu hình đến 3.072 và định dạng đầu ra số dấu phẩy động, số nguyên hoặc bit đóng gói.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Văn bản · token_ids</dd></div><div><dt>Kết quả</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Về mô hình</summary><p class=\"note-s\" data-model-method-boundary>Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.</p><div class=\"mabout\" id=\"m-about\"><p>Codestral Embed 2505 là mô hình embedding của Mistral AI chuyên cho truy xuất mã. Mô hình nhận văn bản chứa mã nguồn hoặc truy vấn mã bằng ngôn ngữ tự nhiên rồi trả về vector số. Nhà sản xuất định vị mô hình cho tìm kiếm kho mã, truy xuất ngữ cảnh của trợ lý lập trình, phân tích tương đồng và trùng lặp, cùng nhóm mã theo chức năng hoặc cấu trúc. Định danh bản phát hành cố định là codestral-embed-2505.</p><p>Đầu vào và biểu diễn</p><p>Đầu vào mã có thể là hàm, mảnh nguồn liên quan hoặc đơn vị có ý nghĩa khác trong kho mã. Truy vấn ngôn ngữ tự nhiên có thể mô tả hành vi cần tìm thay vì gọi đúng tên ký hiệu. Embedding biểu diễn đầu vào đó để so sánh; mô hình không sinh triển khai mới hoặc chạy mã nhận được.</p><p>Bản phát hành chính thức quy định ngữ cảnh đầu vào đầy đủ 8.192 token. Để truy xuất, nhà sản xuất khuyến nghị đoạn khoảng 3.000 ký tự với chồng lấn 1.000 ký tự, lưu ý đoạn lớn hơn có thể làm giảm hiệu quả truy xuất. Đây là khuyến nghị chuẩn bị cho truy xuất, không phải giới hạn token ở mức 3.000 ký tự. Giữ tệp, ký hiệu và vị trí nguồn gắn với từng mục đã chuẩn bị để ứng dụng trả về mã liên quan sau tìm kiếm.</p><p>Độ chính xác đầu ra và số chiều</p><p>Hướng dẫn embedding mã mô tả các kiểu đầu ra float, int8, uint8, binary và ubinary. Float dùng giá trị độ chính xác đơn 32 bit. Int8 dùng số nguyên có dấu 8 bit từ -128 đến 127, còn uint8 dùng giá trị không dấu 8 bit từ 0 đến 255. Binary và ubinary lưu giá trị lượng tử hóa một bit trong các phần tử 8 bit đóng gói, lần lượt dùng vùng chứa có dấu hoặc không dấu.</p><p>Biểu diễn bit đóng gói làm thay đổi độ dài danh sách trả về: hướng dẫn mô tả một phần tử đóng gói cho mỗi tám chiều embedding logic. Vì vậy, phép so sánh có xét định dạng khác với coi byte đóng gói như tọa độ dấu phẩy động thông thường. Giữ kiểu được chọn cùng vector và dùng cùng biểu diễn cho mã đã lập chỉ mục và truy vấn.</p><p>Tài liệu tham số nêu số chiều mặc định 1.536 và tối đa 3.072. Các chiều được sắp theo độ liên quan; nhà sản xuất mô tả việc giữ N chiều đầu tiên theo số lượng đã chọn để chọn kích thước biểu diễn. Chọn số chiều nhất quán cho bộ sưu tập lưu trữ và truy vấn mới. Biểu diễn ngắn hơn hoặc lượng tử hóa thay đổi cách lưu trữ và so sánh; nó không tăng ngữ cảnh đầu vào hoặc biến mô hình thành bộ sinh mã.</p><p>Lập trình tăng cường bằng truy xuất</p><p>Trường hợp sử dụng đầu tiên của bản phát hành là truy xuất ngữ cảnh để hoàn thành, chỉnh sửa hoặc giải thích mã. Chuẩn bị đơn vị mã có ý nghĩa và giữ phiên bản kho mã cùng định danh nguồn. Câu hỏi về cách xử lý một lỗi cụ thể có thể truy xuất các hàm liên quan, rồi ứng dụng cung cấp chúng cho mô hình lập trình cùng yêu cầu thay đổi thực tế.</p><p>Kết quả thực tế là tập đoạn nguồn được xếp hạng với đường dẫn tệp, ký hiệu và nội dung cần để hiểu hành vi. Lập trình viên có thể mở những đoạn được truy xuất hoặc chuyển chúng cho trợ lý. Codestral Embed thực hiện bước biểu diễn; thành phần riêng chọn kết quả và mô hình sinh viết giải thích hoặc mã đề xuất.</p><p>Tìm kiếm ngữ nghĩa và độ tương đồng</p><p>Nhà sản xuất mô tả tìm mã bằng truy vấn ngôn ngữ tự nhiên hoặc mã. Lập trình viên có thể hỏi phần triển khai một hành vi dù tên hàm khác cách diễn đạt yêu cầu. Bao gồm hành vi và điều kiện phân biệt triển khai mục tiêu; truy vấn chung về cả hệ con có thể lấy tài liệu liên quan nhưng chưa giải quyết câu hỏi cụ thể.</p><p>Bản phát hành còn mô tả tìm mã gần trùng hoặc tương tự về chức năng dù khác từ ngữ. Kết quả có thể giúp tìm triển khai tái sử dụng được hoặc xác định mã cần xem xét thêm. Tương đồng trong không gian embedding là tín hiệu để kiểm tra nguồn; nó không chứng minh hai mảnh có cùng hành vi với mọi đầu vào.</p><p>Phân cụm, phân tích và so sánh</p><p>Embedding mã có thể dùng để nhóm mã theo chức năng hoặc cấu trúc và kiểm tra thành phần của kho mã. Giữ các đoạn gốc và định danh sẵn có để con người hoặc bước ứng dụng sau diễn giải nhóm. Cụm là nhóm dựa trên biểu diễn, không phải mô tả kiến trúc được tự động xác minh.</p><p>Các ví dụ vector dấu phẩy động của nhà sản xuất dùng embedding chuẩn hóa về độ dài đơn vị, với độ tương đồng cosine, tích vô hướng và khoảng cách Euclidean cho thứ hạng nhất quán. Đầu ra lượng tử hóa và bit đóng gói cần giữ cách xử lý định dạng riêng thay vì kế thừa giả định về tọa độ dấu phẩy động thô. Endpoint công bố còn giữ chỉ số đầu vào, giúp bảo toàn liên kết từng vector với mục nguồn.</p><p>Phiên bản và ranh giới thực tế</p><p>Trang mô hình cụ thể liệt kê quy trình embedding và batch với nhãn ngữ cảnh 8k, còn bản phát hành nêu giá trị 8.192 token. Giữ phiên bản có tên 2505, số chiều và kiểu đầu ra đã chọn trong toàn bộ quy trình bộ sưu tập và truy vấn. Đây là đầu ra vector hướng đến mã, khác với hoàn thành văn bản của Codestral và mô hình văn bản Mistral Embed có số chiều cố định.</p><p>Chuẩn bị các đơn vị mã chứa hành vi liên quan, giữ vị trí nguồn và nêu câu hỏi cần tìm. Sản phẩm hữu ích là biểu diễn có thể truy xuất gắn với mã thực tế, hỗ trợ bước giải thích, chỉnh sửa hoặc xem xét của lập trình viên tiếp theo mà không tự thực hiện bước đó.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Có trên Ailoot · đầu vào &amp; phương thức</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Biểu diễn nhúng</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Đầu ra</dt><dd><code>embedding</code></dd></div><div><dt>Ngữ cảnh</dt><dd>8.192 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>mistralai/codestral-embed-2505</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[]|integer[]|integer[][]</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: Lô không rỗng và đồng nhất. ID token là số nguyên không âm.</div><div>Ngân sách đầu vào: Tối đa: 8.192 · Đơn vị văn bản: byte UTF8 · Đơn vị token: phần tử của mảng token</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\">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</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=\"unsupported\"><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 hỗ trợ</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=\"pass_through_metadata\"><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>json_value</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>Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.</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=\"pass_through_metadata\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>json_value</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>Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.</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=\"pass_through_metadata\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>json_value</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>Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.</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\">provider</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>object</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>Điều kiện: provider.options bị từ chối</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"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>content_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, input</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>input_shapes</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>encoding_format</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>float</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>dimensions_override</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>false</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>max_input_budget_units</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>8192</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>multimodal_objects</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>false</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>material_types</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>text, token_ids</td></tr></tbody></table></div><p>Vòng đời: <code>synchronous_json</code></p><p class=\"note-s\">Giữ lại chỉ mục và số chiều của mọi vector.</p><p class=\"note-s\">Việc mô hình mang tên đa phương thức không có nghĩa là đường dẫn cụ thể này chấp nhận đối tượng ảnh.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.</p><dl data-price-conditions><dt>Chế độ nhanh</dt><dd>Mức giá tiêu chuẩn <span class=\"note-s\">Khi chọn chế độ nhanh</span></dd><dt>Chế độ Flex</dt><dd>Mức giá tiêu chuẩn <span class=\"note-s\">Khi chọn chế độ flex</span></dd><dt>Mức độ suy luận tối đa</dt><dd>Mức giá tiêu chuẩn <span class=\"note-s\">Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa</span></dd></dl></div><div data-declared-tariff-pricing><h4>Mức phí Ailoot</h4><h4>Giá theo cấu hình</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Biểu mức phí</th><th>Phí</th></tr></thead><tbody><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá cơ sở cho token</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>Mức phí cơ bản</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Token đầu vào</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Biểu diễn nhúng</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Các phiên bản mã\"><button class=\"cg-tab\" id=\"model-code-1892-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1892-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1892-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1892-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"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-1892-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1892-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;mistralai/codestral-embed-2505&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1892-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1892-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;mistralai/codestral-embed-2505&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot Ultra · 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\">Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.</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\">object</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\">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\">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[]</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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=mistralai%2Fcodestral-embed-2505&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-embed-2505&amp;fmt=embeddings\"><code>mistralai/codestral-embed-2505</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=mistralai%2Fcodestral-embed-2505&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-embed-2505&amp;fmt=embeddings\"><code>mistralai/codestral-embed-2505</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/codestral-embed-2505",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|mistralai%2Fcodestral-embed-2505",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "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": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-embed-2505"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "byte UTF8",
                  "token_unit": "phần tử của mảng token"
                },
                "conditions": "Lô không rỗng và đồng nhất. ID token là số nguyên không âm.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options bị từ chối",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Giữ lại chỉ mục và số chiều của mọi vector.",
            "Việc mô hình mang tên đa phương thức không có nghĩa là đường dẫn cụ thể này chấp nhận đối tượng ảnh."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Giá cơ sở cho token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/codestral-embed-2505\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/codestral-embed-2505',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Chế độ nhanh",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi chọn chế độ nhanh"
          },
          {
            "label": "Chế độ Flex",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi chọn chế độ flex"
          },
          {
            "label": "Mức độ suy luận tối đa",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/codestral-embed-2505",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f657e42a870e2f05f71af3bb378e8b4569df680fb90ddea6daef12513990f3c3",
    "input_html_sha256": "4bf9e74bb183e729877ad59a412303c6e0b29fbe4e2df32ae4c92b57611a776b",
    "private_audit_sha256": "98abc3df9fce6f5083d5d484ec67b8211cd0ca67438e027f2bc7200581882658",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/mistralai-codestral-embed-2505/",
    "description": "Codestral Embed 2505 biểu diễn mã và truy vấn ngôn ngữ tự nhiên thành vector cho tìm kiếm kho mã và truy xuất của trợ lý lập trình. Nhà sản xuất mô tả ngữ cảnh 8.192 token, số chiều có thể cấu hình đến 3.072 và định dạng đầu ra số dấu phẩy động, số nguyên hoặc bit đóng gói.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/mistralai-codestral-embed-2505/index.md",
    "title": "Mistral: Codestral Embed 2505 — Ailoot",
    "url": "https://ailoot.ai/models/vi/mistralai-codestral-embed-2505/"
  },
  "rawModel": {
    "about": "Codestral Embed 2505 là mô hình embedding của Mistral AI chuyên cho truy xuất mã. Mô hình nhận văn bản chứa mã nguồn hoặc truy vấn mã bằng ngôn ngữ tự nhiên rồi trả về vector số. Nhà sản xuất định vị mô hình cho tìm kiếm kho mã, truy xuất ngữ cảnh của trợ lý lập trình, phân tích tương đồng và trùng lặp, cùng nhóm mã theo chức năng hoặc cấu trúc. Định danh bản phát hành cố định là codestral-embed-2505.\n\nĐầu vào và biểu diễn\n\nĐầu vào mã có thể là hàm, mảnh nguồn liên quan hoặc đơn vị có ý nghĩa khác trong kho mã. Truy vấn ngôn ngữ tự nhiên có thể mô tả hành vi cần tìm thay vì gọi đúng tên ký hiệu. Embedding biểu diễn đầu vào đó để so sánh; mô hình không sinh triển khai mới hoặc chạy mã nhận được.\n\nBản phát hành chính thức quy định ngữ cảnh đầu vào đầy đủ 8.192 token. Để truy xuất, nhà sản xuất khuyến nghị đoạn khoảng 3.000 ký tự với chồng lấn 1.000 ký tự, lưu ý đoạn lớn hơn có thể làm giảm hiệu quả truy xuất. Đây là khuyến nghị chuẩn bị cho truy xuất, không phải giới hạn token ở mức 3.000 ký tự. Giữ tệp, ký hiệu và vị trí nguồn gắn với từng mục đã chuẩn bị để ứng dụng trả về mã liên quan sau tìm kiếm.\n\nĐộ chính xác đầu ra và số chiều\n\nHướng dẫn embedding mã mô tả các kiểu đầu ra float, int8, uint8, binary và ubinary. Float dùng giá trị độ chính xác đơn 32 bit. Int8 dùng số nguyên có dấu 8 bit từ -128 đến 127, còn uint8 dùng giá trị không dấu 8 bit từ 0 đến 255. Binary và ubinary lưu giá trị lượng tử hóa một bit trong các phần tử 8 bit đóng gói, lần lượt dùng vùng chứa có dấu hoặc không dấu.\n\nBiểu diễn bit đóng gói làm thay đổi độ dài danh sách trả về: hướng dẫn mô tả một phần tử đóng gói cho mỗi tám chiều embedding logic. Vì vậy, phép so sánh có xét định dạng khác với coi byte đóng gói như tọa độ dấu phẩy động thông thường. Giữ kiểu được chọn cùng vector và dùng cùng biểu diễn cho mã đã lập chỉ mục và truy vấn.\n\nTài liệu tham số nêu số chiều mặc định 1.536 và tối đa 3.072. Các chiều được sắp theo độ liên quan; nhà sản xuất mô tả việc giữ N chiều đầu tiên theo số lượng đã chọn để chọn kích thước biểu diễn. Chọn số chiều nhất quán cho bộ sưu tập lưu trữ và truy vấn mới. Biểu diễn ngắn hơn hoặc lượng tử hóa thay đổi cách lưu trữ và so sánh; nó không tăng ngữ cảnh đầu vào hoặc biến mô hình thành bộ sinh mã.\n\nLập trình tăng cường bằng truy xuất\n\nTrường hợp sử dụng đầu tiên của bản phát hành là truy xuất ngữ cảnh để hoàn thành, chỉnh sửa hoặc giải thích mã. Chuẩn bị đơn vị mã có ý nghĩa và giữ phiên bản kho mã cùng định danh nguồn. Câu hỏi về cách xử lý một lỗi cụ thể có thể truy xuất các hàm liên quan, rồi ứng dụng cung cấp chúng cho mô hình lập trình cùng yêu cầu thay đổi thực tế.\n\nKết quả thực tế là tập đoạn nguồn được xếp hạng với đường dẫn tệp, ký hiệu và nội dung cần để hiểu hành vi. Lập trình viên có thể mở những đoạn được truy xuất hoặc chuyển chúng cho trợ lý. Codestral Embed thực hiện bước biểu diễn; thành phần riêng chọn kết quả và mô hình sinh viết giải thích hoặc mã đề xuất.\n\nTìm kiếm ngữ nghĩa và độ tương đồng\n\nNhà sản xuất mô tả tìm mã bằng truy vấn ngôn ngữ tự nhiên hoặc mã. Lập trình viên có thể hỏi phần triển khai một hành vi dù tên hàm khác cách diễn đạt yêu cầu. Bao gồm hành vi và điều kiện phân biệt triển khai mục tiêu; truy vấn chung về cả hệ con có thể lấy tài liệu liên quan nhưng chưa giải quyết câu hỏi cụ thể.\n\nBản phát hành còn mô tả tìm mã gần trùng hoặc tương tự về chức năng dù khác từ ngữ. Kết quả có thể giúp tìm triển khai tái sử dụng được hoặc xác định mã cần xem xét thêm. Tương đồng trong không gian embedding là tín hiệu để kiểm tra nguồn; nó không chứng minh hai mảnh có cùng hành vi với mọi đầu vào.\n\nPhân cụm, phân tích và so sánh\n\nEmbedding mã có thể dùng để nhóm mã theo chức năng hoặc cấu trúc và kiểm tra thành phần của kho mã. Giữ các đoạn gốc và định danh sẵn có để con người hoặc bước ứng dụng sau diễn giải nhóm. Cụm là nhóm dựa trên biểu diễn, không phải mô tả kiến trúc được tự động xác minh.\n\nCác ví dụ vector dấu phẩy động của nhà sản xuất dùng embedding chuẩn hóa về độ dài đơn vị, với độ tương đồng cosine, tích vô hướng và khoảng cách Euclidean cho thứ hạng nhất quán. Đầu ra lượng tử hóa và bit đóng gói cần giữ cách xử lý định dạng riêng thay vì kế thừa giả định về tọa độ dấu phẩy động thô. Endpoint công bố còn giữ chỉ số đầu vào, giúp bảo toàn liên kết từng vector với mục nguồn.\n\nPhiên bản và ranh giới thực tế\n\nTrang mô hình cụ thể liệt kê quy trình embedding và batch với nhãn ngữ cảnh 8k, còn bản phát hành nêu giá trị 8.192 token. Giữ phiên bản có tên 2505, số chiều và kiểu đầu ra đã chọn trong toàn bộ quy trình bộ sưu tập và truy vấn. Đây là đầu ra vector hướng đến mã, khác với hoàn thành văn bản của Codestral và mô hình văn bản Mistral Embed có số chiều cố định.\n\nChuẩn bị các đơn vị mã chứa hành vi liên quan, giữ vị trí nguồn và nêu câu hỏi cần tìm. Sản phẩm hữu ích là biểu diễn có thể truy xuất gắn với mã thực tế, hỗ trợ bước giải thích, chỉnh sửa hoặc xem xét của lập trình viên tiếp theo mà không tự thực hiện bước đó.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "available": null,
    "canonical_model": "mistralai/codestral-embed-2505",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": 8192,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "mistralai/codestral-embed-2505",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "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": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-embed-2505"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "byte UTF8",
                  "token_unit": "phần tử của mảng token"
                },
                "conditions": "Lô không rỗng và đồng nhất. ID token là số nguyên không âm.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options bị từ chối",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Giữ lại chỉ mục và số chiều của mọi vector.",
            "Việc mô hình mang tên đa phương thức không có nghĩa là đường dẫn cụ thể này chấp nhận đối tượng ảnh."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Giá cơ sở cho token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/codestral-embed-2505\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/codestral-embed-2505',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Chế độ nhanh",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi chọn chế độ nhanh"
          },
          {
            "label": "Chế độ Flex",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi chọn chế độ flex"
          },
          {
            "label": "Mức độ suy luận tối đa",
            "value": "Mức giá tiêu chuẩn",
            "when": "Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/codestral-embed-2505",
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Codestral Embed 2505",
    "price": {
      "in": 0.3,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.3,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "mistralai/codestral-embed-2505",
    "short": "Codestral Embed 2505 biểu diễn mã và truy vấn ngôn ngữ tự nhiên thành vector cho tìm kiếm kho mã và truy xuất của trợ lý lập trình. Nhà sản xuất mô tả ngữ cảnh 8.192 token, số chiều có thể cấu hình đến 3.072 và định dạng đầu ra số dấu phẩy động, số nguyên hoặc bit đóng gói."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Codestral Embed 2505 biểu diễn mã và truy vấn ngôn ngữ tự nhiên thành vector cho tìm kiếm kho mã và truy xuất của trợ lý lập trình. Nhà sản xuất mô tả ngữ cảnh 8.192 token, số chiều có thể cấu hình đến 3.072 và định dạng đầu ra số dấu phẩy động, số nguyên hoặc bit đóng gói.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "80aa117b61eb01020307e15bb3455c1bb71851c6a74013f15c72da2dc73db698",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "7692af8508a4525826ecd29fecfca03210e9b9bdb6f0dff5c502dac596ad3121"
}
