ข้ามไปยังเนื้อหา

เอกสารนักพัฒนา

เชื่อมตัวละคร Khavee เข้ากับแอปของคุณด้วย Platform API และ React SDK หรือใส่ในเว็บ WordPress ด้วยปลั๊กอิน

สร้าง API key

API key แต่ละอันผูกกับตัวละครหนึ่งตัว (หนึ่งโปรเจกต์ในแดช⁠บอร์ด) ใช้บนเซิร์ฟเวอร์ของคุณเพื่ออ่านการตั้งค่าของตัวละครและจัดการฐานข้อมูลความรู้

  1. เข้าสู่ระบบ Khavee Platform แล้วเปิดหน้า API Keys
  2. กด Create key ตั้งชื่อ (เช่น Website backend) แล้วเลือกตัวละคร
  3. คัดลอกคีย์ทันที เพราะจะแสดงแค่ครั้งเดียว
  4. เก็บคีย์ไว้บนเซิร์ฟเวอร์เป็น environment variable เช่น KHAVEE_API_KEY

เก็บคีย์ไว้บนเซิร์ฟเวอร์เท่านั้น คีย์อ่านการตั้งค่าตัวละครและจัดการฐานข้อมูลความรู้ได้ ห้ามใส่ในโค้ดฝั่งเบราว์เซอร์หรือ repository สาธารณะ ถ้าคีย์หลุด ให้ยกเลิกในหน้า API Keys แล้วสร้างอันใหม่

ฝังบนเว็บไซต์

ไม่ต้องใช้ API key ก็ใส่ตัวละครลงในหน้าเว็บได้ เผยแพร่ตัวละคร เปิดหน้าต่าง Share แล้วคัดลอกโค้ดฝัง โค้ดนี้จะโหลดหน้าแชร์ของตัวละครใน iframe

embed.html
<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

terminal
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

terminal
npm install @khaveeai/core
server.ts
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

terminal
npm install @khaveeai/react three @react-three/fiber @react-three/drei
Reception.tsx
<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 จะเรียกใช้เมื่อบทสนทนาต้องการ เช่น ตอนจองคิว

tools.ts
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

shortcode
[khaveeai_avatar]
[khaveeai_avatar voice="shimmer" instructions="Answer in Thai." avatar="123"]

ใน block editor ค้นหา Khavee AI Avatar บล็อกนี้ใช้การตั้งค่าเดียวกับ shortcode