~/tools / Lokalny LLM na własnym serwerze / Ollama API Request Builder
Ollama API Request Builder — Zbuduj żądanie curl do /api/chat Ollama: format, tools, think, options
Zbuduj za pomocą formularza żądanie do endpointu /api/chat Ollama: model, komunikat systemowy i komunikat użytkownika, ustrukturyzowane wyjście z format i schematem JSON Schema, definicje narzędzi, thinking, strumieniowanie, opcje takie jak temperature i num_ctx, sekwencje zatrzymujące oraz keep_alive. Otrzymasz gotowe do uruchomienia polecenie curl i treść JSON. Każde pole pochodzi z oficjalnej dokumentacji API Ollama. Nic nie opuszcza Twojej przeglądarki.
Opcje, sekwencje zatrzymujące i keep_alive
Puste pola nie są wysyłane, więc obowiązują ustawienia modelu.
Polecenie curl
Uruchom je w terminalu na komputerze, który ma dostęp do 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
}'Treść 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
}Pola zgodne z dokumentacją API Ollama dla /api/chat, sprawdzone dnia 2026-11-03. Ollama API: Generate a chat message
Wszystko dzieje się w Twojej przeglądarce. Narzędzie tylko zapisuje polecenie i niczego nie wysyła.
Endpoint /api/chat Ollama przyjmuje treść JSON z modelem i listą messages oraz opcjonalnymi polami: tools dla wywoływania funkcji, format dla odpowiedzi w JSON lub odpowiedzi zgodnej ze schematem JSON Schema, options dla ustawień takich jak temperature i num_ctx, a także stream, think i keep_alive. Pisanie takiej treści ręcznie w terminalu łatwo prowadzi do błędów: brakujący przecinek ją psuje, apostrof w wiadomości kończy cudzysłów powłoki, a liczba wpisana jako tekst może nie zostać odczytana jako liczba. To narzędzie buduje treść z formularza i umieszcza ją w poleceniu curl w kształcie przykładów z dokumentacji Ollama, maskując apostrofy dla powłoki. Sprawdza, czy JSON Schema i lista narzędzi są poprawnym JSON-em, czy każde narzędzie ma type, name i parameters wymagane przez dokumentację API oraz czy options są liczbami właściwego rodzaju. Uruchomiliśmy wygenerowane polecenia na Ollama 0.40.11 z qwen2.5:7b: żądanie ze schematem JSON Schema zwróciło odpowiedź w tym kształcie, żądanie z narzędziem zwróciło wywołanie narzędzia, a strumieniowanie, tryb json, sekwencje zatrzymujące i keep_alive działały bez błędów.
Główna logika tego narzędzia jest otwartoźródłowa, na licencji MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-api-request.ts
Zastosowania
- Wypróbować ustrukturyzowane wyjście na własnym serwerze, zanim napiszesz kod: wklej JSON Schema i zobacz, co zwraca model
- Sprawdzić, czy model wywołuje Twoją funkcję, z definicją narzędzia, której planujesz użyć w aplikacji
- Wywołać Ollama za proxy nginx z hasłem, z właściwym adresem URL i curl -u
Jak używać
- Wpisz adres swojego serwera Ollama (http://localhost:11434, jeśli zostawisz pole puste) i nazwę modelu, a potem napisz komunikat użytkownika i, jeśli chcesz, komunikat systemowy.
- Wybierz format wyjścia, dodaj definicje narzędzi jako tablicę JSON oraz ustaw thinking i strumieniowanie. Otwórz Opcje, aby ustawić temperature, num_ctx, seed, sekwencje zatrzymujące lub keep_alive. Puste pola są pomijane.
- Skopiuj polecenie curl i uruchom je w terminalu na komputerze, który ma dostęp do Ollama. Treść JSON jest pokazana osobno, jeśli chcesz wysłać ją z własnego kodu.
FAQ
Co robi stream?
Dokumentacja API podaje dla stream wartość domyślną true. Odpowiedź strumieniowana przychodzi jako JSON rozdzielany znakami nowego wiersza, kawałek po kawałku. Gdy stream ma wartość false, dokumentacja mówi, że odpowiedź wraca jako pojedynczy obiekt JSON, który strona o strumieniowaniu nazywa prostszym w przetwarzaniu i lepszym dla krótkich odpowiedzi lub ustrukturyzowanych wyjść. Narzędzie zapisuje "stream": false tylko wtedy, gdy wyłączysz strumieniowanie.
Jakie wartości może przyjmować think?
Dokumentacja API mówi, że true żąda thinking, false żąda braku wyjścia thinking, a ciąg znaków wybiera poziom zdefiniowany przez model; liczby nie są obsługiwane. Dokumentacja każe użyć /api/show, aby sprawdzić, jakie wartości obsługuje model, a narzędzie pokazuje to polecenie, gdy ustawisz think. W naszym teście think false działało z qwen2.5:7b, a think true zostało odrzucone z komunikatem "qwen2.5:7b" does not support thinking.
Czym różni się json od schematu JSON Schema w format?
Dokumentacja API mówi, że format może mieć wartość json lub być schematem JSON. json prosi o dowolny poprawny JSON. Schemat opisuje dokładny kształt, na przykład nazwy właściwości i to, które z nich są wymagane, a w naszym teście odpowiedź miała dokładnie ten kształt. Narzędzie wysyła schemat jako obiekt, a nie jako ciąg znaków.
Jak powinna wyglądać definicja narzędzia?
Dokumentacja API wymaga type, które zawsze ma wartość function, oraz obiektu function z name i parameters, gdzie parameters to JSON Schema argumentów; description jest opcjonalne. Narzędzie sprawdza te pola. Gdy model zdecyduje się wywołać funkcję, odpowiedź zawiera message.tool_calls zamiast tekstu.
Jak wywołać Ollama, która jest za hasłem?
Wpisz adres proxy, na przykład https://ollama.example.com, oraz nazwę użytkownika. Narzędzie dodaje do polecenia curl opcję -u z tą nazwą, a curl pyta wtedy o hasło, więc hasło nigdy nie jest częścią polecenia. Ollama nginx Config Generator na tej stronie buduje takie proxy.
Czy cokolwiek jest wysyłane na serwer?
Nie. Narzędzie tylko zapisuje polecenie. Nic nie jest wysyłane, dopóki sam go nie uruchomisz.
Powiązane artykuły
- Pamięć Ollamy na małym VPS-ie: jak ją obserwowaćZobacz, co Ollama trzyma w pamięci, jak długo i które ustawienia to zmieniają: ollama ps, keep_alive i limity, według oficjalnego FAQ.
- Połącz Dify z Ollamą na własnym VPSUruchom Dify na własnym VPS i użyj Ollamy jako jego modelu: instalacja, pola wtyczki, problem z adresem w Dockerze i embeddingi, na podstawie oficjalnej dokumentacji.
- Lokalny LLM bez drogiego komputera: poradnik dla początkujących, jak użyć VPSNie masz mocnego komputera? Wynajmij VPS i uruchom mały lokalny LLM z poziomu przeglądarki: sześć kroków od oszacowania pamięci po chroniony ekran czatu, z uczciwie opisanymi ograniczeniami.