# Ollama HTTP API — Overview Base: `OLLAMA_BASE_URL` (default `http://10.100.1.26:11434`) --- ## Health / version ```bash curl -s http://10.100.1.26:11434/api/version # {"version":"0.30.8"} ``` ```bash curl -s http://10.100.1.26:11434/api/tags ``` --- ## Chat (`POST /api/chat`) Model: `qwen2.5:7b` ```bash curl -s http://10.100.1.26:11434/api/chat -d '{ "model": "qwen2.5:7b", "messages": [{"role": "user", "content": "Halo"}], "stream": false }' ``` --- ## Embeddings (`POST /api/embeddings`) Model: `nomic-embed-text` ```bash curl -s http://10.100.1.26:11434/api/embeddings -d '{ "model": "nomic-embed-text", "prompt": "teks untuk di-embed" }' ``` Response: array `embedding` (768 dimensi untuk `nomic-embed-text`). --- ## Generate (`POST /api/generate`) Alternatif non-chat (prompt tunggal): ```bash curl -s http://10.100.1.26:11434/api/generate -d '{ "model": "qwen2.5:7b", "prompt": "Jelaskan SPF record", "stream": false }' ``` --- ## Integrasi geonet-console | File | Fungsi | |------|--------| | `config/ollama.php` | Env mapping | | `app/Services/OllamaService.php` | HTTP client | Env di server `.24` (contoh): ```env OLLAMA_BASE_URL=http://10.100.1.26:11434 OLLAMA_CHAT_MODEL=qwen2.5:7b OLLAMA_EMBED_MODEL=nomic-embed-text OLLAMA_TIMEOUT=120 ``` --- ## Error umum | Gejala | Penyebab | Tindakan | |--------|----------|----------| | Connection refused | Ollama down / UFW | `systemctl status ollama`, cek UFW | | Timeout | Model besar + prompt panjang | Naik `OLLAMA_TIMEOUT`, kurangi context | | 404 model | Belum pull | `ollama pull ` di VM | --- ## Security - API **tanpa auth** — andalkan network segmentation (VLAN only) - Jangan tambahkan reverse proxy publik tanpa auth layer