DEV Community

Cover image for Cara Menggunakan Mistral Large 4 API
Walse
Walse

Posted on Originally published at apidog.com

Cara Menggunakan Mistral Large 4 API

Mistral Large 4 diluncurkan di API Mistral pada 6 Oktober 2026, tiga minggu sebelum bobot terbukanya tersedia. Jika ingin mencoba “Le Chonk” berparameter 1 triliun sekarang, API adalah satu-satunya opsi. Selama pratinjau publik, harganya $0,68 per juta token masukan dan $2,09 per juta token keluaran—setengah dari harga daftar $1,36 / $4,18.

Coba Apidog hari ini

Panduan ini menunjukkan cara membuat panggilan pertama, lalu menangani area implementasi yang sering menimbulkan masalah: potongan penalaran, input gambar, pemanggilan fungsi, keluaran JSON, dan perhitungan biaya. Simpan setiap request di Apidog agar Anda dapat membandingkan Large 4 dengan model yang sudah digunakan.

Baru mengenal modelnya? Baca Mistral Is Back: Le Chonk Beats GPT-6 Astra and Claude at Cyber untuk melihat tolok ukur dan konteks berita sibernya.

Apa yang Anda butuhkan

Item Nilai
URL dasar https://api.mistral.ai/v1
Otentikasi Authorization: Bearer $MISTRAL_API_KEY
ID model mistral-large-4 atau mistral-large-4-0
Endpoint utama POST /v1/chat/completions
Jendela konteks 1M token
Jenis masukan Teks, gambar
SDK Python pip install mistralai
SDK TypeScript npm install @mistralai/mistralai

Langkah 1: Dapatkan kunci API

  1. Masuk ke Mistral Studio—sebelumnya bernama La Plateforme.
  2. Buka API Keys, lalu buat kunci baru.
  3. Beri nama yang menunjukkan penggunaannya, misalnya local-dev atau ci-staging.
  4. Salin kunci saat dibuat. Studio tidak akan menampilkannya lagi.
  5. Ekspor kunci ke shell:
export MISTRAL_API_KEY="kunci-anda-di-sini"
Enter fullscreen mode Exit fullscreen mode

Jangan masukkan kunci API ke kontrol sumber. Jika satu kunci digunakan oleh beberapa alat atau lingkungan, ikuti praktik terbaik manajemen kunci API untuk rotasi dan pembatasan cakupan.

Langkah 2: Buat panggilan pertama

Mulai dengan curl untuk memverifikasi autentikasi, model, dan format request.

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": "Berikan saya tiga kasus batas untuk diuji pada API paginasi."
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Respons yang berhasil berisi:

  • choices[0].message.content: jawaban model
  • usage.prompt_tokens: token input
  • usage.completion_tokens: token output
  • usage.total_tokens: total token

Troubleshooting awal:

  • 401 Unauthorized: API key salah, hilang, atau belum diekspor.
  • 404 pada model: periksa ID model, gunakan mistral-large-4.

Panggilan yang sama dalam 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": "Berikan saya tiga kasus batas untuk diuji pada API paginasi.",
        }
    ],
)

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

Panggilan yang sama dalam 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: "Berikan saya tiga kasus batas untuk diuji pada API paginasi.",
    },
  ],
});

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

Langkah 3: Simpan request di Apidog

Saat mulai membandingkan model, menjalankan ulang perintah curl menjadi tidak praktis. Simpan request di Apidog:

  1. Buat request HTTP baru:
   POST https://api.mistral.ai/v1/chat/completions
Enter fullscreen mode Exit fullscreen mode
  1. Tambahkan variabel lingkungan MISTRAL_API_KEY.
  2. Tambahkan header:
   Authorization: Bearer {{MISTRAL_API_KEY}}
Enter fullscreen mode Exit fullscreen mode
  1. Tempel body JSON dari Langkah 2, lalu klik Kirim.
  2. Duplikasikan request.
  3. Ubah nilai model pada salinan, misalnya ke mistral-medium-3-5.
  4. Jalankan kedua request dengan prompt yang sama.

Dengan dua request tersimpan, Anda dapat membandingkan:

  • kualitas jawaban;
  • status HTTP;
  • waktu respons;
  • ukuran respons;
  • penggunaan token pada objek usage.

Tambahkan assertion pasca-respons untuk memastikan choices[0].message.content tidak kosong. Request tersebut kemudian dapat berfungsi sebagai smoke test setiap kali Mistral memperbarui model.

Langkah 4: Aktifkan atau nonaktifkan penalaran

Large 4 adalah model hibrida: model yang sama dapat memberi jawaban cepat atau melakukan penalaran langkah demi langkah. Gunakan parameter reasoning_effort untuk mengontrolnya.

Nilai Perilaku Cocok untuk
"none" Pemikiran minimal; tidak ada potongan pemikiran dalam respons Chat, ekstraksi, klasifikasi, dan request sensitif latensi
"high" Menghasilkan potongan pemikiran sebelum jawaban akhir Debugging, perencanaan multi-langkah, matematika, dan review kode

Contoh request dengan penalaran tinggi:

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": "API kami mengembalikan 200 dengan badan kosong di bawah beban. Sebutkan kemungkinan penyebabnya secara berurutan berdasarkan probabilitas."
      }
    ],
    "reasoning_effort": "high"
  }'
Enter fullscreen mode Exit fullscreen mode

Tangani respons berbentuk potongan

Bagian ini sering merusak parser aplikasi. Dengan reasoning_effort: "high", message.content tidak selalu berupa string. Nilainya dapat berupa daftar potongan:

  • potongan thinking untuk jejak penalaran;
  • potongan text untuk jawaban akhir.

Jangan langsung mencetak atau mem-parsing content sebagai string. Ambil potongan teks secara eksplisit:

response = client.chat.complete(
    model="mistral-large-4",
    messages=[
        {
            "role": "user",
            "content": "Mengapa respons 200 memiliki badan yang kosong?",
        }
    ],
    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 pemikiran ditagih sebagai token keluaran. Gunakan "none" sebagai default, lalu aktifkan "high" hanya untuk request yang benar-benar membutuhkan penalaran tambahan.

Langkah 5: Kirim gambar

Large 4 mendukung input multimodal secara native dengan encoder visi berparameter 1,6B. Kirim teks dan gambar dalam array content yang sama:

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": "Ini adalah tangkapan layar dasbor kesalahan API kami. Titik akhir mana yang paling sering gagal dan apa kode kesalahannya?"
          },
          {
            "type": "image_url",
            "image_url": "https://example.com/dashboard.png"
          }
        ]
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Untuk file lokal, gunakan URL data base64:

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

Mistral melaporkan Large 4 memperoleh skor 42% pada tolok ukur penentuan visual Dense 200, sedikit di atas GPT-6 Astra pada 41%. Kasus penggunaan seperti tangkapan layar dasbor, grafik, dan status UI merupakan kecocokan yang wajar.

Langkah 6: Gunakan pemanggilan fungsi

Pemanggilan fungsi berguna saat model perlu meminta data atau menjalankan tindakan melalui kode Anda. Anda mendefinisikan alat, model memilih kapan alat dipanggil, lalu aplikasi Anda mengeksekusi panggilan tersebut.

Contoh alat untuk mengambil status pesanan:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "Cari status pesanan berdasarkan ID-nya.",
            "parameters": {
                "type": "object",
                "properties": {
                    "order_id": {
                        "type": "string",
                        "description": "ID pesanan, mis. ORD-1042",
                    }
                },
                "required": ["order_id"],
            },
        },
    }
]

messages = [
    {
        "role": "user",
        "content": "Di mana pesanan 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

Setelah menerima tool_call, jalankan fungsi di aplikasi Anda. Kemudian kirim hasilnya kembali menggunakan tool_call_id yang sama:

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

Definisi parameters menggunakan JSON Schema biasa. Jika API Anda sudah memiliki spesifikasi OpenAPI, gunakan skema request tiap operasi sebagai dasar definisi alat. Mendesain spesifikasi di Apidog terlebih dahulu membantu menjaga definisi alat dan API aktual tetap sinkron.

Langkah 7: Minta keluaran JSON

Untuk keluaran yang akan diproses aplikasi, tetapkan response_format ke 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": "Ekstrak metode, jalur, dan kode status dari: GET /v1/users/42 mengembalikan 404. Balas dalam JSON."
      }
    ],
    "response_format": {
      "type": "json_object"
    }
  }'
Enter fullscreen mode Exit fullscreen mode

Tetap sebutkan format JSON di prompt, meskipun response_format sudah digunakan.

Untuk bentuk yang lebih ketat, gunakan:

{
  "type": "json_schema",
  "json_schema": {
    "...": "skema lengkap Anda"
  }
}
Enter fullscreen mode Exit fullscreen mode

Tambahkan assertion JSON Schema pada respons di Apidog agar respons yang menyimpang gagal lebih awal, bukan merusak layanan hilir.

Berapa biayanya?

Penggunaan Harga pratinjau Harga daftar
Input, per 1 juta token $0,68 $1,36
Input cache, per 1 juta token $0,07 $0,14
Output, per 1 juta token $2,09 $4,18

Contoh: agen melakukan 10.000 request per hari. Setiap request menggunakan 3.000 token input—sebagian besar berupa prompt sistem dan alat yang di-cache—serta 500 token output.

  • Input: 30 juta token per hari. Jika 2.500 dari setiap 3.000 token di-cache, terdapat 25 juta token cache seharga $0,07 dan 5 juta token baru seharga $0,68: sekitar $5,15/hari.
  • Output: 5 juta token seharga $2,09: sekitar $10,45/hari.
  • Total: sekitar $15,60/hari pada harga pratinjau, atau sekitar $31 pada harga daftar.

Beban kerja yang sama pada GPT-6 Astra ($10 / $50 per juta token, sebelum diskon caching) dapat menghabiskan beberapa ratus dolar per hari. Mistral belum menyatakan kapan harga pratinjau berakhir, jadi gunakan harga daftar untuk perencanaan anggaran.

Kesalahan umum

Kesalahan Kemungkinan penyebab Perbaikan
401 Unauthorized Kunci hilang atau salah Periksa echo $MISTRAL_API_KEY dan prefiks Bearer
404 atau model tidak valid Salah ketik pada ID model Gunakan mistral-large-4 persis seperti itu
422 Unprocessable Entity Body salah format, sering kali schema tools tidak valid Validasi JSON Schema pada parameters setiap alat
429 Too Many Requests Batas tarif tingkat workspace Terapkan backoff dan coba lagi, atau naikkan batas di Studio
Jawaban tercetak sebagai daftar reasoning_effort: "high" mengembalikan potongan Ekstrak potongan bertipe text seperti pada Langkah 4

FAQ

Apakah Mistral Large 4 kompatibel dengan OpenAI?

Bentuk request sangat mirip: model, messages, tools, tool_choice, dan response_format tersedia seperti yang diharapkan. Gunakan SDK Mistral atau HTTP biasa untuk integrasi yang aman. Perhatikan bahwa keluaran penalaran memakai format potongan Mistral sendiri.

Kapan saya bisa menjalankannya secara lokal?

Mistral menyatakan bobot akan tersedia pada akhir Oktober 2026. Dengan total 1,05T parameter, model ini membutuhkan perangkat keras server multi-GPU. Sementara itu, lihat panduan menjalankan Mistral 3 secara lokal untuk model yang lebih kecil.

Apakah pratinjau ini cukup stabil untuk produksi?

Belum. Model ini diberi label pratinjau publik dan dapat berubah sebelum rilis bobot. Sematkan pengujian Anda, jalankan ulang saat Mistral memperbarui model, dan siapkan model cadangan yang telah dikonfigurasi.

Dapatkah saya menggunakan Large 4 dengan kode Mistral yang sudah ada?

Ya. URL dasar, autentikasi, dan SDK tetap sama. Ubah string model menjadi mistral-large-4. Jika Anda menggunakan Medium 3.5, lihat panduan API Mistral Medium 3.5 untuk bagian integrasi yang dapat digunakan kembali.

Rangkuman

Dalam sekitar lima menit, Anda dapat membuat panggilan Large 4 yang berfungsi. Setelah itu, gunakan waktu untuk menjalankan prompt produksi Anda terhadap Large 4 dan model saat ini secara berdampingan.

Simpan kedua request di Apidog, tambahkan assertion untuk status dan bentuk respons, lalu bandingkan kualitas, latensi, dan penggunaan token. Dengan begitu, Anda dapat menentukan apakah Le Chonk layak masuk ke stack Anda selagi harga pratinjau masih setengah harga.

Top comments (0)