mô hình

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (batch)

Codestral 2508 là mô hình văn bản của Mistral AI dành cho tạo mã và hoàn thiện mã theo ngữ cảnh. Mô hình được tối ưu cho các tác vụ thường xuyên trong trình soạn thảo, bao gồm điền phần giữa và chỉnh sửa nhiều dòng, với ngữ cảnh 128k do nhà sản xuất công bố cùng các tính năng hội thoại, đầu ra có cấu trúc và công cụ được mô tả trong tài liệu.

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 2508 là mô hình lập trình của Mistral AI dành cho các tác vụ hoàn thiện và tạo mã thường xuyên, nhạy với độ trễ. Mô hình nhận mã nguồn và yêu cầu bằng văn bản, rồi trả về văn bản có thể chứa phần triển khai, đoạn hoàn thiện, bản sửa hoặc lời giải thích. Phiên bản 2508 được nêu tập trung vào ngữ cảnh chỉnh sửa hiện tại của lập trình viên, thay vì tự nó là mô hình embedding hay tác nhân hoàn chỉnh cho kho mã.

Hoàn thiện mã và bản cập nhật 2508

Nhà sản xuất định vị Codestral cho hoàn thiện bằng cách điền phần giữa và chỉnh sửa nhiều dòng. Bản phát hành mô tả cải tiến hành vi hoàn thiện, bao gồm giảm tình trạng sinh mã kéo dài ngoài ý muốn, cùng cải tiến khả năng làm theo chỉ dẫn và tác vụ mã trong chế độ hội thoại. Đây là những thay đổi của phiên bản Codestral này; khả năng truy xuất và tác nhân tự động của bộ công cụ lập trình bao quanh thuộc về các thành phần được đặt tên riêng.

Với tác vụ hoàn thiện, hãy giữ chữ ký hàm, khai báo và ngữ cảnh lời gọi liên quan cùng vị trí con trỏ. Xác định kết quả mong muốn chỉ là đoạn mã còn thiếu hay cả hàm đã chỉnh sửa. Một yêu cầu kiểu trình soạn thảo có thể đề nghị phần thân vòng lặp giữ kiểu trả về hiện có, giữ các giá trị trùng lặp và không thay đổi đầu vào của bên gọi. Khi đó, kết quả có vị trí chèn cụ thể và hành vi được xác định.

Chuẩn bị tác vụ điền phần giữa

Trong giao diện FIM của nhà sản xuất, prompt cung cấp văn bản hoặc mã cần hoàn thiện, còn suffix tùy chọn cung cấp phần sau khoảng trống. Khi có cả hai, mô hình điền phần nằm giữa chúng. Khi không có suffix, mô hình tiếp tục từ prompt. Điều này khác với yêu cầu hội thoại thông thường đề nghị thay đổi mã và giải thích; mỗi cách chuẩn bị xác định một hợp đồng đầu ra khác nhau.

Đầu vào hữu ích cho điền khoảng trống gồm phần đầu hàm, đoạn mã phải xuất hiện sau phần chèn và các định nghĩa kiểu hoặc hàm hỗ trợ liên quan. Giữ thụt lề và dấu phân cách để văn bản được trả về có thể khớp với đoạn hiện có. Nếu tác vụ chỉ cần phần thân còn thiếu, hãy yêu cầu đúng phần thân đó thay vì viết lại toàn bộ tệp. Một câu hỏi hội thoại riêng có thể giải thích vì sao đoạn hoàn thiện đáp ứng yêu cầu.

Tài liệu FIM chính thức cho phép đặt ngân sách token đầu ra và yêu cầu prompt cộng ngân sách đó nằm trong ngữ cảnh của mô hình. Tài liệu cũng mô tả chuỗi dừng và truyền nội dung được tạo theo luồng. Chọn quy trình hoàn thiện khi kết quả phải khớp khoảng trống trong mã, và quy trình hội thoại khi tác vụ yêu cầu mã đi kèm giải thích.

Ngữ cảnh và các tính năng hỗ trợ

Trang mô hình nêu cửa sổ ngữ cảnh 128k. Dùng ngữ cảnh để giữ mã nguồn và khai báo quyết định thay đổi dự định, đồng thời nêu rõ tác vụ chỉnh sửa thực tế. Với yêu cầu sửa lỗi, hãy cung cấp hàm bị ảnh hưởng, đầu vào cụ thể gây lỗi, kết quả mong đợi và lỗi hoặc hành vi quan sát được. Yêu cầu bản sửa đề xuất tách biệt với lời giải thích và ví dụ.

Trang cũng liệt kê đầu ra có cấu trúc, gọi hàm, đầu ra dự đoán, hỏi đáp tài liệu, tiền tố câu trả lời và xử lý theo lô bên cạnh khả năng hội thoại và FIM. Với kết quả đánh giá mã có cấu trúc, hãy xác định các trường như ký hiệu bị ảnh hưởng, điểm sai lệch quan sát được, thay đổi đề xuất và giả định còn cần làm rõ. Hướng dẫn đầu ra có cấu trúc của Mistral phân biệt chế độ JSON với lược đồ tùy chỉnh, trong đó định dạng JSON mong muốn được nêu trong prompt.

Đầu ra dự đoán dành cho nội dung mà phần đáng kể của câu trả lời đã được biết trước. Có thể dùng tính năng này khi tạo lại tài liệu hoặc tệp mã với chỉnh sửa giới hạn, đồng thời giữ phần nội dung còn lại. Hãy chỉ rõ thay đổi chính xác và tài liệu phải giữ nguyên. Ngược lại, tiền tố câu trả lời cung cấp phần mở đầu đã biết để quá trình sinh tiếp tục từ đó; nó khác cả phần thân hoàn chỉnh đã biết lẫn suffix của FIM.

Câu hỏi về tài liệu có thể dùng quy trình xử lý tài liệu của nhà sản xuất để chuẩn bị văn bản và cấu trúc bằng OCR trước khi phân tích bằng mô hình ngôn ngữ. Với tài liệu lập trình đã có ở dạng văn bản, hãy cung cấp các đoạn liên quan và hỏi điều kiện nào chi phối việc triển khai. Giữ mỗi yêu cầu được trích xuất gắn với phần nguồn của nó để mã hoặc lời giải thích được tạo vẫn liên hệ với đặc tả đã cung cấp.

Công cụ và kết quả thực tế

Gọi hàm cho phép ứng dụng cung cấp các thao tác được mô tả cùng tham số. Mô hình chuẩn bị lời gọi, ứng dụng thực thi và kết quả trả về trở thành ngữ cảnh cho câu trả lời tiếp theo. Trợ lý mã có thể nhận kết quả tra cứu hoặc tính toán qua chu trình đó, nhưng biên dịch, kiểm thử hay áp dụng thay đổi đề xuất vẫn cần môi trường phát triển bao quanh.

Với bản sửa thực tế, hãy xác định giao diện công khai phải giữ tương thích và yêu cầu đoạn mã đã sửa, giải thích súc tích cùng đầu vào mẫu và đầu ra mong đợi. Với hàm được tạo, hãy nêu các kiểu dữ liệu được chấp nhận và điều kiện biên. Với phần giải thích, hãy cung cấp đầu vào cần lần theo để câu trả lời liên hệ đường thực thi cụ thể với giá trị được trả về.

Codestral tạo văn bản. Mô hình không thừa hưởng vector tìm kiếm mã từ Codestral Embed, tự động hóa kho mã từ Devstral hay tạo ảnh từ mô hình thị giác. Trang chính xác của mô hình 2508 không công bố số tham số hoặc độ dài câu trả lời tối đa độc lập có thể mượn từ bản phát hành khác. Giữ đúng phiên bản được nêu, ngữ cảnh lập trình và sản phẩm cần có khi chuẩn bị quy trình trình soạn thảo hoặc hội thoại có thể lặp lại.

Ailoot Ultra · Xử lý hàng loạt POST /v1/batches mistralai/codestral-2508:batch

mistralai/codestral-2508:batch

Mistral /mistralai/codestral-2508:batch

Bắt đầu

Codestral 2508 là mô hình văn bản của Mistral AI dành cho tạo mã và hoàn thiện mã theo ngữ cảnh. Mô hình được tối ưu cho các tác vụ thường xuyên trong trình soạn thảo, bao gồm điền phần giữa và chỉnh sửa nhiều dòng, với ngữ cảnh 128k do nhà sản xuất công bố cùng các tính năng hội thoại, đầu ra có cấu trúc và công cụ được mô tả trong tài liệu.

Đầu vào được chấp nhận
Văn bản
Kết quả
Văn bản

Có trên Ailoot · đầu vào & phương thức

Ailoot Ultra · Xử lý hàng loạt POST /v1/batches
Đầu vào
text
Đầu ra
text
Định dạng đầu ra
JSON nội tuyến tại results[].response.body
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngendpointLoạistringYêu cầuBắt buộcGiá trị & giới hạn
/v1/chat/completions
Mặc định—
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
mistralai/codestral-2508:batch
Mặc định—
TrườngrequestsLoạibatch_item[]Yêu cầuBắt buộcGiá trị & giới hạn
Số mục tối thiểu: 1
Mặc định—
Trườngrequests[].custom_idLoạistringYêu cầuBắt buộcGiá trị & giới hạnMặc định—
Trườngrequests[].body.messagesLoạimessage[]Yêu cầuBắt buộcGiá trị & giới hạnMặc định—
Trườngcompletion_windowLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
24h
Mặc định—
TrườngproviderLoạiobject|nullYêu cầuKhông bắt buộcGiá trị & giới hạnMặc định—
Trườngrequests[].body.modelLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
mistralai/codestral-2508:batch, mistralai/codestral-2508
Mặc định—
Trườngprovider.onlyLoạistring[]Yêu cầuKhông bắt buộcGiá trị & giới hạn
mistral
Mặc định—
Trườngprovider.allow_fallbacksLoạiboolean|nullYêu cầuKhông bắt buộcGiá trị & giới hạn
false, null
Mặc định—
Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốcontent_typeHợp đồngapplication/json
Tham sốrequiredHợp đồngendpoint, model, requests
Tham sốmaterial_typesHợp đồngtext
Tham sốrepresentationHợp đồngrequests[] nội tuyến; mỗi phần tử có custom_id và body
Tham sốrequest_endpoint_profileHợp đồng/v1/chat/completions
Tham sốfile_materialHợp đồngBên gọi có thể đọc dữ liệu JSONL UTF-8 thực tế trên máy cục bộ vào requests[]. Không sử dụng mục đích tải lên, input_file_id hay tham chiếu tệp. Nếu thiếu tài liệu của khách hàng hoặc tài liệu rỗng, dừng khâu chuẩn bị trước POST.
Tham sốserialization_orderHợp đồngendpoint, model, provider (nếu được cung cấp), completion_window (nếu được cung cấp), requests ở cuối
Tham sốoptional_controlsHợp đồngprovider.only, provider.allow_fallbacks, completion_window
Tham sốschema_scopeHợp đồngPhần thân yêu cầu Chat Completions dạng văn bản trong cấu trúc Batch nội tuyến được mô tả trong tài liệu.

Vòng đời: asynchronous

GET /v1/batches/{operation_id} · response.id thực tế từ phản hồi tạo gốc; cùng người dùng/khóa/nhóm

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
Chưa chỉ định Khi chọn chế độ nhanh
Chế độ Flex
Chưa chỉ định Khi chọn chế độ flex
Mức độ suy luận tối đa
Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Giá lưu đệm tường minh
Chưa bật Khi yêu cầu lưu đệm tường minh

Mức phí Ailoot

Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

Cấu hìnhBiểu mức phíToken ngữ cảnh, lớn hơnToken ngữ cảnh, tối đa và bao gồmPhí
Cấu hìnhGiá cơ sở cho tokenBiểu mức phíMức phí cơ bảnToken ngữ cảnh, lớn hơn—Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trênPhí
Đầu vào · Token đầu vào $0.0003 / 1K token
Đầu ra · Token đầu ra $0.0009 / 1K token
Đầu vào · Đọc bộ nhớ đệm $0.00003 / 1K token
Đầu vào · Ghi bộ nhớ đệm — / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token
Cấu hìnhBậc 1 theo độ dài yêu cầuBiểu mức phí—Token ngữ cảnh, lớn hơn0Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trênPhí
Đầu vào · Token đầu vào $0.0003 / 1K token
Đầu ra · Token đầu ra $0.0009 / 1K token
Đầu vào · Đọc bộ nhớ đệm $0.00003 / 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 · Xử lý hàng loạt

curl · mẫu kiểm thử đã lưuPython HTTP · JSONL thực tế của khách hàngPython · lưu từng kết quả đã hoàn tất
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/codestral-2508:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"mistralai/codestral-2508:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

Nhận và lưu kết quả

Ailoot Ultra · Xử lý hàng loạt

JSON nội tuyến tại results[].response.body

  • GET /v1/batches/{operation_id}
Kiểm tra trạng thái tác vụ
curl · trạng thái thao tác gốc
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.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 toàn bộ JSON trạng thái gốc, mọi kết quả/custom_id và toàn bộ phần thân phản hồi hoặc lỗi. Lưu results[] đã hoàn tất dưới dạng JSONL mà không lọc.

Nếu cần kiểm tra phản hồi gốc

Giữ nguyên ID thao tác gốc. Phản hồi 503 result_pending_check có X-Should-Retry:false; tuyệt đối không gửi lại lô gốc có trạng thái chưa xác định.

Trường phản hồi
TrườngLoại
Trườngresults[].custom_idLoạistring
Trườngresults[].response.body.choices[].message.contentLoạistring|null
Trườngresults[].errorLoạiobject|null
TrườngusageLoạiobject|null
TrườngidLoạistring
TrườngmodelLoạistring
TrườngendpointLoạistring
TrườngstatusLoạistring
Trườngrequest_countsLoạiobject
Trườngresults[].idLoạistring
Trườngresults[].response.status_codeLoạiinteger
Trườngresults[].response.request_idLoạistring
Lỗi và bước tiếp theo
Phản hồiĐiều kiệnBước tiếp theo
Phản hồi400 · invalid_request_errorĐiều kiệnCấu trúc nội tuyến không đúng tài liệu, có khóa trùng, định danh phần tử không hợp lệ hoặc xung đột với khả năng đã cấu hình của mô hình.Bước tiếp theoSửa các trường được chỉ ra trước khi gửi bất kỳ yêu cầu mới nào.
Phản hồi401 · authentication_errorĐiều kiệnKhóa API không hợp lệ.Bước tiếp theoSử dụng khóa Ailoot đã được cấp quyền.
Phản hồi403 · permission_errorĐiều kiệnNhóm xử lý hàng loạt không khả dụng.Bước tiếp theoKiểm tra quyền sử dụng của khóa/nhóm.
Phản hồi422 · invalid_request_errorĐiều kiệnXử lý hàng loạt tính phí từ số dư; yêu cầu tạo qua gói thuê bao bị từ chối.Bước tiếp theoSử dụng nhóm đã được cấp quyền và tính phí từ số dư.
Phản hồi422 · price_unavailableĐiều kiệnKhông thể báo giá cho dữ liệu đầu vào của lô.Bước tiếp theoGiữ lại phản hồi; sử dụng dữ liệu đầu vào của họ API được mô tả trong tài liệu.
Phản hồi402 · billing_errorĐiều kiệnKhoản dự trữ cho xử lý hàng loạt không khả dụng.Bước tiếp theoKhắc phục vấn đề về điều kiện tiếp nhận trước khi gửi yêu cầu mới.
Phản hồi503 · price_unavailableĐiều kiệnGiá phương thức xử lý hàng loạt/đơn giá gốc không khả dụng.Bước tiếp theoGiữ lại phản hồi; không thay thế đơn giá.
Phản hồi503 · api_errorĐiều kiệnTuyến cụ thể tới nhà cung cấp không khả dụng.Bước tiếp theoGiữ lại phản hồi để sửa tuyến.
Phản hồi503 · result_pending_checkĐiều kiệnKết quả gốc cần được kiểm tra; X-Should-Retry:false.Bước tiếp theoGiữ lại operation_id/id gốc và truy xuất trạng thái của thao tác đó; tuyệt đối không lặp lại POST gốc.
Phản hồi404 · not_foundĐiều kiệnKhông tìm thấy thao tác kiểm tra trạng thái lô hoặc thao tác thuộc một danh tính khác.Bước tiếp theoSử dụng đúng id gốc và cùng người dùng/khóa/nhóm.

Bí danh

Bí danh mô hình

Ailoot Ultra mistralai/codestral-2508:batch

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

mistralai/codestral-2508:batch

FAQ · Mistral: Codestral 2508 (batch)
Có những đầu vào và kết quả nào?

POST /v1/batches · mistralai/codestral-2508:batch: text → text

Yêu cầu sử dụng những trường nào?

POST /v1/batches · mistralai/codestral-2508:batch: endpoint, model, requests, completion_window, provider

Áp dụng những giới hạn nào?

POST /v1/batches · mistralai/codestral-2508:batch: requests.min_items: 1

Xem thêm chi tiết

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao
Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.
Mã giảm đến 50%
Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.
Chi phí trong lịch sử
Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

Chọn gói thuê bao · Xem giá mô hình

Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại
Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.
Giấy phép bán lại
Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.
Tài liệu trên website
Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

Yêu cầu giấy phép bán lại · Đề nghị giao kết và thỏa thuận cấp phép