Chioriya-API ChioriyaAI ← Kembali ke ChioriyaAIDocs Utama

AI · RAG · WEB RESEARCH

ChioriyaAI Docs

Tanya jawab AI dengan riset web otomatis: query direncanakan modul Gemini, halaman sumber dibaca penuh, dan jawaban disusun lengkap dengan sitasi, confidence score, dan metadata elapsed time. Mendukung mode percakapan multi-turn dan mode search-only untuk pipeline RAG Anda.

Auth: apikey wajibBiaya: 1 limit / request (default)GET & POST JSON

Ask — GET/POST /api/chioriya-ai/ask

Tanya jawab dengan riset web otomatis + sitasi sumber. Satu pertanyaan, satu jawaban lengkap.

ParameterWajibDefaultKeterangan
apikeyYa-Wajib untuk ask/chat/search. Query, header x-api-key, Bearer, atau body JSON.
q / questionYa-Pertanyaan Anda. Bahasa bebas — jawaban mengikuti lang.
modeTidaknormalnormal (ringkas, 11k char riset) atau detail (15k char riset, jawaban lebih dalam).
styleTidaknaturalGaya penulisan jawaban (natural / santai / formal sesuai persona bot).
langTidakidKode bahasa jawaban: id, en, dll.
web / searchTidaktrueAktifkan riset web. Otomatis nonaktif untuk pertanyaan tentang bot sendiri.
maxResultsTidak71–12 — jumlah hasil pencarian yang dikumpulkan.
maxPagesTidak51–8 — jumlah halaman web yang dibaca penuh.
includeRawTidakfalseSertakan output mentah engine pada field raw.
history / messagesTidak-POST saja — array percakapan untuk konten multi-turn.

Contoh

curl "https://DOMAIN_ANDA/api/chioriya-ai/ask?apikey=KEY&q=apa%20itu%20webp&mode=normal"
const r = await fetch('https://DOMAIN_ANDA/api/chioriya-ai/ask', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'x-api-key': 'KEY' },
  body: JSON.stringify({ question: 'apa itu webp?', mode: 'detail' })
});
const d = await r.json();
console.log(d.answer, '\nSumber:', d.sources.map(s => s.url));
import requests

d = requests.post('https://DOMAIN_ANDA/api/chioriya-ai/ask',
                  json={'question': 'apa itu webp?'},
                  headers={'x-api-key': 'KEY'}).json()
print(d['answer'])

Respons

{
  "ok": true,
  "bot": { "name": "...", "version": "...", "creator": "..." },
  "question": "apa itu webp?",
  "answer": "WebP adalah format gambar modern dari Google ...",
  "confidence": 0.92,
  "question_type": "factual",
  "sources": [ { "title": "...", "url": "...", "readable": true } ],
  "extracts": [ "...kutipan sumber..." ],
  "meta": {
    "used_browser": true,
    "searched_results": 7,
    "pages_read": 5,
    "mode": "normal",
    "style": "natural",
    "auth": { "mode": "apikey", "usage_id": 123, "remaining": 88 },
    "elapsed_ms": 9431
  }
}
Cara kerja: setiap pertanyaan direncanakan modul Gemini (menyusun query), lalu browser membaca halaman sumber, dan Gemini menyusun jawaban final beserta sitasi. Bila pertanyaan tidak butuh web (mis. siapa creator kamu), riset dilewati otomatis.

Chat — POST /api/chioriya-ai/chat

Mode percakapan multi-turn: kirim riwayat messages (role user/assistant), server memakai pesan user terakhir sebagai pertanyaan dengan konteks penuh.

ParameterWajibDefaultKeterangan
messages / historyYa-Array pesan: [{ "role": "user", "content": "..." }, ...].
apikey + parameter ask lainnya--mode, style, lang, web, maxPages juga berlaku di chat.

Contoh

curl -X POST "https://DOMAIN_ANDA/api/chioriya-ai/chat" \
  -H "Content-Type: application/json" -H "x-api-key: KEY" \
  -d '{"messages":[{"role":"user","content":"halo, kenalan dong"}]}'
const d = await fetch('https://DOMAIN_ANDA/api/chioriya-ai/chat', { method: 'POST',
  headers: { 'Content-Type': 'application/json', 'x-api-key': 'KEY' },
  body: JSON.stringify({ messages: [{ role: 'user', content: 'halo' }] }) }).then(r => r.json());
d = requests.post('https://DOMAIN_ANDA/api/chioriya-ai/chat',
                  json={'messages': [{'role': 'user', 'content': 'halo'}]},
                  headers={'x-api-key': 'KEY'}).json()

Search — GET/POST /api/chioriya-ai/search

Hanya riset web tanpa menyusun jawaban AI — cocok untuk membangun RAG / ringkasan sendiri.

ParameterWajibDefaultKeterangan
query / qYa-Kata kunci pencarian.
maxResultsTidak81–12 hasil.
maxPagesTidak41–8 halaman dibaca penuh (isi teks disertakan).

Contoh

curl "https://DOMAIN_ANDA/api/chioriya-ai/search?apikey=KEY&q=vercel+functions+limit"
const d = await fetch('https://DOMAIN_ANDA/api/chioriya-ai/search?q=vercel+functions', { headers: { 'x-api-key': 'KEY' } }).then(r => r.json());
d = requests.get('https://DOMAIN_ANDA/api/chioriya-ai/search', params={'q': 'vercel functions'}, headers={'x-api-key': 'KEY'}).json()

Health & Kode Status

Cek kesehatan engine tanpa apikey:

curl "https://DOMAIN_ANDA/api/chioriya-ai/health"
const h = await fetch('https://DOMAIN_ANDA/api/chioriya-ai/health').then(r => r.json());
h = requests.get('https://DOMAIN_ANDA/api/chioriya-ai/health').json()
StatusCodeArti
401APIKEY_REQUIREDAction berbayar dipanggil tanpa apikey.
402/403LIMIT / PANEL_DENIEDLimit habis atau apikey ditolak.
502ENGINE_ERRORModul AI gagal menjawab — limit direfund otomatis.
404ACTION_NOT_FOUNDAction tidak dikenal; lihat available_actions di respons.