Jalankan AnythingLLM di model apa pun via Generic OpenAI.
Updated 2026-07-29
Provider Generic OpenAI AnythingLLM menghubungkan seluruh app ke endpoint OpenAI-compatible mana pun: Base URL https://api.apisrouter.com/v1, satu key, satu id chat model, dan batas token yang jujur. Id Claude, GPT, Gemini, dan DeepSeek semuanya memenuhi syarat, untuk dokumen, agent, maupun chat.
Jawaban singkat: lima field di LLM Preference.
Buka settings AnythingLLM, masuk ke bagian LLM di bawah AI Providers (layar yang secara historis berjudul LLM Preference), dan cari Generic OpenAI di daftar provider. Memilihnya menampilkan lima field: Base URL, API Key, Chat Model Name, Token Context Window, dan Max Tokens. Isi sebagai berikut: Base URL https://api.apisrouter.com/v1 (/v1 termasuk dalam field ini), key Anda, dan id katalog persis di Chat Model Name, misalnya claude-sonnet-4-6. Lalu dua angka: Token Context Window adalah window total model dan Max Tokens membatasi satu respons, jadi ambil keduanya dari dokumentasi model alih-alih menebak. Simpan, dan setiap workspace yang mengikuti default sistem sekarang chat melalui gateway. Dokumentasinya menandai provider ini sebagai developer-focused justru karena ia mempercayai input Anda; itu bukan peringatan untuk tidak memakainya, hanya pernyataan bahwa lima field ini adalah kontrak.
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Chat Model Name: claude-sonnet-4-6
Token Context Window: 200000
Max Tokens: 8192Apa yang sebenarnya digerakkan provider Generic OpenAI.
AnythingLLM (Mintplex Labs di GitHub, sekitar 63K bintang) adalah asisten dokumen privat serba-ada: workspace yang meng-embed file Anda, chat yang berbasis context yang diambil, agent dengan tool use, tersedia sebagai app desktop maupun server self-hosted. LLM preference yang dikonfigurasi di atas adalah otak default untuk semuanya. Request keluar sebagai chat completions standar terhadap Base URL Anda dengan Chat Model Name sebagai string model, jadi vendor tidak penting: id Claude sama validnya dengan id GPT, dan berpindah hanya mengedit satu field. Workspace juga bisa override default sistem dengan provider dan pengaturan model sendiri, itulah cara satu deployment menjalankan claude-sonnet-4-6 untuk workspace legal dan gpt-5.5 untuk engineering tanpa keduanya saling tahu. Dua field token layak dihormati karena AnythingLLM memakainya untuk membudget context. Nilai context window menentukan berapa banyak teks dokumen yang diambil dan riwayat chat yang dikemas ke setiap request; meremehkannya membuat dokumen yang sudah di-embed dengan cermat terpangkas dari jawabannya sendiri, melebih-lebihkannya membuat request memantul dari batas asli model. Inilah pasangan field di balik sebagian besar laporan "RAG terasa bodoh" pada endpoint generik.
Embedding adalah keputusan terpisah.
AnythingLLM memisahkan LLM preference dari embedding preference, dan pemisahan itu bersifat struktural. Chat model menjawab pertanyaan; embedder mengubah dokumen Anda menjadi vector saat upload, dan vector itu persisten. Mengganti chat model gratis, kapan saja, per workspace. Mengganti embedder membatalkan geometri semua yang sudah di-embed dan berarti harus re-embed dokumen Anda. Setup praktisnya: AnythingLLM menyertakan embedder lokal bawaan yang berfungsi offline dan tanpa biaya, dan banyak deployment cukup mempertahankannya. Jika Anda mengarahkan embedding preference ke endpoint remote, konfirmasi id embedding spesifik itu benar-benar dilayani di sana sebelum mengunggah basis dokumen Anda, dan perlakukan pilihan itu sebagai terikat pada vector store. Kebebasan yang didapat di sisi chat adalah inti arsitektur ini: dengan embedding sudah settle, chat model Generic OpenAI adalah tuas berisiko rendah. Jalankan deepseek-v4-pro selama sebulan untuk summarization berat, pindahkan field ke claude-sonnet-4-6 untuk satu kuartal kerja klien, dan tidak ada apa pun soal dokumen Anda yang perlu berpindah.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# Chat Model Name must match one of these ids exactlyMemilih model untuk kerja dokumen.
Setiap id ditagih melalui key yang sama, jadi loop perbandingan adalah edit settings: workspace sama, dokumen sama, dua minggu untuk setiap kandidat, dan pengeluaran per model di konsol APIsRouter di sebelah penilaian Anda sendiri atas jawabannya.
- QA berbasis chunk yang diambil bersifat input-heavy: claude-haiku-4-5-20251001 dan gemini-3.5-flash menjawab pertanyaan yang mengikuti sitasi dengan baik pada harga volume.
- claude-sonnet-4-6 pantas jadi default di tempat jawaban dikirim ke manusia tanpa diedit: review kontrak, penyusunan laporan, apa pun yang berkonsekuensi.
- deepseek-v4-pro adalah kuda beban long-context untuk workspace yang dibangun di atas dokumen besar, di mana window dan harga input mendominasi pengalaman.
- Workspace agent butuh tool calling yang bisa diandalkan; mulai agent di claude-sonnet-4-6, lalu uji apakah id yang lebih ringan tetap kuat pada flow nyata Anda.
- Gunakan override per-workspace sebagai kebijakan: default tetap cepat, dan id yang mahal hanya hidup di workspace yang pekerjaannya membenarkannya.
Bayar sesuai pemakaian · di bawah harga resmi
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Harga Resmi | Harga Kami |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Mode kegagalan spesifik AnythingLLM.
Field token menyebabkan kegagalan yang halus. Context window yang diset terlalu rendah diam-diam memotong context yang diambil, yang tampil sebagai model yang mengabaikan dokumen Anda; set window terdokumentasi untuk id di Chat Model Name. Max Tokens yang diset terlalu tinggi untuk modelnya menghasilkan error keras pada jawaban panjang; set ke apa yang benar-benar diizinkan model untuk output. Error keras lebih jujur. Kegagalan autentikasi adalah field API Key. Model-not-found adalah Chat Model Name yang melenceng dari ejaan katalog; field-nya teks bebas dan listing /v1/models adalah sumber kebenaran. Error koneksi di app desktop biasanya berarti ada proxy atau firewall antara app dan endpoint; pada deployment Docker, ingat container-lah yang harus mencapai Base URL, bukan browser Anda. Jika chat berfungsi tapi workspace berperilaku berbeda dari yang diharapkan, cek pengaturan override-nya; pengaturan provider level-workspace menang atas default sistem, dan override yang terlupa adalah misteri klasik "pertanyaan sama, model berbeda". Framing developer-focused dari dokumentasi merangkum semua ini: provider melakukan persis apa yang dikatakan lima field-nya, tidak lebih tidak kurang.
Siapa yang merutekan AnythingLLM melalui gateway.
- Tim yang menjalankan asisten dokumen privat yang menginginkan kualitas jawaban frontier tanpa akun vendor per keluarga model.
- Pengguna desktop yang mengarahkan basis dokumen pribadi mereka ke id Claude atau GPT dengan saldo prabayar, tanpa kartu untuk mulai.
- Self-hoster yang mempertahankan embedder lokal bawaan dan memperlakukan chat remote sebagai satu-satunya jalur termeteri, terbaca per model di satu log penggunaan.
- Deployment yang tersegmentasi per workspace, di mana override per-workspace plus pemeteran per-key memberi setiap tim model dan tagihannya sendiri.
- Builder yang membandingkan model jawaban di atas basis dokumen tetap, di mana setiap kandidat adalah satu edit settings alih-alih migrasi.
Verifikasi endpoint dan debug chat workspace pertama.
Curl listing model dan satu chat completion dulu, memakai id persis yang Anda maksudkan untuk Chat Model Name. Jika keduanya lolos, separuh gateway sudah terbukti dan setiap gejala tersisa ada di lima field itu. Lalu simpan pengaturan provider dan ajukan satu pertanyaan di workspace dengan dokumen yang Anda kenal baik. Jawaban yang membumi dan bersitasi berarti seluruh pipeline berfungsi. Jawaban yang mengabaikan dokumen menunjuk ke nilai context window atau ke pengaturan retrieval workspace itu sendiri. Error keras dipetakan bersih: key, ejaan id, bentuk Base URL. Setelah chat mengalir, konsol APIsRouter menunjukkan model per request, hitungan token, dan pengeluaran. QA dokumen melipatgandakan token input melalui retrieval, dan log penggunaan adalah tempat Anda belajar berapa biaya sebenarnya untuk query basis dokumen Anda, per model, per hari, dan per key workspace jika Anda memisahkannya.
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6",
"messages":[{"role":"user","content":"ping"}]}'Pertanyaan umum
Bagaimana cara mengatur Base URL custom di AnythingLLM?
Di settings di bawah AI Providers, buka layar LLM preference dan pilih Generic OpenAI dari daftar provider. Set Base URL ke https://api.apisrouter.com/v1, tambahkan key Anda, masukkan id katalog persis di Chat Model Name, dan isi kedua field token dari dokumentasi model.
Apa yang dikontrol oleh Token Context Window dan Max Tokens?
Context window memberi tahu AnythingLLM berapa banyak teks yang diambil dan riwayat yang boleh dikemas per request; Max Tokens membatasi satu respons. Meremehkan window memangkas dokumen Anda dari jawaban, dan melebih-lebihkan salah satunya menghasilkan request yang ditolak model.
Bisakah AnythingLLM menjalankan Claude atau DeepSeek melalui Generic OpenAI?
Ya. Provider mengirim Chat Model Name sebagai string biasa ke Base URL melalui chat completions standar, jadi claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash, dan id GPT semuanya berfungsi, bisa ditukar dengan mengedit satu field atau per workspace.
Apakah mengganti chat model memengaruhi dokumen yang sudah di-embed?
Tidak. Preference chat dan embedding terpisah; vector tetap persisten dan chat model bisa ditukar bebas. Hanya mengganti embedder yang membatalkan vector yang ada dan memaksa re-embedding, itulah sebabnya banyak deployment mempertahankan embedder lokal bawaan dan hanya menyetel sisi chat.
Mengapa halaman dokumentasi menyebut Generic OpenAI developer-focused?
Karena ia mempercayai input Anda alih-alih mengirim preset per-vendor: id, URL, atau nilai token yang salah gagal saat runtime alih-alih ditangkap oleh form. Dengan id yang disalin dari /v1/models dan batas dari dokumentasi model, ini adalah jalur yang stabil dan first-class.
Bisakah workspace berbeda memakai model berbeda?
Ya. Workspace mewarisi default sistem tapi bisa override provider dan model di pengaturan chat-nya sendiri, jadi satu deployment bisa menjalankan id cepat sebagai default dan mem-pin claude-sonnet-4-6 hanya di workspace yang pekerjaannya layak mendapatkannya.