Skip to main content
  1. Artikel-artikel/
  2. Artificial Intelligence/

Menggunakan API Ollama

·669 words·4 mins· loading · loading · ·
Development Ai Artificial-Intelligence Ollama Localhost Open-Web-Ui
Humaedi
Author
Humaedi
Halo, nama saya Humaedi 👋. Saya seorang CEO of Akaktekno.id & { full-stack developer } Bekerjalah seakan hidup abadi, beribadah seakan mau mati, jangan lupa☕️ untuk mendapat inspirasi.
ollama-2 - This article is part of a series.
Part : This Article

Halo para seniman yang budiman! Kita kembali pada bagian kedua dari seri artikel tentang Artificial Intelligence (AI) menggunakan Ollama dan OpenWebUI. Pada bagian sebelumnya, kita telah membahas bagaimana proses intalasi dan menggunakan Ollama dan OpenWebUI. Sekarang, kita akan mengarahkan perhatian kita pada pengiriman request ke Artificial Intelligence (AI) menggunakan API. Mari kita lanjutkan dengan langkah-langkah yang perlu dilakukan untuk menggunakan API dengan bantuan aplikasi seperti insomnia, postman atau terminal.

Menggunakan API Ollama untuk Generasi Teks dan Gambar
#

API Ollama menawarkan kemampuan canggih untuk menghasilkan teks dan menginterpretasi gambar dengan model Artificial Intelligence (AI) seperti Llama3 dan Llava. Berikut adalah panduan tentang bagaimana memanfaatkan endpoint-endpoint dari API Ollama untuk berbagai kebutuhan generasi teks dan gambar.

URL dan Endpoint Penting
#

Documentasi: Ollama API

  • Open Web UI: http://localhost:8080/ollama/api/generate
  • API Endpoint: http://localhost:11434/api/generate

Contoh
#

  • Request API
    • Methode: POST
    • Auth: Bearer {Token}
    • Headers: Content-Type: application/json
    • Body: Raw / JSON
      {
      	"model": "gemma:2b",
      	"prompt": "Siapa kamu?",
      	"stream": false
      }
      
    Request API Ollama
  • Response API
    Response API Ollama
    Respons akhir dalam aliran ini juga mencakup data tambahan tentang pembuatannya:
  • total_duration: waktu yang dihabiskan untuk menghasilkan respons.
  • load_duration: waktu yang dihabiskan dalam nanodetik untuk memuat model.
  • prompt_eval_count: jumlah token yang diminta.
  • prompt_eval_duration: waktu yang dihabiskan dalam nanodetik untuk mengevaluasi prompt.
  • eval_count: jumlah token dalam respons.
  • eval_duration: waktu dalam nanodetik yang dihabiskan untuk menghasilkan respons.
  • context: pengkodean percakapan yang digunakan dalam respons ini, ini dapat dikirim dalam permintaan berikutnya untuk menyimpan memori percakapan.
  • response: kosong jika respons dialirkan, jika tidak dialirkan, ini akan berisi respons lengkap.

Format Permintaan
#

1. Generasi Teks Sederhana
#

Untuk menghasilkan teks dengan model Llama3, Anda bisa menggunakan permintaan berikut:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Why is the sky blue?",
  "stream": false
}'

Parameter:

  • model: Nama model yang digunakan, dalam hal ini llama3.
  • prompt: Pertanyaan atau teks awal yang diberikan untuk menghasilkan respons.
  • stream: Mengatur apakah respons dikembalikan dalam aliran data atau sekali balasan. Setel ke false untuk respons sekali balasan.

2. Format JSON
#

Jika Anda membutuhkan respons dalam format JSON, gunakan parameter format:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "What color is the sky at different times of the day? Respond using JSON",
  "format": "json",
  "stream": false
}'

Parameter tambahan:

  • format: Menentukan format keluaran, dalam hal ini “json”.

3. Generasi Gambar
#

Untuk mengirimkan gambar ke model multimodal seperti Llava atau Bakllava, gunakan format base64 untuk mengkodekan gambar:

curl http://localhost:11434/api/generate -d '{
  "model": "llava",
  "prompt":"What is in this picture?",
  "stream": false,
  "images": ["IMAGE FORMAT BASE64"]
}'

Parameter:

  • images: Daftar gambar yang dikodekan dalam format base64.

Endpoint Obrolan (Chat)
#

1. Obrolan Tanpa Streaming
#

Menghasilkan balasan obrolan sederhana:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {
      "role": "user",
      "content": "why is the sky blue?"
    }
  ],
  "stream": false
}'

Pesan harus mengikuti format:

  • role: Peran pesan (sistem, pengguna, atau asisten).
  • content: Isi pesan.

2. Obrolan dengan Riwayat
#

Untuk memulai percakapan dengan konteks sebelumnya, sertakan riwayat pesan:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {
      "role": "user",
      "content": "why is the sky blue?"
    },
    {
      "role": "assistant",
      "content": "due to rayleigh scattering."
    },
    {
      "role": "user",
      "content": "how is that different than mie scattering?"
    }
  ]
}'

3. Obrolan dengan Gambar
#

Mengirim pesan obrolan yang menyertakan gambar:

curl http://localhost:11434/api/chat -d '{
  "model": "llava",
  "messages": [
    {
      "role": "user",
      "content": "what is in this image?",
      "images": ["Gambar dengan format base64"]
    }
  ]
}'

4. Parameter Lanjutan
#

Anda dapat menyertakan parameter lanjutan seperti options untuk mengontrol perilaku model:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "options": {
    "seed": 101,
    "temperature": 0
  }
}'

Parameter options:

  • seed: Seed untuk memastikan determinisme hasil.
  • temperature: Mengontrol variasi respons model, nilai lebih rendah menghasilkan respons yang lebih deterministik.

Kesimpulan
#

API Ollama menyediakan berbagai fitur untuk generasi teks dan interpretasi gambar yang kuat. Dengan memahami cara menggunakan endpoint dan parameter yang tersedia, Anda dapat memanfaatkan potensi penuh dari model AI yang disediakan. Pastikan untuk mengkodekan gambar dalam format base64 jika menggunakan model multimodal, dan manfaatkan parameter lanjutan untuk mengontrol hasil yang lebih presisi sesuai kebutuhan Anda.

ollama-2 - This article is part of a series.
Part : This Article

Related

Menjalankan AI di Laptop atau PC menggunakan Ollama
·746 words·4 mins· loading · loading
Development Ai Artificial-Intelligence Ollama Localhost Open-Web-Ui
Halo para seniman yang budiman!
Tutorial Laravel 11 Sharing Auth 2
·470 words·3 mins· loading · loading
Development Php Framework Laravel
Halo para seniman yang budiman!
Tutorial Laravel 11 Sharing Auth 1
·703 words·4 mins· loading · loading
Development Php Framework Laravel
Halo para seniman yang budiman!