สร้าง API key
API key แต่ละอันผูกกับตัวละครหนึ่งตัว (หนึ่งโปรเจกต์ในแดชบอร์ด) ใช้บนเซิร์ฟเวอร์ของคุณเพื่ออ่านการตั้งค่าของตัวละครและจัดการฐานข้อมูลความรู้
- เข้าสู่ระบบ Khavee Platform แล้วเปิดหน้า API Keys
- กด Create key ตั้งชื่อ (เช่น Website backend) แล้วเลือกตัวละคร
- คัดลอกคีย์ทันที เพราะจะแสดงแค่ครั้งเดียว
- เก็บคีย์ไว้บนเซิร์ฟเวอร์เป็น environment variable เช่น KHAVEE_API_KEY
เก็บคีย์ไว้บนเซิร์ฟเวอร์เท่านั้น คีย์อ่านการตั้งค่าตัวละครและจัดการฐานข้อมูลความรู้ได้ ห้ามใส่ในโค้ดฝั่งเบราว์เซอร์หรือ repository สาธารณะ ถ้าคีย์หลุด ให้ยกเลิกในหน้า API Keys แล้วสร้างอันใหม่
ฝังบนเว็บไซต์
ไม่ต้องใช้ API key ก็ใส่ตัวละครลงในหน้าเว็บได้ เผยแพร่ตัวละคร เปิดหน้าต่าง Share แล้วคัดลอกโค้ดฝัง โค้ดนี้จะโหลดหน้าแชร์ของตัวละครใน iframe
<iframe
src="YOUR_SHARE_PAGE_URL"
title="Talk to Khavee"
width="400" height="640"
style="max-width: 100%; border: 0;"
allow="microphone"
></iframe>
ตั้งสิทธิ์ของหน้าแชร์เป็น ทุกคนที่มีลิงก์ เพื่อให้ผู้เข้าชมคุยได้โดยไม่ต้องล็อกอิน บทสนทนาของพวกเขาจะใช้ชั่วโมงจากแพ็กเกจของคุณ
allow="microphone" ทำให้ผู้เข้าชมพูดคุยกับตัวละครได้ ใช้ API key เฉพาะตอนที่เซิร์ฟเวอร์ของคุณต้องอ่านการตั้งค่าหรือฐานข้อมูลความรู้ของตัวละคร
การยืนยันตัวตน
ส่งคีย์ใน header X-API-Key ทุก endpoint อยู่ภายใต้ base URL นี้
https://api.platform.khavee.ai/api/v1
curl https://api.platform.khavee.ai/api/v1/projects/sdk/preview \
-H "X-API-Key: $KHAVEE_API_KEY"
ถ้าไม่ส่งคีย์หรือคีย์ไม่ถูกต้อง จะได้ 401 Unauthorized คีย์ระบุตัวละครอยู่แล้ว จึงไม่ต้องส่ง project ID
Endpoints
- GET
/projects/sdk/previewโมเดล 3D บุคลิก และการตั้งค่าเสียงของตัวละคร - GET
/projects/sdk/knowledge?limit=50รายการข้อมูลความรู้ ค่าเริ่มต้น 50 รายการ - POST
/projects/sdk/knowledgeเพิ่มข้อมูล Body: { "content": "...", "metadata": { } } - DELETE
/projects/sdk/knowledge/{id}ลบข้อมูลด้วย ID ที่เป็นตัวเลข - GET
/projects/sdk/knowledge/search?query=...&topK=5ค้นหาข้อมูลที่ใกล้เคียงกับคำถามที่สุด ค่าเริ่มต้น 5 รายการ
SDK client
KhaveeClient ใน @khaveeai/core ใส่ header ให้อัตโนมัติ ใช้บนเซิร์ฟเวอร์ getProjectPreview() ดึงข้อมูลตัวละคร ส่วน endpoint ของข้อมูลความรู้ ใช้เมธอด get, post และ delete ของ client
npm install @khaveeai/core
import { KhaveeClient } from '@khaveeai/core'
const khavee = new KhaveeClient({ apiKey: process.env.KHAVEE_API_KEY })
const project = await khavee.getProjectPreview()
const facts = await khavee.get('/projects/sdk/knowledge?limit=50')
แสดงอวาตาร์
@khaveeai/react วาดตัวละครด้วย three.js ขยับปากตามเสียง กะพริบตา และเล่นท่าทางตอนพูดเองระหว่างที่ AI พูด ใช้ VRMAvatar กับไฟล์ .vrm และ GLBAvatar กับไฟล์ .glb
npm install @khaveeai/react three @react-three/fiber @react-three/drei
<KhaveeProvider config={{ realtime: provider }}>
<Canvas camera={{ position: [0, 1.5, 3] }}>
<VRMAvatar src="/models/your-avatar.vrm" />
</Canvas>
</KhaveeProvider>
ผู้ให้บริการเสียง
provider กำหนดว่าเสียงเข้าและออกอย่างไร ทั้งสามแบบใช้กับคอมโพเนนต์ชุดเดียวกัน เปลี่ยนทีหลังได้โดยไม่ต้องแก้ UI
OpenAIRealtimeProviderเสียงสองทางผ่าน WebRTC หน่วงน้อยที่สุด และลูกค้าพูดแทรกได้
OpenAISTTTTSProviderผลัดกันพูด: แปลงเสียงเป็นข้อความ คุย แล้วแปลงข้อความเป็นเสียง
GenericPipelineProviderประกอบ pipeline เองจาก VAD, STT, LLM และ TTS ของเจ้าไหนก็ได้ รวมถึงบริการที่ไม่ใช่ OpenAI
ชี้ provider ไปที่ route บน backend ของคุณเอง (proxyEndpoint) เพื่อให้ OpenAI key อยู่บนเซิร์ฟเวอร์
Tool calling
tool เป็นออบเจ็กต์ JavaScript ธรรมดา AI จะเรียกใช้เมื่อบทสนทนาต้องการ เช่น ตอนจองคิว
provider.registerFunction({
name: 'book_appointment',
description: 'Book a consultation slot',
parameters: { time: { type: 'string', required: true } },
execute: async ({ time }) => ({ success: true, message: `Booked for ${time}` }),
})
ปลั๊กอิน WordPress
ใส่ตัวละครที่พูดได้ลงในหน้าไหนของ WordPress ก็ได้โดยไม่ต้องเขียนโค้ด ต้องใช้ WordPress 6.0 ขึ้นไป และ PHP 8.0 ขึ้นไป
ติดตั้ง
ดาวน์โหลดไฟล์ zip รุ่นล่าสุดจาก github.com/khavee-ai/khavee-wp-plugin แล้วไปที่ Plugins, Add New, Upload Plugin รุ่นใหม่จะมาทางระบบตรวจอัปเดตของปลั๊กอินเอง
การตั้งค่า
เปิดเมนู Khavee AI Avatar ในหน้าแอดมินของ WordPress
- OpenAI API Key
- ใช้สำหรับเสียง บันทึกไว้บนเซิร์ฟเวอร์และแสดงแบบซ่อนบางส่วน
- Khavee Platform API Key
- คีย์จากหน้า API Keys ในแดชบอร์ด ทำให้ตัวละครตอบจากฐานข้อมูลความรู้ที่คุณจัดการบนแพลตฟอร์มได้
- Personality / Instructions
- ตัวละครพูดอย่างไร และควรทำอะไร
- Voice
- เลือกเสียงที่รองรับ
- Avatar (VRM/GLB)
- อัปโหลดไฟล์ .vrm หรือ .glb ผ่าน Media Library
- Floating widget
- แสดงตัวละครที่มุมจอทุกหน้า ตั้งสี ตำแหน่ง ขนาด และมุมกล้องได้
Shortcode และบล็อก
ใส่ตัวละครในหน้าด้วย shortcode แต่ละ attribute จะแทนค่าตั้งค่าเฉพาะหน้านั้น ส่วน avatar ใช้ attachment ID จาก Media Library
[khaveeai_avatar]
[khaveeai_avatar voice="shimmer" instructions="Answer in Thai." avatar="123"]
ใน block editor ค้นหา Khavee AI Avatar บล็อกนี้ใช้การตั้งค่าเดียวกับ shortcode
