Mistral Large 4 เปิดตัวบน Mistral API เมื่อวันที่ 6 ตุลาคม 2026 สามสัปดาห์ก่อนเปิดตัวโมเดลแบบ Open Weights หากคุณต้องการลองใช้ “Le Chonk” ที่มีพารามิเตอร์ 1 ล้านล้านตัวในตอนนี้ API เป็นวิธีเดียว และในขณะนี้ยังเป็นวิธีที่ถูกที่สุดด้วย: Mistral ระบุราคาไว้ที่ $0.68 ต่อล้านโทเค็นอินพุต และ $2.09 ต่อล้านโทเค็นเอาต์พุต ในช่วงพรีวิวสาธารณะ ซึ่งเป็นครึ่งหนึ่งของราคาปกติที่ $1.36 / $4.18
คู่มือนี้จะพาคุณจากศูนย์สู่การเรียกใช้งานครั้งแรกที่ใช้งานได้จริงในเวลาประมาณห้านาที จากนั้นจะครอบคลุมส่วนที่ผู้คนมักจะสับสน: ส่วนการให้เหตุผล (reasoning chunks), การป้อนรูปภาพ, การเรียกใช้ฟังก์ชัน (function calling), เอาต์พุต JSON และค่าใช้จ่าย ทุกคำขอสามารถบันทึกและเล่นซ้ำได้ใน Apidog เพื่อให้คุณสามารถเปรียบเทียบ Large 4 กับโมเดลใดๆ ที่คุณใช้งานอยู่ในปัจจุบัน
เพิ่งรู้จักโมเดลนี้ใช่ไหม? อ่าน Mistral กลับมาแล้ว: Le Chonk เอาชนะ GPT-6 Astra และ Claude ในการโจมตีทางไซเบอร์ ก่อน เพื่อดูการเปรียบเทียบและเรื่องราวเบื้องหลังหัวข้อข่าวไซเบอร์
สิ่งที่คุณต้องมี
| รายการ | ค่า |
|---|---|
| Base URL | https://api.mistral.ai/v1 |
| การยืนยันตัวตน | Authorization: Bearer $MISTRAL_API_KEY |
| Model ID | mistral-large-4 (ชื่อเรียก mistral-large-4-0) |
| Main endpoint | POST /v1/chat/completions |
| Context window | 1 ล้านโทเค็น |
| ประเภทอินพุต | ข้อความ, รูปภาพ |
| Python SDK | pip install mistralai |
| TypeScript SDK | npm install @mistralai/mistralai |
ขั้นตอนที่ 1: รับ API key
- ลงชื่อเข้าใช้ Mistral Studio (เดิมชื่อ La Plateforme)
- เปิด API Keys และสร้างคีย์ใหม่ ตั้งชื่อที่ระบุว่าจะนำไปใช้ที่ใด เช่น
local-devหรือci-staging - คัดลอกเพียงครั้งเดียว สตูดิโอจะไม่แสดงให้เห็นอีก
- ส่งออกในเชลล์ของคุณ:
export MISTRAL_API_KEY="your-key-here"
เก็บ key ให้ห่างจากการควบคุมเวอร์ชัน (source control) หากคุณกำลังเชื่อมต่อ key เข้ากับเครื่องมือหลายอย่าง คู่มือของเราเกี่ยวกับ แนวทางปฏิบัติที่ดีที่สุดในการจัดการ API key จะครอบคลุมการหมุนเวียนและการกำหนดขอบเขต
ขั้นตอนที่ 2: เรียกใช้งานครั้งแรกของคุณ
การตรวจสอบที่เร็วที่สุดคือการใช้ 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."}
]
}'
การตอบสนองที่สำเร็จจะส่งคืน choices[0].message.content พร้อมคำตอบ และบล็อก usage ที่มี prompt_tokens, completion_tokens และ total_tokens หากคุณได้รับ 401 แสดงว่า key ไม่ถูกต้องหรือไม่ได้รับการส่งออก หากได้รับ 404 บนโมเดล มักหมายถึงพิมพ์ผิดใน Model ID
การเรียกใช้งานเดียวกันใน Python
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)
และใน TypeScript
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);
ขั้นตอนที่ 3: บันทึกใน Apidog
การพิมพ์คำสั่ง curl จะกลายเป็นเรื่องน่าเบื่อเมื่อคุณเริ่มเปรียบเทียบโมเดลต่างๆ ใน Apidog:
- สร้างคำขอ HTTP ใหม่:
POST https://api.mistral.ai/v1/chat/completions - เพิ่มตัวแปรสภาพแวดล้อม
MISTRAL_API_KEYและตั้งค่า headerAuthorization: Bearer {{MISTRAL_API_KEY}} - วางเนื้อหา JSON จากขั้นตอนที่ 2 แล้วกด Send
- ทำซ้ำคำขอ เปลี่ยน
modelเป็นโมเดลที่คุณใช้ในปัจจุบัน (เช่นmistral-medium-3-5) แล้วรันทั้งสองคำขอ
ตอนนี้คุณมีคำขอที่บันทึกไว้สองรายการพร้อมพรอมต์เดียวกัน Apidog จะแสดงเนื้อหาการตอบกลับ, สถานะ, เวลา และขนาดของแต่ละรายการ เพื่อให้คุณสามารถเปรียบเทียบคุณภาพคำตอบ, ความหน่วง และจำนวนโทเค็น usage โดยไม่ต้องเขียนสคริปต์ เพิ่มการยืนยันหลังการตอบกลับว่า choices[0].message.content ไม่ว่างเปล่า และคุณก็มี smoke test ที่สามารถรันซ้ำได้ทุกครั้งที่ Mistral อัปเดตพรีวิว
ขั้นตอนที่ 4: เปิดและปิดการให้เหตุผล
Large 4 เป็นโมเดลไฮบริด: โมเดลเดียวกันนี้จัดการทั้งคำตอบที่รวดเร็วและการให้เหตุผลแบบทีละขั้นตอน คุณสามารถควบคุมได้ด้วยพารามิเตอร์เดียวคือ reasoning_effort:
| ค่า | พฤติกรรม | ใช้สำหรับ |
|---|---|---|
"none" |
การคิดน้อยที่สุด, ไม่มีส่วนการคิด (thinking chunk) ในการตอบกลับ | แชท, การสกัดข้อมูล, การจำแนกประเภท, ทุกสิ่งที่อ่อนไหวต่อความหน่วง |
"high" |
ส่วนการคิดเต็มรูปแบบ (full thinking chunk) ก่อนคำตอบสุดท้าย | การดีบัก, การวางแผนหลายขั้นตอน, คณิตศาสตร์, การรีวิวโค้ด |
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"
}'
นี่คือส่วนที่ทำให้ตัวแยกวิเคราะห์ (parsers) ทำงานผิดพลาด เมื่อตั้งค่า reasoning_effort: "high", message.content จะไม่ใช่สตริงอีกต่อไป แต่จะกลายเป็นรายการของส่วนย่อย (chunks):
- ส่วน
thinkingที่เก็บร่องรอยการให้เหตุผล และ - ส่วน
textที่เก็บคำตอบสุดท้าย
ดังนั้น response.choices[0].message.content จะพิมพ์ออกมาเป็นรายการ ไม่ใช่คำตอบของคุณ ดึงส่วนข้อความ (text chunk) ออกมาอย่างชัดเจน:
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(c.text for c in content if c.type == "text")
print(answer)
โทเค็นการคิด (thinking tokens) จะถูกเรียกเก็บเงินเป็นโทเค็นเอาต์พุต (output tokens) ดังนั้นการตั้งค่า "high" จึงมีค่าใช้จ่ายต่อคำขอสูงกว่า ตั้งค่าเริ่มต้นเป็น "none" และเปลี่ยนเป็น "high" เฉพาะในคำขอที่จำเป็นเท่านั้น
ขั้นตอนที่ 5: ส่งรูปภาพ
Large 4 เป็นโมเดลแบบมัลติโมดัลโดยกำเนิด โดยมีตัวเข้ารหัสภาพ (vision encoder) ที่มีพารามิเตอร์ 1.6 พันล้านตัว ส่งรูปภาพเป็นส่วนหนึ่งของเนื้อหาถัดจากข้อความของคุณ:
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"}
]
}
]
}'
สำหรับไฟล์ในเครื่อง ให้ส่ง URL ข้อมูล base64 แทน: "image_url": "data:image/png;base64,<encoded>" Mistral รายงานว่า Large 4 ทำคะแนนได้ 42% ใน Dense 200 visual-grounding benchmark ซึ่งนำหน้า GPT-6 Astra ที่ 41% เพียงเล็กน้อย ดังนั้นภาพหน้าจอของแดชบอร์ด, แผนภูมิ และสถานะ UI จึงเหมาะสม
ขั้นตอนที่ 6: การเรียกใช้ฟังก์ชัน (Function Calling)
การเรียกใช้ฟังก์ชัน (Function calling) คือจุดที่ประสิทธิภาพของ Large 4 ในด้านตัวแทน (agent benchmarks) (59.9% บน AutomationBench) มีประโยชน์ คุณอธิบายเครื่องมือ, โมเดลจะตัดสินใจว่าจะเรียกใช้เมื่อใด, และโค้ดของคุณจะดำเนินการเรียกใช้งาน
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, tool_call.function.arguments)
เรียกใช้ฟังก์ชันด้วยตัวคุณเอง จากนั้นส่งผลลัพธ์กลับไปพร้อมกับ tool_call_id ที่ตรงกัน:
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)
schema ของเครื่องมือเป็น JSON Schema แบบธรรมดา หาก API ของคุณมี OpenAPI spec อยู่แล้ว คุณสามารถนำ request schema สำหรับแต่ละการดำเนินการไปใช้ใน parameters ได้โดยตรง การออกแบบ spec ใน Apidog ก่อนจะช่วยให้การนิยามเครื่องมือและ API จริงทำงานสอดคล้องกัน
ขั้นตอนที่ 7: รับข้อมูล JSON กลับมา
เมื่อคุณต้องการเอาต์พุตที่เครื่องอ่านได้ ให้ตั้งค่า response_format:
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"}
}'
ระบุ JSON ในพรอมต์และใน response_format ด้วย สำหรับรูปแบบที่เข้มงวด Mistral ยังรองรับ {"type": "json_schema", "json_schema": {...}} พร้อม schema แบบเต็ม ใน Apidog ให้เพิ่มการยืนยัน JSON Schema ในการตอบกลับ เพื่อให้รูปแบบที่เปลี่ยนแปลงไปส่งผลให้เกิดข้อผิดพลาดที่ชัดเจน แทนที่จะทำให้บริการปลายน้ำ (downstream service) เสียหาย
ค่าใช้จ่าย
| การใช้งาน | ราคาพรีวิว | ราคาปกติ |
|---|---|---|
| อินพุต, ต่อ 1 ล้านโทเค็น | $0.68 | $1.36 |
| อินพุตแคช, ต่อ 1 ล้านโทเค็น | $0.07 | $0.14 |
| เอาต์พุต, ต่อ 1 ล้านโทเค็น | $2.09 | $4.18 |
ตัวอย่างการคำนวณ: เอเจนต์ที่ทำการเรียกใช้งาน 10,000 ครั้งต่อวัน โดยแต่ละครั้งมีโทเค็นอินพุต 3,000 โทเค็น (ส่วนใหญ่เป็นพรอมต์ระบบและเครื่องมือที่แคชไว้) และโทเค็นเอาต์พุต 500 โทเค็น
- อินพุต: 30 ล้านโทเค็น หาก 2,500 จาก 3,000 เป็นแบบแคช จะเป็น 25 ล้านโทเค็นแบบแคชที่ $0.07 และ 5 ล้านโทเค็นใหม่ที่ $0.68 รวมประมาณ $5.15/วัน
- เอาต์พุต: 5 ล้านโทเค็นที่ $2.09 รวมประมาณ $10.45/วัน
- รวม: ประมาณ $15.60/วัน ด้วยราคาพรีวิว หรือประมาณ $31 ในราคาปกติ
ปริมาณงานเดียวกันนี้บน GPT-6 Astra (ราคา $10 / $50 ต่อล้านโทเค็น ก่อนหักส่วนลดแคช) จะมีค่าใช้จ่ายหลายร้อยดอลลาร์ต่อวัน Mistral ยังไม่ได้แจ้งว่าจะสิ้นสุดราคาพรีวิวเมื่อใด ดังนั้นควรกำหนดงบประมาณตามราคาปกติ
ข้อผิดพลาดที่พบบ่อย
| ข้อผิดพลาด | สาเหตุที่เป็นไปได้ | วิธีแก้ไข |
|---|---|---|
401 Unauthorized |
Key หายไปหรือไม่ถูกต้อง | ตรวจสอบ echo $MISTRAL_API_KEY และคำนำหน้า Bearer |
404 / โมเดลไม่ถูกต้อง |
พิมพ์ผิดใน Model ID | ใช้ mistral-large-4 ให้ตรงเป๊ะ |
422 Unprocessable Entity |
เนื้อหา (body) ไม่ถูกต้อง, มักเกิดจาก schema ของ tools ที่ผิดพลาด |
ตรวจสอบความถูกต้องของ JSON Schema ใน parameters ของแต่ละ tool |
429 Too Many Requests |
เกินขีดจำกัดอัตราการใช้งาน (rate limit) สำหรับระดับ workspace ของคุณ | รอแล้วลองใหม่ หรือเพิ่มขีดจำกัดใน Studio |
| คำตอบพิมพ์ออกมาเป็นรายการ | reasoning_effort: "high" ส่งคืนส่วนย่อย (chunks) |
ดึงส่วน text ออกมา (ขั้นตอนที่ 4) |
คำถามที่พบบ่อย (FAQ)
Mistral Large 4 เข้ากันได้กับ OpenAI หรือไม่? รูปแบบคำขอใกล้เคียงกันมาก: model, messages, tools, tool_choice และ response_format ล้วนทำงานได้ตามที่คุณคาดหวัง ใช้ Mistral SDKs หรือ HTTP ธรรมดาเพื่อความปลอดภัย เอาต์พุตการให้เหตุผลใช้รูปแบบส่วนย่อย (chunk format) ของ Mistral เอง
ฉันสามารถรันบนเครื่องของตัวเองได้เมื่อใด? Mistral กล่าวว่าจะจัดส่งน้ำหนักโมเดล (weights) ภายในสิ้นเดือนตุลาคม 2026 ด้วยพารามิเตอร์รวม 1.05 ล้านล้านตัว จำเป็นต้องใช้ฮาร์ดแวร์เซิร์ฟเวอร์ที่มี GPU หลายตัว ในระหว่างนี้ คู่มือ รัน Mistral 3 บนเครื่องของคุณ ของเราครอบคลุมเครื่องมือสำหรับโมเดลขนาดเล็กกว่า
พรีวิวมีความเสถียรพอสำหรับการใช้งานจริงหรือไม่? ยังไม่เสถียร โมเดลถูกระบุว่าเป็นพรีวิวสาธารณะและอาจมีการเปลี่ยนแปลงก่อนการเปิดตัวโมเดลแบบ Open Weights กำหนดการทดสอบของคุณให้แน่นอน, รันซ้ำเมื่อ Mistral อัปเดตโมเดล, และกำหนดค่าโมเดลสำรองไว้
ฉันสามารถใช้ Large 4 กับโค้ด Mistral ที่มีอยู่ได้หรือไม่? ได้ Base URL เดียวกัน, การยืนยันตัวตนเดียวกัน, SDK เดียวกัน เปลี่ยนสตริง model เป็น mistral-large-4 หากคุณมาจาก Medium 3.5 โปรดดู คู่มือ Mistral Medium 3.5 API ของเราสำหรับส่วนที่ยังคงใช้งานได้
สรุป
ห้านาทีก็ทำให้คุณเรียกใช้งานได้แล้ว ชั่วโมงถัดไปจะดีกว่าถ้าคุณใช้ในการรันพรอมต์จริงของคุณเทียบกับ Large 4 และโมเดลปัจจุบันของคุณแบบคู่ขนาน บันทึกคำขอทั้งสองใน Apidog เพิ่มการยืนยันสถานะและรูปแบบการตอบกลับ และคุณจะรู้ได้ภายในหนึ่งวันว่า Le Chonk จะมีที่ในระบบของคุณหรือไม่ ในขณะที่ราคาพรีวิวยังคงลดครึ่งหนึ่ง
