Mistral: Mistral Medium 3.1 (batch)
Mistral Medium 3.1 là mô hình văn bản và hình ảnh dành cho trả lời hội thoại, câu hỏi tài liệu và trích xuất có cấu trúc. Ngữ cảnh 128k do nhà sản xuất công bố cùng các tính năng gọi hàm, đầu ra dự đoán và tiền tố được liệt kê hỗ trợ giải thích dựa trên nguồn và quy trình chỉnh sửa có trọng tâm.
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.
Mistral Medium 3.1 là phiên bản Mistral AI đa phương thức dành cho hiểu văn bản và hình ảnh. Nhà sản xuất mô tả lần sửa đổi này cải thiện giọng điệu và hiệu năng trong dòng Medium 3. Mô hình nhận văn bản và hình ảnh, tạo văn bản: giải thích, trả lời về tài liệu, bản ghi có cấu trúc hoặc lời gọi hàm đề xuất. Mã định danh cố định của nhà sản xuất cho phiên bản này là mistral-medium-2508.
Ngữ cảnh và phiên bản cụ thể
Trang mô hình mô tả cửa sổ ngữ cảnh 128k. Dùng nó để giữ cùng nhau các đoạn nguồn liên quan, bằng chứng hình ảnh, hội thoại và tác vụ người dùng. Xác định vai trò tài liệu và câu hỏi cần trả lời trước khi cung cấp tập lớn. Ngữ cảnh dài có thể hỗ trợ so sánh có trọng tâm trong khi sản phẩm cuối cùng vẫn là bảng ngắn hoặc phần đã sửa.
Medium 3.1 giữ đặc tả riêng. Không gán ngữ cảnh 256k, kiến trúc dense 128 tỷ tham số và chế độ suy luận lai có thể cấu hình được mô tả cho Medium 3.5 cho mục này. Trang 3.1 không cung cấp số tham số hoặc con số độ dài câu trả lời tối đa riêng có thể thay thế an toàn từ mô hình về sau.
Đầu ra có cấu trúc và hàm
Nhà sản xuất liệt kê đầu ra có cấu trúc, gọi hàm và đầu ra dự đoán trong số tính năng của phiên bản này. Với tác vụ trích xuất có cấu trúc, hãy xác định các trường bắt buộc, kiểu dữ liệu mong đợi và cách xử lý thông tin không có trong nguồn. Bản ghi có thể chứa mã định danh tài liệu, phát biểu được trích xuất, vị trí nguồn và câu hỏi còn lại. Chỉ yêu cầu bản ghi khi chương trình sẽ phân tích cú pháp, hoặc giữ giải thích văn xuôi riêng khi có người phải xem cách diễn giải.
Tài liệu chung về đầu ra có cấu trúc của Mistral phân biệt chế độ JSON với lược đồ tùy chỉnh. Chế độ JSON yêu cầu chỉ dẫn rõ về định dạng JSON mong muốn, còn tuyến tùy chỉnh xác định cấu trúc cụ thể hơn. Đây là định dạng kết quả văn bản, không phải phương thức nội dung mới hay hành động bên ngoài.
Với hàm, ứng dụng xác định thao tác và đối số sẵn có, mô hình chọn lời gọi phù hợp và chuẩn bị giá trị, rồi ứng dụng thực thi. Kết quả sau đó trở thành thông tin cho câu trả lời tiếp theo. Trợ lý tài liệu có thể dùng tra cứu để lấy dữ liệu tham chiếu thiếu, nhưng chỉ khi ứng dụng bao quanh cung cấp tra cứu ấy và trả kết quả thực tế. Giữ lời gọi đề xuất và dữ liệu trả về gắn với nhau.
Chỉnh sửa dự đoán và tiền tố câu trả lời
Đầu ra dự đoán hữu ích khi phần lớn kết quả mong muốn đã biết, như tài liệu hoặc tệp mã cần chỉnh sửa giới hạn. Cung cấp nội dung hiện có và mô tả chính xác thay đổi, bao gồm những gì phải giữ nguyên. Yêu cầu có thể cập nhật thuật ngữ một phần hoặc thay một chi tiết triển khai trong khi giữ phần tài liệu còn lại. Phần dự đoán chứa nội dung đầu ra mong đợi thay vì thay đổi đã hoàn tất và áp dụng vào tệp.
Trang mô hình cũng liệt kê tiếp tục theo tiền tố câu trả lời. Trong tài liệu hội thoại của nhà sản xuất, tiền tố cung cấp phần đầu đã biết cho phản hồi trợ lý, sau đó quá trình sinh tiếp tục. Phần đầu đã biết và phần thân dự đoán giải quyết những vấn đề chuẩn bị khác nhau. Xử lý theo lô và giao diện tác nhân/hội thoại cũng là tính năng quy trình, thay vì phiên bản hình ảnh, âm thanh hoặc suy luận riêng của Medium 3.1.
Câu hỏi tài liệu và hình ảnh
Quy trình document-QnA được liệt kê kết hợp văn bản, cấu trúc và định dạng được OCR chuẩn bị với phân tích của mô hình ngôn ngữ. Hỏi về điều kiện, đoạn văn hoặc quan hệ cụ thể tác vụ cần. So sánh có thể xác định tài liệu nguồn và yêu cầu phát biểu chung, xung đột cùng chi tiết chưa giải quyết, giữ vị trí nguồn bên cạnh từng phát hiện.
Hướng dẫn thị giác của nhà sản xuất nêu rõ Medium 3.1. Câu hỏi hình ảnh trực tiếp có thể cung cấp biểu đồ, ảnh tài liệu hoặc ảnh chụp màn hình dễ đọc và hỏi bằng chứng nhìn thấy nào hỗ trợ kết luận. Giữ trục, đơn vị, nhãn và ngữ cảnh quanh trường được cắt. Nếu cung cấp nhiều ảnh, hãy xác định thứ tự và vai trò, thay vì để mô hình suy ra ảnh nào là gốc, bản sửa hoặc tham chiếu.
Ví dụ, ghép yêu cầu quy trình bằng chữ với ảnh chụp màn hình và yêu cầu bảng các điểm khớp nhìn thấy, khác biệt và câu hỏi cần thêm thông tin. Tác vụ khác có thể cung cấp hai phiên bản tài liệu và yêu cầu đoạn đã sửa giữ các điều kiện chung, đồng thời giải quyết một điểm không nhất quán được nêu tên. Đây là ứng dụng được đề xuất của khả năng hình ảnh, tài liệu và chỉnh sửa đã được mô tả, với kết quả bắt buộc được xác định trước.
Chuẩn bị sản phẩm cuối cùng
Giao cho trợ lý vai trò rõ ràng, tài liệu nguồn cần dùng và hình thức câu trả lời. Giữ quy tắc trả lời lâu dài tách khỏi tài liệu đang xem, đồng thời nêu ngôn ngữ cuối cùng và thuật ngữ. Phản hồi hữu ích có thể tách dữ kiện trích xuất, nguồn của nó và cách diễn giải, khiến việc kiểm tra dễ hơn một bản tóm tắt gộp chung.
Kết quả được tài liệu xác nhận vẫn là văn bản. Công cụ bên ngoài, thay đổi tệp và xử lý tài liệu tiếp theo thuộc ứng dụng kết nối với hội thoại. Giữ phiên bản Medium 3.1 được nêu cùng ngữ cảnh 128k, và yêu cầu giải thích, bản ghi có cấu trúc hoặc bản sửa có trọng tâm mà bước tiếp theo thực sự cần.
Ailoot Ultra · Xử lý hàng loạt POST /v1/batches mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batchBắt đầu
Mistral Medium 3.1 là mô hình văn bản và hình ảnh dành cho trả lời hội thoại, câu hỏi tài liệu và trích xuất có cấu trúc. Ngữ cảnh 128k do nhà sản xuất công bố cùng các tính năng gọi hàm, đầu ra dự đoán và tiền tố được liệt kê hỗ trợ giải thích dựa trên nguồn và quy trình chỉnh sửa có trọng tâm.
- Đầ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ường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngendpoint | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn /v1/chat/completions | Mặc định— |
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn mistralai/mistral-medium-3.1:batch | Mặc định— |
Trườngrequests | Loạibatch_item[] | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 | Mặc định— |
Trườngrequests[].custom_id | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngrequests[].body.messages | Loạimessage[] | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngcompletion_window | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 24h | Mặc định— |
Trườngprovider | Loạiobject|null | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngrequests[].body.model | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn mistralai/mistral-medium-3.1:batch, mistralai/mistral-medium-3.1 | Mặc định— |
Trườngprovider.only | Loạistring[] | Yêu cầuKhông bắt buộc | Giá trị & giới hạn mistral | Mặc định— |
Trườngprovider.allow_fallbacks | Loạiboolean|null | Yêu cầuKhông bắt buộc | Giá 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_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngendpoint, model, requests |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốrepresentation | Hợp đồngrequests[] nội tuyến; mỗi phần tử có custom_id và body |
Tham sốrequest_endpoint_profile | Hợp đồng/v1/chat/completions |
Tham sốfile_material | Hợ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_order | Hợp đồngendpoint, model, provider (nếu được cung cấp), completion_window (nếu được cung cấp), requests ở cuối |
Tham sốoptional_controls | Hợp đồngprovider.only, provider.allow_fallbacks, completion_window |
Tham sốschema_scope | Hợ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ình | Biểu mức phí | Token ngữ cảnh, lớn hơn | Token ngữ cảnh, tối đa và bao gồm | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Token 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ên | Phí Đầu vào · Token đầu vào $0.0004 / 1K token Đầu ra · Token đầu ra $0.002 / 1K token Đầu vào · Đọc bộ nhớ đệm $0.00004 / 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ầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn0 | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào $0.0004 / 1K token Đầu ra · Token đầu ra $0.002 / 1K token Đầu vào · Đọc bộ nhớ đệm $0.00004 / 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
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/mistral-medium-3.1: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/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-medium-3.1: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ụ
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ường | Loại |
|---|---|
Trườngresults[].custom_id | Loạistring |
Trườngresults[].response.body.choices[].message.content | Loạistring|null |
Trườngresults[].error | Loạiobject|null |
Trườngusage | Loạiobject|null |
Trườngid | Loạistring |
Trườngmodel | Loạistring |
Trườngendpoint | Loạistring |
Trườngstatus | Loạistring |
Trườngrequest_counts | Loạiobject |
Trườngresults[].id | Loạistring |
Trườngresults[].response.status_code | Loạiinteger |
Trườngresults[].response.request_id | Loạistring |
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ệ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/mistral-medium-3.1: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
FAQ · Mistral: Mistral Medium 3.1 (batch)
- Có những đầu vào và kết quả nào?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:text→text- Yêu cầu sử dụng những trường nào?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:endpoint,model,requests,completion_window,provider- Áp dụng những giới hạn nào?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:requests.min_items:1