Cara Menggunakan Ollama dengan GUI (dan Cadangan Terhosting)
Ollama sendiri berjalan di terminal, tetapi antarmuka obrolan apa pun yang mendukung format OpenAI dapat diletakkan di atasnya. Berikut cara mengaturnya, dan cara mengarahkan jendela yang sama ke endpoint terhosting.

Tidak perlu kartu. Setelah mendaftar, klaim $0,50 kredit uji coba gratis dengan satu klik (sekali per orang).
Dapatkan kunci APIPoin utama
- Ollama tidak memiliki jendela obrolan bawaan; Anda menambahkan antarmuka depan seperti Open WebUI.
- Front end berkomunikasi dengan Ollama atau dengan URL apa pun yang kompatibel dengan OpenAI, sehingga satu GUI dapat menyimpan kedua koneksi tersebut.
- Untuk koneksi terhosting gunakan URL dasar https://api.ollamansfw.com/v1 dan ID model uncensored.
- Streaming, pemanggilan fungsi, dan mode JSON semuanya berfungsi melalui endpoint terhosting dengan pengaturan klien standar.
Mengapa Ollama memerlukan GUI terpisah
Jika Anda ingin mengetahui cara menggunakan Ollama dengan GUI, fakta pertama yang harus Anda terima adalah proyek Ollama adalah server dan alat baris perintah. Ia menarik model dan menjawab permintaan pada port lokal. Jendela obrolan adalah tugas pihak lain, dan ada beberapa yang bagus.
Pemisahan ini berguna. Karena Ollama mengekspos API bergaya OpenAI di mesin Anda sendiri (secara default pada port 11434 di bawah /v1), setiap antarmuka depan yang memungkinkan Anda mengatur URL dasar Openai kustom dapat menggunakannya. Sifat yang sama berarti Anda dapat mengarahkan antarmuka depan tersebut ke tempat lain nanti. Artikel ini membahas pengaturan lokal terlebih dahulu, lalu menambahkan endpoint yang dihosting sebagai koneksi kedua.
Pilih antarmuka
Tiga keluarga alat mencakup sebagian besar pengguna. Periksa dokumentasi masing-masing proyek untuk langkah instalasi terbaru, karena sering berubah.
- Open WebUI. Antarmuka browser yang di-hosting sendiri. Ini mendukung Ollama secara langsung dan juga menerima koneksi yang kompatibel dengan OpenAI. Biasanya diinstal dengan Docker atau pip.
- Klien desktop. Aplikasi asli seperti Chatbox atau Msty memungkinkan Anda menambahkan server Ollama atau penyedia yang kompatibel dengan OpenAI melalui layar pengaturan. Tidak ada server yang harus dijalankan.
- Antarmuka depan untuk roleplay dan penulisan. SillyTavern memungkinkan Anda menambahkan endpoint yang kompatibel dengan OpenAI, dan alat serupa ada untuk fiksi panjang dan karakter pendamping untuk orang dewasa.
Jika Anda tidak ingin wadah Docker, klien desktop adalah jalur terpendek. Jika Anda menginginkan antarmuka bersama untuk beberapa orang di satu jaringan, Open WebUI adalah pilihan yang umum.
Langkah demi langkah dengan Open WebUI
- Instal dan mulai Ollama, lalu tarik model dengan perintah
ollama pull. Konfirmasikan bahwa itu merespons dari terminal sebelum melanjutkan. - Mulakan Open WebUI. Dengan Docker, pola umum adalah mempublikasikan port dan menempelkan volume untuk datanya.
- Buka halaman web, buat akun lokal pertama (ini menjadi admin), dan cari area koneksi di pengaturan admin.
- Periksa apakah URL Ollama menunjuk ke mesin tempat Ollama berjalan. Ketika keduanya berada di host yang sama, ini biasanya alamat lokal pada port 11434. Ketika Open WebUI berjalan di dalam kontainer,
localhostberarti kontainer itu sendiri, yang merupakan alasan paling umum daftar model tetap kosong. - Muat ulang, pilih model dari menu dropdown, dan kirim pesan.
Itu adalah GUI lokal yang lengkap. Tidak ada yang meninggalkan komputer Anda, dan kecepatan bergantung pada GPU atau CPU Anda.
Menambahkan koneksi OpenAI yang kompatibel dengan terhosting
Sekarang cadangannya. Misalkan model yang dapat Anda jalankan secara lokal terlalu kecil untuk adegan panjang, atau GPU Anda sibuk merender. Anda dapat menambahkan koneksi kedua ke GUI yang sama. Untuk ini Anda memerlukan kunci API, yang dapat Anda klaim dari halaman kunci API setelah mendaftar dengan Google atau dengan email dan kata sandi. Kredit uji coba satu kali senilai $0,50 tersedia dengan satu klik, tidak memerlukan pembayaran, dan berlaku selama 7 hari.
Di Open WebUI, tambahkan koneksi OpenAI dengan nilai-nilai berikut:
- URL dasar:
https://api.ollamansfw.com/v1 - Kunci API: kunci Anda, dikirim sebagai
Authorization: Bearer - Model:
uncensored
Jika Anda lebih memilih variabel lingkungan saat meluncurkan kontainer, Open WebUI mendokumentasikan OPENAI_API_BASE_URL dan OPENAI_API_KEY untuk tujuan ini:
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.ollamansfw.com/v1 \
-e OPENAI_API_KEY=YOUR_KEY \
-v open-webui:/app/backend/data \
--name open-webui ghcr.io/open-webui/open-webui:main
# model to pick in the UI: uncensored
Setelah dimuat ulang, uncensored harus muncul di menu dropdown model di sebelah model lokal Anda. Antarmuka depan menemukannya melalui GET /v1/models. Anda sekarang dapat beralih antara model lokal dan model yang dihosting di dalam daftar percakapan yang sama.
Uji endpoint di luar GUI terlebih dahulu
Ketika GUI menampilkan kesalahan yang samar, cara tercepat untuk mengetahui apakah masalahnya adalah kunci atau antarmuka adalah panggilan langsung. Berikut adalah permintaan streaming dengan curl:
curl -N https://api.ollamansfw.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"stream": true,
"messages": [{"role": "user", "content": "Write two sentences about a lighthouse keeper."}]
}'
Anda harus melihat serangkaian baris data: yang berakhir dengan informasi penggunaan. Jika itu berhasil, kunci dan URL baik-baik saja dan masalahnya ada di antarmuka depan. halaman pemecahan masalah mencakup kesalahan umum seperti /v1 yang hilang atau spasi di akhir kunci.
Pengaturan klien yang sama yang Anda gunakan untuk model lokal sebagian besar dapat diterapkan. Suhu, top_p, urutan berhenti, benih, dan penalti diteruskan ke model.
Menggunakan endpoint terhosting dari kode Anda sendiri
GUI adalah satu klien. Skrip dan aplikasi kecil adalah lainnya, dan endpoint terhosting berfungsi dengan SDK OpenAI standar. Pemanggilan fungsi dan mode JSON didukung, yang penting jika GUI atau agen Anda menggunakannya.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "Reply with a JSON object with keys title and summary."},
{"role": "user", "content": "A short story about a lighthouse keeper."},
],
)
print(resp.choices[0].message.content)
Di Node, polanya identik:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ollamansfw.com/v1",
apiKey: process.env.API_KEY,
});
const stream = await client.chat.completions.create({
model: "uncensored",
stream: true,
messages: [{ role: "user", content: "Name three sailing knots." }],
});
for await (const part of stream) {
process.stdout.write(part.choices[0]?.delta?.content ?? "");
}
panduan awal memiliki lebih banyak contoh, termasuk panggilan alat dengan tool_choice.
Masalah umum dan perbaikan
Kegagalan sebagian besar dalam pengaturan GUI berasal dari daftar penyebab yang pendek.
- Daftar model kosong untuk koneksi lokal. Antarmuka depan tidak dapat menjangkau Ollama. Periksa alamat, dan ingat bahwa GUI yang dikontainerisasi tidak melihat host Anda sebagai
localhost. - 401 dari endpoint yang dihosting. Kunci hilang atau salah. Tempelkan lagi tanpa spasi, dan pastikan GUI mengirimkannya sebagai token bearer.
- 404 pada setiap permintaan. URL dasar mungkin tidak menyertakan
/v1, atau memilikinya dua kali. - Balasan berhenti atau UI macet. Beberapa antarmuka depan melakukan buffering output streaming melalui proxy. Coba uji curl langsung di atas, dan jika itu streaming, periksa pengaturan proxy di depan GUI Anda.
- Balasan lokal yang lambat. Model terlalu besar untuk VRAM Anda dan tumpah ke memori sistem. Pilih kuantisasi yang lebih kecil, atau alihkan obrolan itu ke koneksi yang dihosting.
Pegang satu aturan dalam pikiran untuk aplikasi fiksi dan pendamping untuk orang dewasa: model terhosting menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, tetapi konten seksual yang melibatkan anak di bawah umur tidak pernah diizinkan, dan layanan memberlakukan itu sebagai batas keras.
Batas dan biaya yang perlu diketahui dalam GUI
Front end dapat mengirim beberapa permintaan sekaligus, misalnya saat menghasilkan judul obrolan di latar belakang sambil balasan utama di-streaming. Kunci penuh mengizinkan 8 permintaan paralel dan 300 permintaan per menit. Kunci uji coba mengizinkan 2 permintaan paralel dan 60 per menit. Permintaan streaming memegang slotnya hingga streaming berakhir. Jika Anda melebihi batas, Anda mendapatkan HTTP 429 dengan kode rate_limited atau concurrency, dan saat kelebihan beban sementara, 429 dengan Retry-After: 5. Mematikan pembuatan judul latar belakang di GUI adalah solusi sederhana untuk kunci uji coba.
Biaya dihitung per token: $0.15 per 1M input dan $0.50 per 1M output. Satu giliran obrolan dengan 2.000 token riwayat dan balasan 500 token biayanya $0.0003 ditambah $0.00025, yang menjadi $0.00055. Header respons menyertakan X-Balance-USD, sehingga Anda dapat memantau saldo kredit Anda menyusut. Detail tentang top up ada di halaman harga. Situs ini hanya kripto: USDT pada TRC20 atau USDC pada Base, dengan jumlah bulat dari $20 hingga $500.
Jendela konteks adalah 100.000 token, sehingga obrolan yang sangat panjang akan lebih mahal per giliran seiring bertambahnya riwayat, karena seluruh riwayat dikirim setiap kali. Sebagian besar GUI memiliki pengaturan untuk memangkas atau meringkas pesan lama.
Panduan lainnya
Tanya jawab
Apakah Ollama memiliki antarmuka grafisnya sendiri?
Ollama terutama adalah server dan alat baris perintah. Jendela obrolan berasal dari proyek terpisah seperti Open WebUI atau klien desktop yang Anda sambungkan ke sana.
Apakah satu GUI dapat menggunakan model lokal dan model yang dihosting?
Ya, jika antarmuka depan mendukung beberapa koneksi. Tambahkan Ollama sebagai salah satunya dan URL yang kompatibel dengan OpenAI sebagai lainnya, lalu pilih model per obrolan.
Mengapa GUI saya tidak menampilkan model untuk endpoint yang dihosting?
Periksa apakah URL dasar diakhiri dengan /v1, kunci tidak memiliki spasi yang tidak perlu, dan GUI diizinkan untuk memanggil GET /v1/models. Jika masih gagal, ketik ID model uncensored secara manual.
Apa yang harus saya lakukan jika mendapatkan HTTP 429?
Anda mencapai batas laju atau batas konkurensi. Kurangi permintaan paralel, tunggu jumlah detik dalam Retry-After, dan coba lagi.