Mistral: Codestral Embed 2505
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.
Về mô hình
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.
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.
Đầu vào và biểu diễ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.
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.
Độ chính xác đầu ra và số chiều
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.
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.
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ã.
Lập trình tăng cường bằng truy xuất
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ế.
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.
Tìm kiếm ngữ nghĩa và độ tương đồng
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ể.
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.
Phân cụm, phân tích và so sánh
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.
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.
Phiên bản và ranh giới thực tế
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.
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 đó.
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Bắt đầu
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.
- Đầu vào được chấp nhận
- Văn bản · token_ids
- Kết quả
- embedding
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings
- Đầu vào
text,token_ids- Đầu ra
embedding- Ngữ cảnh
- 8.192 tokens
- Định dạng đầu ra
- json
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn mistralai/codestral-embed-2505 | Mặc định— |
Trườnginput | Loạistring|string[]|integer[]|integer[][] | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 Điều kiện: Lô không rỗng và đồng nhất. ID token là số nguyên không âm. 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 | Mặc định— |
Trườngencoding_format | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn float | Mặc địnhfloat |
Trườngdimensions | Loạiinteger | Yêu cầuKhông hỗ trợ | Giá trị & giới hạn Tối thiểu: 1 | Mặc định— |
Trườnguser | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Đ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. | Mặc định— |
Trườngsession_id | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Đ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. | Mặc định— |
Trườngtrace | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Đ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. | Mặc định— |
Trườngprovider | Loạiobject | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: provider.options bị từ chối | Mặc định— |
Tổ hợp tư liệu đầu vào
text_to_embedding
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, input |
Tham sốinput_shapes | Hợp đồngstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Tham sốencoding_format | Hợp đồngfloat |
Tham sốdimensions_override | Hợp đồngfalse |
Tham sốmax_input_budget_units | Hợp đồng8192 |
Tham sốmultimodal_objects | Hợp đồngfalse |
Tham sốmaterial_types | Hợp đồngtext, token_ids |
Vòng đời: synchronous_json
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.
Bảng giá
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.
- Chế độ nhanh
- Mức giá tiêu chuẩn Khi chọn chế độ nhanh
- Chế độ Flex
- Mức giá tiêu chuẩn Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Mức giá tiêu chuẩn Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí Ailoot
Giá theo cấu hình
| Cấu hình | Biểu mức phí | Phí |
|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Phí Đầu vào · Token đầu vào $0.0003 / 1K token Đầu ra · Token đầu ra $0 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
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. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Biểu diễn nhúng
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/codestral-embed-2505", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='mistralai/codestral-embed-2505',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Nhận và lưu kết quả
Ailoot Ultra · Biểu diễn nhúng
json
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
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.
Nếu cần kiểm tra phản hồi gốc
Không có điểm cuối tác vụ embedding nào được bổ sung.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngobject | Loạistring |
Trườngmodel | Loạistring |
Trườngdata[].index | Loạiinteger |
Trườngdata[].embedding | Loạifinite float[] |
Trườngusage | Loạiobject |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnTrườ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ệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |
Bí danh
Bí danh mô hình
Ailoot Ultra mistralai/codestral-embed-2505
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · Mistral: Codestral Embed 2505
- Có những đầu vào và kết quả nào?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Yêu cầu sử dụng những trường nào?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Áp dụng những giới hạn nào?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1