DEV Community

Cover image for Hướng dẫn sử dụng API Mistral Large 4
Sebastian Petrus
Sebastian Petrus

Posted on Originally published at apidog.com

Hướng dẫn sử dụng API Mistral Large 4

Mistral Large 4 đã chính thức ra mắt trên API của Mistral vào ngày 6 tháng 10 năm 2026, ba tuần trước khi các trọng số được công khai. Nếu muốn dùng thử “Le Chonk” với 1 nghìn tỷ tham số ngay bây giờ, API là lựa chọn duy nhất và cũng đang có mức giá thấp nhất: Mistral niêm yết 0,68 USD cho mỗi triệu token đầu vào và 2,09 USD cho mỗi triệu token đầu ra trong giai đoạn xem trước công khai — bằng một nửa giá niêm yết 1,36 USD / 4,18 USD.

Dùng thử Apidog ngay hôm nay

Hướng dẫn này giúp bạn thực hiện cuộc gọi API đầu tiên trong khoảng năm phút, sau đó triển khai các phần dễ gặp lỗi: reasoning chunks, đầu vào hình ảnh, function calling, đầu ra JSON và ước tính chi phí. Bạn cũng có thể lưu từng yêu cầu trong Apidog để so sánh Large 4 với mô hình hiện tại.

Nếu bạn chưa biết về mô hình này, hãy đọc Mistral Is Back: Le Chonk Beats GPT-6 Astra and Claude at Cyber để xem các điểm chuẩn và bối cảnh của tiêu đề cyber.

Những gì bạn cần

Mục Giá trị
URL cơ sở https://api.mistral.ai/v1
Xác thực Authorization: Bearer $MISTRAL_API_KEY
ID mô hình mistral-large-4 (bí danh mistral-large-4-0)
Điểm cuối chính POST /v1/chat/completions
Cửa sổ ngữ cảnh 1M token
Loại đầu vào Văn bản, hình ảnh
Python SDK pip install mistralai
TypeScript SDK npm install @mistralai/mistralai

Bước 1: Lấy khóa API

  1. Đăng nhập vào Mistral Studio — trước đây là La Plateforme.
  2. Mở API Keys và tạo khóa mới.
  3. Đặt tên khóa theo môi trường sử dụng, ví dụ local-dev hoặc ci-staging.
  4. Sao chép khóa ngay sau khi tạo vì Studio sẽ không hiển thị lại.
  5. Xuất khóa vào shell:
export MISTRAL_API_KEY="your-key-here"
Enter fullscreen mode Exit fullscreen mode

Không đưa khóa vào source control. Nếu cần dùng khóa trên nhiều công cụ hoặc môi trường, hãy áp dụng các phương pháp hay nhất về quản lý khóa API, bao gồm xoay vòng khóa và giới hạn phạm vi sử dụng.

Bước 2: Thực hiện cuộc gọi đầu tiên

Kiểm tra nhanh bằng curl:

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {
        "role": "user",
        "content": "Give me three edge cases to test on a pagination API."
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Một phản hồi thành công bao gồm:

  • choices[0].message.content: nội dung câu trả lời.
  • usage.prompt_tokens: số token đầu vào.
  • usage.completion_tokens: số token đầu ra.
  • usage.total_tokens: tổng token của yêu cầu.

Các lỗi khởi đầu thường gặp:

  • 401: khóa sai, thiếu khóa hoặc biến môi trường chưa được export.
  • 404: thường là sai ID mô hình. Kiểm tra lại mistral-large-4.

Python

Cài SDK:

pip install mistralai
Enter fullscreen mode Exit fullscreen mode

Gọi API:

import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.chat.complete(
    model="mistral-large-4",
    messages=[
        {
            "role": "user",
            "content": "Give me three edge cases to test on a pagination API.",
        }
    ],
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

TypeScript

Cài SDK:

npm install @mistralai/mistralai
Enter fullscreen mode Exit fullscreen mode

Gọi API:

import { Mistral } from "@mistralai/mistralai";

const client = new Mistral({
  apiKey: process.env.MISTRAL_API_KEY,
});

const response = await client.chat.complete({
  model: "mistral-large-4",
  messages: [
    {
      role: "user",
      content: "Give me three edge cases to test on a pagination API.",
    },
  ],
});

console.log(response.choices[0].message.content);
Enter fullscreen mode Exit fullscreen mode

Bước 3: Lưu yêu cầu trong Apidog

Khi cần so sánh nhiều mô hình, lưu yêu cầu thay vì liên tục sửa lệnh curl.

  1. Tạo yêu cầu HTTP mới:
   POST https://api.mistral.ai/v1/chat/completions
Enter fullscreen mode Exit fullscreen mode
  1. Thêm biến môi trường:
   MISTRAL_API_KEY
Enter fullscreen mode Exit fullscreen mode
  1. Thêm header:
   Authorization: Bearer {{MISTRAL_API_KEY}}
   Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode
  1. Dán body JSON từ Bước 2 và chọn Send.
  2. Nhân đôi yêu cầu.
  3. Đổi giá trị model sang mô hình cần so sánh, ví dụ mistral-medium-3-5.
  4. Chạy cùng một prompt trên cả hai yêu cầu.

Trong Apidog, bạn có thể so sánh nội dung phản hồi, mã trạng thái, thời gian phản hồi, kích thước phản hồi và trường usage mà không cần viết script.

Để tạo regression test tối thiểu, thêm assertion kiểm tra:

choices[0].message.content không rỗng
Enter fullscreen mode Exit fullscreen mode

Sau đó chạy lại test khi Mistral cập nhật bản xem trước.

Bước 4: Bật và tắt cơ chế lập luận

Large 4 là mô hình lai: cùng một model có thể trả lời nhanh hoặc thực hiện lập luận nhiều bước. Điều khiển hành vi này bằng reasoning_effort.

Giá trị Hành vi Phù hợp cho
"none" Suy nghĩ tối thiểu, không trả về reasoning chunks Chat, trích xuất, phân loại, tác vụ nhạy cảm độ trễ
"high" Trả về khối suy nghĩ trước câu trả lời cuối Gỡ lỗi, lập kế hoạch nhiều bước, toán học, review code

Ví dụ bật reasoning:

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {
        "role": "user",
        "content": "Our API returns 200 with an empty body under load. List likely causes in order of probability."
      }
    ],
    "reasoning_effort": "high"
  }'
Enter fullscreen mode Exit fullscreen mode

Khi đặt reasoning_effort: "high", message.content không còn luôn là chuỗi. Nó trở thành danh sách chunks, thường gồm:

  • chunk thinking: dấu vết lập luận.
  • chunk text: câu trả lời cuối cùng.

Không in trực tiếp response.choices[0].message.content nếu ứng dụng của bạn mong đợi chuỗi. Thay vào đó, chỉ trích xuất chunk text:

response = client.chat.complete(
    model="mistral-large-4",
    messages=[
        {
            "role": "user",
            "content": "Why would a 200 response have an empty body?",
        }
    ],
    reasoning_effort="high",
)

content = response.choices[0].message.content

if isinstance(content, str):
    answer = content
else:
    answer = "".join(
        chunk.text
        for chunk in content
        if chunk.type == "text"
    )

print(answer)
Enter fullscreen mode Exit fullscreen mode

Token suy nghĩ được tính phí như token đầu ra. Dùng "none" làm mặc định và chỉ chuyển sang "high" cho các tác vụ thực sự cần lập luận nhiều bước.

Bước 5: Gửi hình ảnh

Large 4 hỗ trợ đầu vào đa phương thức với bộ mã hóa thị giác 1.6B tham số. Gửi văn bản và hình ảnh trong cùng mảng content:

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "This is a screenshot of our API error dashboard. Which endpoint is failing most and what is the error code?"
          },
          {
            "type": "image_url",
            "image_url": "https://example.com/dashboard.png"
          }
        ]
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Với ảnh cục bộ, dùng data URL base64:

{
  "type": "image_url",
  "image_url": "data:image/png;base64,<encoded>"
}
Enter fullscreen mode Exit fullscreen mode

Mistral báo cáo Large 4 đạt 42% trên benchmark định vị trực quan Dense 200, nhỉnh hơn mức 41% của GPT-6 Astra. Các trường hợp phù hợp gồm ảnh chụp dashboard, biểu đồ và trạng thái giao diện người dùng.

Bước 6: Gọi hàm

Function calling cho phép mô hình chọn công cụ, còn ứng dụng của bạn thực thi công cụ đó. Ví dụ dưới đây mô tả hàm tra cứu trạng thái đơn hàng:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "Look up the status of an order by its ID.",
            "parameters": {
                "type": "object",
                "properties": {
                    "order_id": {
                        "type": "string",
                        "description": "The order ID, e.g. ORD-1042",
                    }
                },
                "required": ["order_id"],
            },
        },
    }
]

messages = [
    {
        "role": "user",
        "content": "Where is order ORD-1042?",
    }
]

response = client.chat.complete(
    model="mistral-large-4",
    messages=messages,
    tools=tools,
    tool_choice="auto",
)

tool_call = response.choices[0].message.tool_calls[0]

print(tool_call.function.name)
print(tool_call.function.arguments)
Enter fullscreen mode Exit fullscreen mode

Sau khi nhận tool call:

  1. Xác thực arguments.
  2. Thực thi hàm trong hệ thống của bạn.
  3. Gửi kết quả lại với đúng tool_call_id.
  4. Gọi model lần nữa để tạo câu trả lời cho người dùng.
import json

result = {
    "order_id": "ORD-1042",
    "status": "shipped",
    "eta": "2026-10-09",
}

messages.append(response.choices[0].message)

messages.append({
    "role": "tool",
    "name": "get_order_status",
    "content": json.dumps(result),
    "tool_call_id": tool_call.id,
})

final = client.chat.complete(
    model="mistral-large-4",
    messages=messages,
    tools=tools,
)

print(final.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Schema của công cụ là JSON Schema thuần túy. Nếu API đã có đặc tả OpenAPI, bạn có thể chuyển schema request của từng operation vào parameters. Thiết kế và duy trì đặc tả trước trong Apidog giúp schema tool khớp với API thực tế.

Bước 7: Nhận đầu ra JSON

Khi cần đầu ra máy có thể đọc được, đặt response_format thành json_object:

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {
        "role": "user",
        "content": "Extract method, path and status code from: GET /v1/users/42 returned 404. Reply in JSON."
      }
    ],
    "response_format": {
      "type": "json_object"
    }
  }'
Enter fullscreen mode Exit fullscreen mode

Nêu rõ yêu cầu JSON trong prompt, ngay cả khi đã dùng response_format.

Với cấu trúc nghiêm ngặt hơn, Mistral cũng hỗ trợ:

{
  "type": "json_schema",
  "json_schema": {
    "...": "schema đầy đủ của bạn"
  }
}
Enter fullscreen mode Exit fullscreen mode

Thêm JSON Schema assertion cho response trong Apidog để phát hiện lỗi định dạng trước khi dữ liệu được chuyển sang dịch vụ phía sau.

Chi phí

Cách sử dụng Giá xem trước Giá niêm yết
Đầu vào, mỗi 1M token $0.68 $1.36
Đầu vào được lưu trữ, mỗi 1M token $0.07 $0.14
Đầu ra, mỗi 1M token $2.09 $4.18

Ví dụ: một agent thực hiện 10.000 cuộc gọi mỗi ngày, mỗi cuộc gọi dùng 3.000 token đầu vào và 500 token đầu ra.

  • Tổng đầu vào: 30M token/ngày.
  • Nếu 2.500 trên 3.000 token đầu vào được lưu trữ:
    • 25M token lưu trữ × $0.07 = $1.75/ngày.
    • 5M token mới × $0.68 = $3.40/ngày.
    • Tổng đầu vào: khoảng $5.15/ngày.
  • Tổng đầu ra: 5M token × $2.09 = khoảng $10.45/ngày.
  • Tổng chi phí: khoảng $15.60/ngày theo giá xem trước, hoặc khoảng $31/ngày theo giá niêm yết.

Cùng khối lượng công việc trên GPT-6 Astra, ở mức 10 USD / 50 USD mỗi triệu token trước giảm giá bộ nhớ đệm, sẽ tốn vài trăm USD mỗi ngày. Mistral chưa công bố thời điểm kết thúc giá xem trước, vì vậy nên lập ngân sách theo giá niêm yết.

Lỗi thường gặp

Lỗi Nguyên nhân có thể Cách khắc phục
401 Unauthorized Thiếu hoặc sai khóa API Kiểm tra echo $MISTRAL_API_KEY và tiền tố Bearer
404 hoặc model không hợp lệ Sai ID mô hình Dùng chính xác mistral-large-4
422 Unprocessable Entity Payload lỗi, thường là schema tools không hợp lệ Xác thực JSON Schema trong parameters của từng tool
429 Too Many Requests Vượt giới hạn tần suất của workspace Thử lại sau hoặc tăng giới hạn trong Studio
Response in ra dạng danh sách reasoning_effort: "high" trả về chunks Chỉ trích xuất chunk có type == "text"

Câu hỏi thường gặp

Mistral Large 4 có tương thích với OpenAI không?

Cấu trúc request rất giống nhau: model, messages, tools, tool_choice và response_format hoạt động theo cách bạn mong đợi. Dùng Mistral SDK hoặc HTTP thuần túy để an toàn. Lưu ý rằng đầu ra reasoning dùng định dạng chunks riêng của Mistral.

Khi nào tôi có thể chạy model cục bộ?

Mistral cho biết các trọng số sẽ được phát hành vào cuối tháng 10 năm 2026. Với tổng số 1,05 nghìn tỷ tham số, model cần hạ tầng server đa GPU. Trong thời gian chờ đợi, xem hướng dẫn chạy Mistral 3 cục bộ cho các model nhỏ hơn.

Bản xem trước có đủ ổn định cho production không?

Chưa. Model được gắn nhãn xem trước công khai và có thể thay đổi trước khi weights được phát hành. Hãy:

  1. Lưu bộ prompt và test case thực tế.
  2. Chạy lại chúng khi Mistral cập nhật model.
  3. Duy trì cấu hình model dự phòng.

Tôi có thể dùng Large 4 với mã Mistral hiện có không?

Có. URL cơ sở, cơ chế xác thực và SDK đều giữ nguyên. Chỉ cần đổi chuỗi model thành mistral-large-4.

Nếu đang chuyển từ Medium 3.5, xem hướng dẫn API Mistral Medium 3.5 để biết các phần có thể kế thừa.

Tóm tắt

Bạn có thể thực hiện cuộc gọi Mistral Large 4 đầu tiên trong khoảng năm phút. Sau đó, hãy dùng các prompt và dữ liệu thực tế của bạn để chạy Large 4 song song với model hiện tại.

Lưu các request trong Apidog, thêm assertion cho mã trạng thái và cấu trúc response, rồi theo dõi chất lượng câu trả lời, độ trễ và token usage. Cách này giúp bạn xác định nhanh liệu Le Chonk có phù hợp với ngăn xếp hiện tại hay không trong khi giá xem trước vẫn đang giảm một nửa.

Top comments (0)