API Ollama vs API OpenAI: Endpoint dan Kode
Pertanyaan tentang api ollama vs openai api berujung pada dua format permintaan dan dua tempat untuk menjalankan model. Ollama memiliki API asli-nya sendiri dan juga lapisan kompatibel OpenAI, sehingga beralih ke endpoint gaya OpenAI yang di-host dapat berupa perubahan URL dasar dan kunci.


Tidak perlu kartu. Setelah mendaftar, klaim $0,50 kredit uji coba gratis dengan satu klik (sekali per orang).
Dapatkan kunci APIPoin utama
- Ollama memiliki rute asli di bawah /api dan lapisan kompatibel OpenAI di bawah /v1; klien yang ditulis untuk SDK OpenAI biasanya berfungsi dengan keduanya.
- Ollama asli melakukan streaming JSON yang dipisahkan baris, sedangkan format OpenAI melakukan streaming server-sent events.
- Beralih dari lokal ke layanan yang di-host berarti mengubah URL dasar, kunci, dan nama model, bukan kode Anda.
- Lokal menyimpan data di mesin Anda; layanan yang di-host menghilangkan pekerjaan perangkat keras dan menambahkan tagihan per token.
Versi singkatnya
Keduanya meminta Anda melakukan POST daftar pesan dan mendapatkan teks kembali. Perbedaannya adalah bentuk permintaan, tempat server berada, dan siapa yang membayar GPU. Ollama menjalankan model di komputer Anda sendiri dan mendengarkan di port 11434. API OpenAI adalah layanan yang di-host dengan model berbayar sendiri. Dalam perbandingan ollama api vs openai api, orang sering melewatkan hal ketiga: Ollama juga mengekspos rute kompatibel OpenAI, sehingga kedua format tersebut tumpang tindih.
Tumpang tindih inilah yang membuat migrasi murah. Jika aplikasi Anda sudah menggunakan SDK OpenAI, Anda dapat mengarahkannya ke Ollama lokal hari ini dan ke URL kompatibel OpenAI yang di-host besok. Endpoint yang di-host di situs ini adalah salah satunya. Endpoint ini melayani satu model, uncensored, di https://api.ollamansfw.com/v1, dan ini bukan produk resmi dari OpenAI, Meta, atau laboratorium lain mana pun.
Perbedaan endpoint per endpoint
| Tugas | Ollama asli | Gaya OpenAI |
|---|---|---|
| Chat | POST /api/chat | POST /v1/chat/completions |
| Prompt tunggal | POST /api/generate | POST /v1/responses atau chat completions |
| Daftar model | GET /api/tags | GET /v1/models |
| Otentikasi | Tidak ada secara default | Authorization: Bearer key |
| Streaming | JSON yang dipisahkan baris | Event yang dikirim server, diakhiri dengan penanda done |
| Nama model | Apa pun yang Anda unduh, seperti llama3 | Apa pun yang terdaftar oleh penyedia |
Ollama juga menyajikan /v1/chat/completions dan /v1/models pada port yang sama, yang memungkinkan klien OpenAI bekerja dengannya. Pengaturan default untuk panggilan bawaan adalah streaming, jadi atur stream: false jika Anda menginginkan satu balasan JSON.
Endpoint yang di-host mengimplementasikan POST /v1/chat/completions, POST /v1/responses dan GET /v1/models, serta pemeriksaan saldo di GET /v1/balance. Lihat dokumentasi API untuk daftar lengkapnya.
Permintaan yang sama, tiga cara
Ollama asli dari Python:
import requests
r = requests.post(
"http://localhost:11434/api/chat",
json={
"model": "llama3",
"messages": [{"role": "user", "content": "Say hello in five words."}],
"stream": False,
},
)
print(r.json()["message"]["content"])SDK OpenAI, dengan pengaturan lokal dan layanan yang di-host berdampingan. Hanya baris yang dikomentari yang berubah:
from openai import OpenAI
# Local Ollama through its OpenAI-compatible layer:
# client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
# Hosted endpoint, same code from here on:
client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored", # local would be e.g. "llama3"
messages=[{"role": "user", "content": "Say hello in five words."}],
)
print(resp.choices[0].message.content)Dan curl terhadap endpoint yang di-host dengan streaming aktif:
curl https://api.ollamansfw.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}],"stream":true}'Pemrosesan berbeda di sisi native: setiap baris yang di-stream adalah objek JSON dengan message.content, dan yang terakhir memiliki done: true. Dalam format OpenAI setiap peristiwa dimulai dengan data: , membawa potongan choices[0].delta.content, dan streaming berakhir dengan [DONE]. Gunakan SDK dan Anda tidak akan melihat keduanya.
Di mana masing-masing masuk akal
Ollama lokal adalah pilihan yang tepat ketika privasi adalah prioritas utama, ketika Anda memiliki GPU dengan memori yang cukup untuk model yang Anda inginkan, atau ketika Anda bereksperimen dengan banyak model. Tidak ada yang keluar dari mesin Anda dan tidak ada tagihan per token. Biaya muncul sebagai perangkat keras, daya, dan waktu Anda. Panduan kami tentang menggunakan Ollama dengan GUI mencakup sisi ramah dari rute tersebut.
Endpoint kompatibel OpenAI yang di-host lebih cocok ketika Anda tidak memiliki perangkat keras, membutuhkan banyak permintaan paralel, menjalankan bot atau layanan untuk orang lain, atau menginginkan URL stabil yang tidak bergantung pada laptop Anda tetap menyala. Kunci penuh memungkinkan 8 permintaan konkuren dan 300 permintaan per menit. Jendela konteks adalah 100.000 token, yang lebih banyak daripada yang dapat dimuat oleh banyak pengaturan lokal.
Banyak orang menggunakan keduanya: lokal untuk eksperimen, layanan yang di-host untuk apa pun yang harus tetap aktif. Jika Anda membandingkan alat lokal lainnya, baca alternatif perangkat lunak Ollama.
Migrasi dari Ollama lokal ke hosted
- Beralih ke format OpenAI terlebih dahulu. Jika kode Anda memanggil
/api/chat, pindahkan ke SDK OpenAI yang mengarah ke rute/v1Ollama. Konfirmasikan bahwa itu masih berfungsi secara lokal. - Dapatkan kunci. Daftar dan klaim uji coba $0,50 di halaman kunci API. Ini tidak memerlukan pembayaran dan berlangsung selama 7 hari.
- Ubah tiga parameter. URL dasar ke
https://api.ollamansfw.com/v1, kunci ke milik Anda, model keuncensored. - Periksa parameter. Temperature, top_p, stop, seed, dan penalti diteruskan. Opsi khusus lokal seperti
num_ctxataukeep_aliveOllama tidak berlaku; jendela tetap pada 100.000 token. - Tambahkan logika retry. API yang di-host mengembalikan 429 dengan
rate_limitedatauconcurrencymelebihi batas, dan 429 denganRetry-After: 5saat kelebihan beban sementara. Server lokal jarang melakukan hal itu, sehingga kode yang ada mungkin tidak menanganinya.
Jika terjadi kesalahan setelah pengalihan, artikel tentang kesalahan API Ollama umum mencakup penyebab sering seperti port yang salah dan nama model yang hilang.
Biaya layanan host, dan apa yang tidak akan dilakukannya
Penagihan adalah bayar sesuai penggunaan dari saldo prabayar: $0,15 per 1M token input dan $0,50 per 1M token output. Satu giliran chat dengan 1.000 input dan 400 token output berharga $0,00015 + $0,0002 = $0,00035, sehingga $20 mencakup sekitar 57.000 giliran seperti itu. Permintaan yang gagal atau ditolak tidak dikenakan biaya dan saldo tidak pernah kedaluwarsa. Isi ulang dimulai dari $20 hingga $500 dengan bonus +5% dari $50, +10% dari $100 dan +15% dari $200. Pembayaran hanya dengan kripto (USDT di TRC20 atau USDC di Base). Selengkapnya di halaman harga.
Batas yang perlu diketahui: hanya teks, jadi tidak ada embedding, generasi gambar, atau fine-tuning. Jika Anda bergantung pada embedding lokal, pertahankan itu secara lokal. Model ini disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah. Konten seksual yang melibatkan anak di bawah umur tidak pernah diizinkan. Prompt tidak digunakan untuk pelatihan.
Panduan lainnya
Tanya jawab
Apakah API Ollama kompatibel dengan API OpenAI?
Sebagian. Ollama memiliki endpoint bawaan di bawah /api dan juga melayani endpoint gaya OpenAI seperti /v1/chat/completions, sehingga klien SDK OpenAI dapat berkomunikasi dengannya.
Apa yang harus saya ubah untuk beralih dari Ollama lokal ke endpoint yang di-host?
URL dasar, kunci API, dan nama model. Jika kode Anda sudah menggunakan SDK OpenAI, tidak ada yang lain yang perlu diubah.
Apakah API yang di-host mendukung embedding seperti Ollama?
Tidak. Ini hanya generasi teks: penyelesaian obrolan dan respons, tanpa embedding, gambar, atau fine-tuning.
Apakah Ollama gratis?
Perangkat lunak ini gratis untuk diunduh dan dijalankan. Anda masih membayar untuk perangkat keras dan daya, sementara API yang di-host membebankan biaya per token.