~/tools / Chạy LLM cục bộ trên máy chủ của bạn / Ollama API Request Builder
Ollama API Request Builder — Tạo yêu cầu curl đến /api/chat của Ollama: format, tools, think, options
Tạo một yêu cầu đến endpoint /api/chat của Ollama từ một biểu mẫu: mô hình, thông điệp hệ thống và thông điệp người dùng, đầu ra có cấu trúc bằng format và JSON Schema, định nghĩa công cụ, suy nghĩ (thinking), truyền luồng, các tùy chọn như temperature và num_ctx, chuỗi dừng và keep_alive. Bạn nhận được một lệnh curl sẵn sàng chạy và phần thân JSON. Mọi trường đều lấy từ tài liệu tham khảo API chính thức của Ollama. Dữ liệu không rời khỏi trình duyệt của bạn.
Tùy chọn, chuỗi dừng và keep_alive
Các ô trống không được gửi, nên các thiết lập của mô hình vẫn có hiệu lực.
Lệnh curl
Chạy nó trong terminal trên một máy có thể truy cập 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
}'Thân 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
}Các trường theo tài liệu tham khảo API của Ollama cho /api/chat, kiểm tra vào ngày 2026-11-03. Ollama API: Tạo một thông điệp trò chuyện
Mọi thứ được xử lý trong trình duyệt của bạn. Công cụ chỉ viết ra lệnh và không gửi gì cả.
Endpoint /api/chat của Ollama nhận một thân JSON gồm mô hình và danh sách messages, cùng các trường tùy chọn: tools cho việc gọi hàm, format cho câu trả lời JSON hoặc câu trả lời theo một JSON Schema, options cho các thiết lập như temperature và num_ctx, stream, think và keep_alive. Viết thân này bằng tay trong terminal rất dễ sai: thiếu một dấu phẩy là hỏng, một dấu nháy đơn trong thông điệp kết thúc dấu ngoặc của shell, và một số gõ dưới dạng chữ có thể không được đọc như một số. Công cụ này tạo phần thân từ biểu mẫu và bọc nó trong một lệnh curl có dạng như các ví dụ trong tài liệu Ollama, đồng thời thoát các dấu nháy đơn cho shell. Nó kiểm tra rằng JSON Schema và danh sách công cụ là JSON hợp lệ, rằng mỗi công cụ có type, name và parameters mà tài liệu tham khảo API yêu cầu, và rằng các options là số đúng loại. Chúng tôi đã chạy các lệnh được tạo ra với Ollama 0.40.11 và qwen2.5:7b: một yêu cầu có JSON Schema trả về câu trả lời đúng dạng đó, một yêu cầu có công cụ trả về một lệnh gọi công cụ, còn truyền luồng, chế độ json, chuỗi dừng và keep_alive đều chạy mà không báo lỗi.
Phần xử lý chính của công cụ này là mã nguồn mở theo giấy phép MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts
Trường hợp dùng
- Thử đầu ra có cấu trúc trên máy chủ của bạn trước khi viết mã: dán một JSON Schema và xem mô hình trả về gì
- Kiểm tra mô hình có gọi hàm của bạn hay không, với định nghĩa công cụ bạn định dùng trong ứng dụng
- Gọi Ollama phía sau một proxy nginx có mật khẩu, với đúng URL và curl -u
Cách dùng
- Nhập địa chỉ máy chủ Ollama của bạn (http://localhost:11434 nếu để trống) và tên mô hình, rồi viết thông điệp người dùng và, nếu muốn, một thông điệp hệ thống.
- Chọn định dạng đầu ra, thêm các định nghĩa công cụ dưới dạng mảng JSON, và đặt suy nghĩ cùng truyền luồng. Mở Tùy chọn để đặt temperature, num_ctx, seed, chuỗi dừng hoặc keep_alive. Các ô trống sẽ không được ghi ra.
- Sao chép lệnh curl và chạy nó trong terminal trên một máy có thể truy cập Ollama. Phần thân JSON được hiển thị riêng nếu bạn muốn gửi từ mã của mình.
Hỏi đáp
stream làm gì?
Tài liệu tham khảo API đặt giá trị mặc định của stream là true. Một câu trả lời truyền theo luồng đến dưới dạng JSON phân tách bằng dòng mới, từng mảnh một. Khi stream là false, tài liệu nói câu trả lời được trả về dưới dạng một đối tượng JSON duy nhất, mà trang về truyền luồng gọi là dễ xử lý hơn và phù hợp hơn với các phản hồi ngắn hoặc đầu ra có cấu trúc. Công cụ chỉ viết "stream": false khi bạn tắt truyền luồng.
think có thể nhận những giá trị nào?
Tài liệu tham khảo API nói true yêu cầu suy nghĩ, false yêu cầu không có đầu ra suy nghĩ, và một chuỗi chọn một mức do mô hình định nghĩa; số không được hỗ trợ. Tài liệu bảo dùng /api/show để biết các giá trị mà một mô hình hỗ trợ, và công cụ hiển thị lệnh đó khi bạn đặt think. Trong bài kiểm tra của chúng tôi, think false chạy được với qwen2.5:7b, còn think true bị từ chối với "qwen2.5:7b" does not support thinking.
json và một JSON Schema trong format khác nhau thế nào?
Tài liệu tham khảo API nói format có thể là json hoặc một JSON schema. json yêu cầu bất kỳ JSON hợp lệ nào. Một schema mô tả đúng hình dạng, chẳng hạn tên các thuộc tính và thuộc tính nào là bắt buộc, và trong bài kiểm tra của chúng tôi, câu trả lời đã theo nó. Công cụ gửi schema dưới dạng đối tượng, không phải chuỗi.
Một định nghĩa công cụ nên trông như thế nào?
Tài liệu tham khảo API yêu cầu type, luôn là function, và một đối tượng function có name và parameters, trong đó parameters là một JSON Schema cho các đối số; description là tùy chọn. Công cụ kiểm tra các trường này. Khi mô hình quyết định gọi hàm, câu trả lời chứa message.tool_calls thay vì văn bản.
Làm sao gọi một Ollama nằm sau mật khẩu?
Nhập địa chỉ của proxy, chẳng hạn https://ollama.example.com, và tên người dùng. Công cụ thêm -u cùng tên đó vào lệnh curl, rồi curl sẽ hỏi mật khẩu, nên mật khẩu không bao giờ nằm trong lệnh. Ollama nginx Config Generator trên trang này tạo ra một proxy như vậy.
Có gì được gửi đến máy chủ không?
Không. Công cụ chỉ viết ra lệnh. Không có gì được gửi cho đến khi chính bạn chạy nó.
Bài viết liên quan
- Theo dõi bộ nhớ của Ollama trên VPS nhỏXem Ollama giữ gì trong bộ nhớ, giữ bao lâu và thiết lập nào thay đổi điều đó: ollama ps, keep_alive và các giới hạn, theo FAQ chính thức.
- Kết nối Dify với Ollama trên VPS của riêng bạnChạy Dify trên VPS của riêng bạn và dùng Ollama làm mô hình: cài đặt, các trường của plugin, vấn đề địa chỉ trong Docker và embedding, theo tài liệu chính thức.
- Chạy LLM cục bộ mà không cần PC đắt tiền: hướng dẫn dùng VPS cho người mớiKhông có PC mạnh? Hãy thuê một VPS và chạy một LLM cục bộ nhỏ ngay trong trình duyệt: sáu bước từ ước tính bộ nhớ đến màn hình chat được bảo vệ, với các giới hạn được nêu trung thực.