Skip to content
DOCUMENTATION / AI

AI integration.

Adapter teks server-side dengan batas input, output dan waktu request.

PHP 8.2+No buildDL 0.2 alpha

Konfigurasi provider

Gunakan endpoint HTTPS yang kompatibel dengan chat/completions dan max_tokens. Isi model sesuai provider; kunci hanya disimpan di .env privat.

Environment
AI_BASE_URL=https://your-provider.example/v1
AI_API_KEY=your-private-key
AI_MODEL=your-compatible-model
AI_MAX_INPUT_BYTES=12000
AI_MAX_OUTPUT_TOKENS=512

Memanggil adapter

ask mengembalikan text, usage, model dan duration_ms. Panggilan bersifat sinkron dan membutuhkan cURL.

PHP
$result = (new DL\AI())->ask('Ringkas teks ini: ...', 'Jawab singkat dalam bahasa Indonesia.');
// Di view:
echo e($result['text']);

Batas dan penanganan kegagalan

Timeout koneksi 5 detik, total 25 detik, respons maksimum 1 MiB, tanpa retry atau redirect otomatis. Input dihitung dalam byte termasuk system prompt. Output dibatasi maksimal 4096 token. Tangkap exception dan berikan pesan ramah tanpa membocorkan detail provider.

Sebelum membuat endpoint publik

Terapkan autentikasi, kuota per pengguna, validasi input, CSRF dan kontrol biaya. Framework tidak menyediakan rate limiter atau kuota otomatis. Tidak ada demo endpoint publik yang melakukan panggilan berbayar.

Tools yang eksplisit

Tools adalah registry tindakan lokal terpisah. Model tidak mengeksekusinya otomatis. Otorisasi berasal dari kode aplikasi, bukan teks respons model.

PHP
$tools = new DL\Tools();
$tools->register('text_length', 'Measure text', ['text'=>'required|max:500'], fn($args) => strlen($args['text']));
$result = $tools->execute('text_length', ['text'=>'Hello'], fn($name, $args) => DL\Auth::id() !== null);

Batas integrasi saat ini

Belum ada streaming, embeddings, RAG, agent loop, atau provider tool calling. Gunakan transport Closure untuk pengujian tanpa jaringan dan biaya.

Icons: Solar by 480 Design (CC BY 4.0) & Iconsax (MIT). PHP UI adapted from Coordiation. Logo: DesignLof.