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.
| Parameter | Wajib | Default | Keterangan |
|---|---|---|---|
apikey | Ya | - | Wajib untuk ask/chat/search. Query, header x-api-key, Bearer, atau body JSON. |
q / question | Ya | - | Pertanyaan Anda. Bahasa bebas — jawaban mengikuti lang. |
mode | Tidak | normal | normal (ringkas, 11k char riset) atau detail (15k char riset, jawaban lebih dalam). |
style | Tidak | natural | Gaya penulisan jawaban (natural / santai / formal sesuai persona bot). |
lang | Tidak | id | Kode bahasa jawaban: id, en, dll. |
web / search | Tidak | true | Aktifkan riset web. Otomatis nonaktif untuk pertanyaan tentang bot sendiri. |
maxResults | Tidak | 7 | 1–12 — jumlah hasil pencarian yang dikumpulkan. |
maxPages | Tidak | 5 | 1–8 — jumlah halaman web yang dibaca penuh. |
includeRaw | Tidak | false | Sertakan output mentah engine pada field raw. |
history / messages | Tidak | - | 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.
| Parameter | Wajib | Default | Keterangan |
|---|---|---|---|
messages / history | Ya | - | 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.
| Parameter | Wajib | Default | Keterangan |
|---|---|---|---|
query / q | Ya | - | Kata kunci pencarian. |
maxResults | Tidak | 8 | 1–12 hasil. |
maxPages | Tidak | 4 | 1–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()| Status | Code | Arti |
|---|---|---|
| 401 | APIKEY_REQUIRED | Action berbayar dipanggil tanpa apikey. |
| 402/403 | LIMIT / PANEL_DENIED | Limit habis atau apikey ditolak. |
| 502 | ENGINE_ERROR | Modul AI gagal menjawab — limit direfund otomatis. |
| 404 | ACTION_NOT_FOUND | Action tidak dikenal; lihat available_actions di respons. |