Skip to content

Ollama menyediakan kompatibilitas dengan bagian-bagian dari OpenAI API untuk membantu menghubungkan aplikasi yang sudah ada ke Ollama.

Penggunaan

Contoh sederhana /v1/chat/completions

Contoh sederhana /v1/responses

/v1/chat/completions dengan vision

Titik Akhir

/v1/chat/completions

Fitur yang didukung

  • [x] Penyelesaian obrolan
  • [x] Streaming
  • [x] Mode JSON
  • [x] Output yang dapat direproduksi
  • [x] Vision
  • [x] Alat
  • [x] Kontrol penalaran/pemikiran (untuk model penalaran)
  • [ ] Logprobs

Bidang permintaan yang didukung

  • [x] model
  • [x] messages
    • [x] content teks
    • [x] content gambar
      • [x] Gambar yang dikodekan Base64
      • [ ] URL gambar
    • [x] Array bagian content
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] response_format
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] tools
  • [x] reasoning_effort ("high", "medium", "low", "max", "none")
  • [x] reasoning
    • [x] effort ("high", "medium", "low", "max", "none")
  • [ ] tool_choice
  • [ ] logit_bias
  • [ ] user
  • [ ] n

/v1/completions

Fitur yang didukung

  • [x] Penyelesaian
  • [x] Streaming
  • [x] Mode JSON
  • [x] Output yang dapat direproduksi
  • [ ] Logprobs

Bidang permintaan yang didukung

  • [x] model
  • [x] prompt
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] suffix
  • [ ] best_of
  • [ ] echo
  • [ ] logit_bias
  • [ ] user
  • [ ] n

Catatan

  • prompt saat ini hanya menerima string

/v1/models

Catatan

  • created sesuai dengan waktu model terakhir diubah
  • owned_by sesuai dengan nama pengguna ollama, dengan nilai default "library"

/v1/models/{model}

Catatan

  • created sesuai dengan waktu model terakhir diubah
  • owned_by sesuai dengan nama pengguna ollama, dengan nilai default "library"

/v1/embeddings

Bidang permintaan yang didukung

  • [x] model
  • [x] input
    • [x] string
    • [x] array of strings
    • [ ] array of tokens
    • [ ] array of token arrays
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (eksperimental)

Catatan: Titik akhir ini bersifat eksperimental dan dapat berubah atau dihapus pada versi mendatang.

Hasilkan gambar menggunakan model pembuatan gambar.

Bidang permintaan yang didukung

  • [x] model
  • [x] prompt
  • [x] size (misal "1024x1024")
  • [x] response_format (hanya b64_json yang didukung)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

Catatan: Ditambahkan pada Ollama v0.13.3

Ollama mendukung OpenAI Responses API. Hanya varian non-stateful yang didukung (artinya, tidak ada dukungan untuk previous_response_id atau conversation).

Fitur yang didukung

  • [x] Streaming
  • [x] Alat (pemanggilan fungsi)
  • [x] Ringkasan penalaran (untuk model penalaran)
  • [ ] Permintaan stateful

Bidang permintaan yang didukung

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (stateful v1/responses tidak didukung)
  • [ ] conversation (stateful v1/responses tidak didukung)
  • [ ] truncation

Model

Sebelum menggunakan model, tarik model tersebut secara lokal menggunakan perintah ollama pull:

shell
ollama pull llama3.2

Nama model default

Untuk perangkat lunak yang bergantung pada nama model OpenAI default seperti gpt-3.5-turbo, gunakan perintah ollama cp untuk menyalin nama model yang ada ke nama sementara:

shell
ollama cp llama3.2 gpt-3.5-turbo

Setelah itu, nama model baru ini dapat ditentukan di bidang model:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Mengatur ukuran konteks

OpenAI API tidak memiliki cara untuk mengatur ukuran konteks suatu model. Jika Anda perlu mengubah ukuran konteks, buatlah Modelfile yang terlihat seperti:

FROM <some model>
PARAMETER num_ctx <context size>

Gunakan perintah ollama create mymodel untuk membuat model baru dengan ukuran konteks yang telah diperbarui. Panggil API dengan nama model yang telah diperbarui:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "mymodel",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'