~/tools / Menjalankan LLM lokal di server Anda / Ollama API Request Builder

Ollama API Request Builder — Buat permintaan curl ke /api/chat Ollama: format, tools, think, options

Buat permintaan ke endpoint /api/chat Ollama dari sebuah formulir: model, pesan sistem dan pesan pengguna, keluaran terstruktur dengan format dan JSON Schema, definisi tool, thinking, streaming, opsi seperti temperature dan num_ctx, urutan penghenti, dan keep_alive. Anda mendapatkan perintah curl yang siap dijalankan dan body JSON-nya. Setiap field berasal dari referensi API resmi Ollama. Tidak ada data yang keluar dari browser Anda.

Opsi, urutan penghenti, dan keep_alive

Kolom kosong tidak dikirim, sehingga pengaturan model tetap berlaku.

Perintah curl

Jalankan di terminal pada mesin yang dapat menjangkau Ollama.

curl http://localhost:11434/api/chat -d '{
  "model": "qwen3:4b",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about Canada."
    }
  ],
  "format": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "capital": {
        "type": "string"
      },
      "languages": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "name",
      "capital",
      "languages"
    ]
  },
  "options": {
    "temperature": 0
  },
  "stream": false
}'

Body JSON

{
  "model": "qwen3:4b",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about Canada."
    }
  ],
  "format": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "capital": {
        "type": "string"
      },
      "languages": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "name",
      "capital",
      "languages"
    ]
  },
  "options": {
    "temperature": 0
  },
  "stream": false
}

Field sesuai referensi API Ollama untuk /api/chat, diperiksa pada 2026-11-03. Ollama API: Membuat pesan obrolan

Semua dilakukan di browser Anda. Alat ini hanya menulis perintah dan tidak mengirim apa pun.

Endpoint /api/chat Ollama menerima body JSON berisi model dan daftar messages, ditambah field opsional: tools untuk pemanggilan fungsi, format untuk jawaban JSON atau jawaban yang mengikuti JSON Schema, options untuk pengaturan seperti temperature dan num_ctx, stream, think, dan keep_alive. Menulis body itu dengan tangan di terminal rawan salah: koma yang hilang merusaknya, apostrof di dalam pesan mengakhiri tanda kutip shell, dan angka yang diketik sebagai teks mungkin tidak terbaca sebagai angka. Alat ini menyusun body dari formulir dan membungkusnya dalam perintah curl dengan bentuk seperti contoh di dokumentasi Ollama, serta meng-escape apostrof untuk shell. Alat ini memeriksa bahwa JSON Schema dan daftar tool adalah JSON yang valid, bahwa setiap tool memiliki type, name, dan parameters yang diwajibkan referensi API, dan bahwa options berupa angka dengan jenis yang tepat. Kami menjalankan perintah yang dihasilkan terhadap Ollama 0.40.11 dengan qwen2.5:7b: permintaan dengan JSON Schema mengembalikan jawaban dalam bentuk itu, permintaan dengan tool mengembalikan pemanggilan tool, dan streaming, mode json, urutan penghenti, serta keep_alive berjalan tanpa error.

Logika utama alat ini bersifat sumber terbuka dengan lisensi MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts

Kapan dipakai

  • Mencoba keluaran terstruktur di server Anda sendiri sebelum menulis kode: tempel JSON Schema dan lihat apa yang dikembalikan model
  • Memeriksa apakah model memanggil fungsi Anda, dengan definisi tool yang rencananya Anda pakai di aplikasi
  • Memanggil Ollama di belakang proxy nginx dengan kata sandi, dengan URL yang benar dan curl -u

Cara pakai

  1. Masukkan alamat server Ollama Anda (http://localhost:11434 jika dikosongkan) dan nama model, lalu tulis pesan pengguna dan, jika mau, pesan sistem.
  2. Pilih format keluaran, tambahkan definisi tool sebagai array JSON, lalu atur thinking dan streaming. Buka Opsi untuk mengatur temperature, num_ctx, seed, urutan penghenti, atau keep_alive. Kolom kosong tidak ditulis.
  3. Salin perintah curl dan jalankan di terminal pada mesin yang dapat menjangkau Ollama. Body JSON ditampilkan terpisah jika Anda ingin mengirimnya dari kode Anda sendiri.

Tanya jawab

Apa fungsi stream?

Referensi API memberi stream nilai default true. Jawaban yang di-stream tiba sebagai JSON yang dipisahkan baris baru, sepotong demi sepotong. Dengan stream diatur ke false, dokumentasi menyebutkan jawaban dikembalikan sebagai satu objek JSON, yang disebut halaman streaming lebih sederhana untuk diproses dan lebih baik untuk respons pendek atau keluaran terstruktur. Alat ini menulis "stream": false hanya saat Anda mematikan streaming.

Nilai apa yang bisa diberikan pada think?

Referensi API menyebutkan bahwa true meminta thinking, false meminta keluaran tanpa thinking, dan string memilih level yang ditentukan oleh model; angka tidak didukung. Dokumentasi menyarankan memakai /api/show untuk mengetahui nilai yang didukung sebuah model, dan alat ini menampilkan perintah itu saat Anda mengatur think. Pada pengujian kami, think false berfungsi dengan qwen2.5:7b, dan think true ditolak dengan "qwen2.5:7b" does not support thinking.

Apa bedanya json dan JSON Schema pada format?

Referensi API menyebutkan bahwa format dapat berupa json atau JSON schema. json meminta JSON valid apa pun. Schema menjelaskan bentuk yang tepat, seperti nama properti dan mana yang wajib, dan pada pengujian kami jawabannya mengikutinya. Alat ini mengirim schema sebagai objek, bukan sebagai string.

Bagaimana seharusnya definisi tool?

Referensi API mewajibkan type, yang selalu function, dan objek function dengan name dan parameters, tempat parameters adalah JSON Schema untuk argumennya; description bersifat opsional. Alat ini memeriksa field-field tersebut. Saat model memutuskan memanggil fungsi, jawabannya berisi message.tool_calls, bukan teks.

Bagaimana cara memanggil Ollama yang berada di belakang kata sandi?

Masukkan alamat proxy, misalnya https://ollama.example.com, dan nama pengguna. Alat ini menambahkan -u dengan nama itu ke perintah curl, lalu curl menanyakan kata sandi, sehingga kata sandi tidak pernah menjadi bagian dari perintah. Ollama nginx Config Generator di situs ini membuat proxy semacam itu.

Apakah ada yang dikirim ke server?

Tidak. Alat ini hanya menulis perintah. Tidak ada yang dikirim sampai Anda menjalankannya sendiri.

Artikel terkait

Terkait