Panduan Penyelesaian Masalah API Ollama
Panduan ini menjelaskan cara mengkonfigurasi, menyelesaikan masalah, dan mengamankan titik akhir API LLM anda dengan betul, sama ada anda menjalankan contoh tempatan atau menggunakan penyedia pihak ketiga seperti perkhidmatan sepadan OpenAI tanpa sensor kami. Kami merangkumi ralat sambungan biasa, konfigurasi penstriman, dan aritmetik pengebilan untuk membantu anda mendapatkan kod anda berfungsi serta-merta.
Kemas kini terakhir
Ringkasan
- Sahkan URL asas dan kunci API anda sepadan dengan dokumentasi penyedia' sebelum menyahpepijat kod kompleks.
- Tetapkan had token secara eksplisit untuk mengelakkan pemotongan atau lebihan bil yang tidak dijangka dalam respons penstriman.
- Gunakan log masuk Google atau e-mel/kata laluan untuk penjanaan kunci serta-merta tanpa kelewatan pengesahan telefon.
- Selamatkan hujung tempatan anda dengan menukar port lalai dan mengehadkan akses untuk mencegah penggunaan kira-kira yang tidak dibenarkan.
Memahami Struktur Hujung API Ollama
The ollama endpoint mengikuti corak RESTful yang ketat yang meniru struktur API OpenAI. Anda berinteraksi dengannya dengan menghantar permintaan POST ke /v1/chat/completions dan mencari model yang tersedia melalui GET /v1/models. Penstandardan ini membolehkan anda menukar model asas tanpa menulis semula kod klien anda.
Ramai pembangun menganggap bahawa hujung sambungan menyokong pengekodan imej atau penjanaan imej secara lalai. Ia tidak begitu. Perkhidmatan hos kami, contohnya, hanya menyediakan penyelesaian teks dengan satu model tanpa sensor. Sentiasa semak GET /v1/models respons untuk melihat tepat keupayaan mana yang didedahkan. Jika anda melihat senarai model, sahkan ID mereka sebelum menghantar permintaan.
Apabila menggunakan tempatan, hujung biasanya berjalan pada http://localhost:11434. Untuk penyedia awan, anda akan menggunakan URL asas khusus. Pastikan klien HTTP anda mengendalikan pengepala dengan betul, terutamanya Content-Type: application/json. Header yang hilang sering menyebabkan kegagalan senyap yang kelihatan seperti ralat model.
Elemen struktur kunci:
model: Pengenal pasti rentetan untuk LLM khusus.messages: Satu larik objek kandungan berasaskan peranan.stream: Flag boolean yang membolehkan Server-Sent Events (SSE).
Kenapa Panggilan API ollama Anda Mungkin Gagal
Panggilan API biasanya gagal disebabkan oleh URL asas yang salah, kunci luput, atau payload JSON yang rosak. Ralat yang paling biasa adalah respons 401 Unauthorized, yang bermaksud kunci API anda tiada atau tidak sah. Masalah kerap lain ialah 404 Not Found, yang menunjukkan hujung sambungan tidak menyokong laluan atau ID model yang diminta.
Semak badan permintaan anda dengan teliti. Jika anda menghantar parameter yang tidak disokong oleh hujung, seperti modalities untuk model hanya teks, pelayan mungkin menolak permintaan. Perkhidmatan kami, contohnya, tidak menyokong input imej. Menghantarkannya menghasilkan r serta-merta.
Masa tamat rangkaian juga menyebabkan kegagalan. Jika instance Ollama tempatan anda tidak aktif, ia mungkin memuat turun model dari VRAM. Permintaan pertama selepas permulaan sejuk boleh mengambil beberapa saat. Tetapkan masa tamat yang murah hati dalam klien HTTP anda untuk mengelakkan sambungan awal.
Kod ralat lazim:
400: Permintaan Tidak Sah (JSON tidak betul atau parameter tidak sah).401: Tidak Dibenarkan (kunci API tidak sah atau tiada).429: Terlalu Banyak Permintaan (had kadar melebihi).500: Ralat Pelayan Dalaman (kegagalan pemuatan model).
Mengkonfigurasi Model ollama Tanpa Sensor dengan Betul
Model tanpa sensor sering memerlukan parameter khusus untuk berkelakuan seperti yang dijangka. Perbezaan utama terletak pada system Arahan. Anda mesti mengarahkan model secara eksplisit untuk mengatasi penolakan standard. Tanpa arahan sistem yang kuat, model mungkin kembali kepada tingkah laku keselamatan lalai.
Titik akhir ini menggunakan ID model uncensored. Anda menghantar permintaan ke ID ini, dan pelayan mengendalikan pemilihan model di sebalik tabir. Ini mengabstrakkan kompleksiti pengurusan versi model. Anda tidak perlu tahu sama ada seni bina asas berasaskan Llama atau Mistral.
Laraskan temperature parameter untuk mengawal kreativiti. Nilai 0.7 adalah titik permulaan yang baik untuk respons seimbang. Nilai yang lebih tinggi meningkatkan keacakan, yang berguna untuk penulisan kreatif tetapi mungkin mengurangkan ketepatan fakta. Nilai yang lebih rendah menjadikan output lebih deterministik.
Petua konfigurasi:
- Gunakan
top_psebelahtemperatureuntuk kawalan yang lebih baik. - Tetapkan
stopurutan untuk mencegah gelung tak terhingga. - Sentiasa sertakan a
systemmesej untuk definisi peranan.
Mengendalikan Aliran dan Had Token
Respons aliran mengembalikan data dalam bahagian melalui Acara Dihantar Pelayan (SSE). Setiap bahagian mengandungi penyelesaian separuh. Anda mesti menyusun bahagian-bahagian ini untuk mendapatkan respons penuh. Perkhidmatan kami termasuk statistik penggunaan token dalam bahagian terakhir, membolehkan anda menjejak kos secara masa nyata.
Had token adalah kritikal untuk perbualan panjang. Endpoint kami menyokong tetingkap konteks 100,000 token, menggabungkan prompt dan penyelesaian. Walau bagaimanapun, output maksimum setiap permintaan ialah 16,000 token. Jika anda tidak menetapkan max_tokens, nilai lalai ialah 2,048 token. Ini boleh memotong panjang jawapan secara tidak dijangka.
Semasa mengalirkan data, tangani gangguan rangkaian dengan anggun. Jika sambungan terputus, anda boleh meneruskan dari pecahan terakhir yang diterima jika pelayan menyokongnya. Jika tidak, anda mungkin perlu mencuba semula keseluruhan permintaan. Sentiasa pantau usage field in the final chunk to avoid billing surprises.
Amalan terbaik penstriman:
- Huraikan acara SSE dengan betul, mengabaikan baris kosong.
- Kumpulkan bahagian dalam memori atau penimbal.
- Semak
usageobject dalam segmen terakhir untuk kiraan token.
Ralat Pengebilan dan Aritmetik Token
Kesilapan bil sering berpunca daripada salah faham mengenai cara token dikira. Token dicaj untuk input (prompt) dan output (pelengkap). Harga kami ialah $0.15 per 1M token input dan $0.50 per 1M token output. Kesilapan dan penolakan adalah percuma, yang mengurangkan kos untuk nyahpepijat.
Tokenizer tidak selalu memetakan 1:1 dengan aksara. Satu perkataan boleh menjadi beberapa token. Jika anda menganggarkan kos berdasarkan kiraan aksara, anda mungkin meremehkan bil. Gunakan perpustakaan tokenizer yang boleh dipercayai dalam klien anda untuk mendapatkan kiraan yang tepat sebelum menghantar permintaan.
Kredit tidak luput. Jika anda mengisi semula dengan crypto, baki kekal sehingga anda menggunakannya. Ini berguna untuk projek jangka panjang. Walau bagaimanapun, ambil perhatian bahawa setiap permintaan menggunakan token dari baki anda. Jika baki anda rendah, permintaan seterusnya mungkin gagal.
Petua pembayaran:
- Jejak penggunaan token dalam setiap respons.
- Sediakan amaran untuk ambang baki rendah.
- Gunakan
max_tokensuntuk menafikan kos berpotensi.
Masalah Keselamatan dan Imbasan Port
Sambungan API Ollama Tempatan sering terdedah kepada rangkaian secara lalai. Ini menjadikannya rentan terhadap pengimbas port yang mencari pengiraan percuma. Jika anda mendedahkan port 11434 tanpa pengesahan, sesiapa sahaja boleh menggunakan sumber GPU anda. Ini boleh membawa kepada bil elektrik yang tinggi dan prestasi yang perlahan.
Selamatkan hujung anda dengan menukar port lalai atau menggunakan proksi songsang dengan pengesahan. Perkhidmatan hos kami mengendalikan keselamatan untuk anda, jadi anda tidak perlu risau tentang pendedahan port. Anda hanya perlu memastikan kunci API anda kekal peribadi.
Untuk tetapan tempatan, gunakan firewall untuk mengehadkan akses kepada alamat IP yang dipercayai. Anda juga boleh mengaktifkan pengesahan berasaskan token dalam fail konfigurasi Ollama. Ini menghalang pengguna yang tidak berwibawa daripada membuat permintaan.
Langkah keselamatan:
- Tukar port lalai jika mendedahkan ke internet.
- Gunakan prosi songsang dengan HTTPS dan auth.
- Pantau trafik rangkaian anda untuk aktiviti luar biasa.
Penggunaan API ollama Tempatan vs Awan
Penggunaan tempatan memberi anda kawalan penuh ke atas privasi data dan pemilihan model. Anda boleh menjalankan beberapa model serentak dan beralih di antara mereka dengan serta-merta. Walau bagaimanapun, anda bertanggungjawab untuk penyelenggaraan perkakasan, kemas kini, dan keselamatan. Penggunaan awan memindahkan tanggungjawab ini kepada penyedia.
Perkhidmatan awan kami menawarkan model tanpa sensor yang dioptimumkan untuk penjanaan kandungan tanpa sekatan. Anda mendapat akses serta-merta tanpa memuat turun fail model yang besar. Tebusannya ialah data anda melalui pelayan kami. Untuk data sensitif, tempatan mungkin lebih disukai.
Perkhidmatan awan sering mempunyai latensi lebih tinggi akibat pusingan rangkaian. Persekitaran tempatan mempunyai latensi hampir sifar jika GPU cukup pantas. Walau bagaimanapun, persekitaran tempatan memerlukan VRAM yang besar. Jika GPU anda kehabisan memori, model mungkin bertukar ke CPU, melambatkan respons dengan ketara.
Perbandingan:
- Tempatan: Privasi, kawalan, kebergantungan perkakasan.
- Awan: Keselesaan, skalabiliti, pemindahan data.
Kesalahan Sisi Pelanggan Biasa
Pembangun sering lupa untuk menangani had kadar. Perkhidmatan kami membenarkan 300 permintaan per minit setiap kunci. Jika anda melebihi ini, anda akan menerima ralat 429. Laksanakan kembali eksponen dalam klien anda untuk menangani ralat ini dengan baik.
Kesilapan lain ialah tidak menetapkan stream parameter dengan betul. Jika anda menjangkakan penstriman tetapi tidak menetapkan stream: true, anda akan menunggu keseluruhan respons sebelum menerima sebarang data. Ini boleh membuatkan aplikasi anda kelihatan perlahan.
Kesilapan mod JSON juga biasa. Jika anda menetapkan response_format: {type: "json_object"}, model mesti mengembalikan JSON yang sah. Jika tidak, pengurai anda akan gagal. Tambahkan pengendalian ralat untuk menangkap dan mencuba semula ralat penguraian JSON.
Senarai semak:
- Laksanakan pengendalian had kadar.
- Tetapkan
stream: trueuntuk kemas kini masa nyata. - Sahkan output JSON apabila menggunakan mod JSON.
FAQ
Bagaimana saya mendapatkan kunci API untuk hujung ollama tanpa sensor?
Anda boleh menjana kunci API serta-merta dengan mendaftar menggunakan Google atau e-mel dan kata laluan. Perkhidmatan kami tidak memerlukan nombor telefon dan menyediakan kunci serta-merta selepas penciptaan. Ini membolehkan anda mula menguji kod anda dalam beberapa saat.
Adakah model ollama tanpa sensor menyokong input imej?
Tidak, titik akhir kami hanya melayani penyelesaian teks. Ia tidak menyokong input imej, audio, atau video. Jika anda memerlukan keupayaan multimoda, anda memerlukan perkhidmatan lain atau model multimoda tempatan.
Apa yang berlaku jika saya melebihi had kadar?
Jika anda melebihi 300 permintaan setiap minit, anda akan menerima ralat 429 Too Many Requests. Kunci API anda kekal sah, tetapi anda mesti menunggu sehingga tetingkap had kadar ditetapkan semula. Pelaksanaan backoff eksponen dalam klien anda disyorkan.
Adakah data saya digunakan untuk latihan apabila saya menggunakan API ini?
Tidak, prompt anda tidak digunakan untuk latihan. Kami menghormati privasi anda dan tidak menyimpan data anda untuk peningkatan model. Ini menjadikan perkhidmatan kami sesuai untuk penjanaan kandungan sulit atau sensitif.
Dapatkan Kunci API anda
Daftar, ambil kunci, arahkan ke URL asas baru. Selesai.