Providers
Deepgram
Deepgram เป็น API แปลงเสียงพูดเป็นข้อความ OpenClaw ใช้ API นี้สำหรับการถอดเสียงไฟล์เสียง/ข้อความเสียงขาเข้า
ผ่าน tools.media.audio และสำหรับ STT แบบสตรีมมิงของ Voice Call
ผ่าน plugins.entries.voice-call.config.streaming
การถอดเสียงแบบแบตช์จะอัปโหลดไฟล์เสียงทั้งหมดไปยัง Deepgram และแทรก
ข้อความถอดเสียงลงในไปป์ไลน์การตอบกลับ (บล็อก {{Transcript}} + [Audio])
การสตรีม Voice Call จะส่งต่อเฟรม G.711 u-law แบบสดผ่านปลายทาง WebSocket
listen ของ Deepgram และปล่อยข้อความถอดเสียงบางส่วน/ฉบับสมบูรณ์เมื่อ Deepgram
ส่งข้อมูลกลับมา
| รายละเอียด | ค่า |
|---|---|
| เว็บไซต์ | deepgram.com |
| เอกสาร | developers.deepgram.com |
| การยืนยันตัวตน | DEEPGRAM_API_KEY |
| โมเดลเริ่มต้น | nova-3 |
เริ่มต้นใช้งาน
ตั้งค่าคีย์ API
DEEPGRAM_API_KEY=dg_...เปิดใช้งานผู้ให้บริการเสียง
{ tools: { media: { audio: { enabled: true, models: [{ provider: "deepgram", model: "nova-3" }], }, }, },}ส่งข้อความเสียง
ส่งข้อความเสียงผ่านช่องทางที่เชื่อมต่ออยู่ OpenClaw จะถอดเสียง ผ่าน Deepgram และแทรกข้อความถอดเสียงลงในไปป์ไลน์การตอบกลับ
ตัวเลือกการกำหนดค่า
| ตัวเลือก | พาธ | คำอธิบาย |
|---|---|---|
model |
tools.media.audio.models[].model |
ID โมเดล Deepgram (ค่าเริ่มต้น: nova-3) |
language |
tools.media.audio.models[].language |
คำใบ้ภาษา (ไม่บังคับ) |
providerOptions.deepgram จะผสานพารามิเตอร์คิวรีเพิ่มเติมลงในคำขอ
/listen ของ Deepgram โดยตรง ดังนั้นจึงใช้ชื่อพารามิเตอร์ใดก็ตามที่ Deepgram รองรับได้
(ตัวอย่างเช่น detect_language, punctuate, smart_format):
พร้อมคำใบ้ภาษา
{ tools: { media: { audio: { enabled: true, models: [{ provider: "deepgram", model: "nova-3", language: "en" }], }, }, },}พร้อมตัวเลือก Deepgram
{ tools: { media: { audio: { enabled: true, providerOptions: { deepgram: { detect_language: true, punctuate: true, smart_format: true, }, }, models: [{ provider: "deepgram", model: "nova-3" }], }, }, },}STT แบบสตรีมมิงของ Voice Call
Plugin deepgram ที่รวมมาให้จะลงทะเบียนผู้ให้บริการถอดเสียงแบบเรียลไทม์
สำหรับ Plugin Voice Call ด้วย
| การตั้งค่า | พาธการกำหนดค่า | ค่าเริ่มต้น |
|---|---|---|
| คีย์ API | plugins.entries.voice-call.config.streaming.providers.deepgram.apiKey |
ใช้ DEEPGRAM_API_KEY เป็นค่าทดแทน |
| URL ฐาน | ...deepgram.baseUrl |
DEEPGRAM_BASE_URL หรือ API สาธารณะของ Deepgram |
| โมเดล | ...deepgram.model |
nova-3 |
| ภาษา | ...deepgram.language |
(ไม่ได้ตั้งค่า) |
| การเข้ารหัส | ...deepgram.encoding |
mulaw |
| อัตราการสุ่มตัวอย่าง | ...deepgram.sampleRate |
8000 |
| การตรวจหาจุดสิ้นสุด | ...deepgram.endpointingMs |
800 |
| ผลลัพธ์ชั่วคราว | ...deepgram.interimResults |
true |
{ plugins: { entries: { "voice-call": { config: { streaming: { enabled: true, provider: "deepgram", providers: { deepgram: { apiKey: "${DEEPGRAM_API_KEY}", model: "nova-3", endpointingMs: 800, language: "en-US", }, }, }, }, }, }, },}สำหรับปลายทางแบบกำหนดเองของ Deepgram
ให้ตั้งค่า baseUrl เป็นรากของปลายทาง โดยรวมพาธฐานใด ๆ แต่ไม่รวม /listen
ปลายทางแบบเรียลไทม์รองรับ http://, https://, ws:// และ wss:// โดย HTTP
จะแมปเป็น WS, HTTPS จะแมปเป็น WSS และรูปแบบ WebSocket ที่ระบุอย่างชัดเจนจะคงเดิม
URL ที่มีรูปแบบไม่ถูกต้องและรูปแบบอื่น ๆ จะทำให้การตั้งค่าเซสชันล้มเหลว
หมายเหตุ
การยืนยันตัวตน
การยืนยันตัวตนเป็นไปตามลำดับมาตรฐานสำหรับการยืนยันตัวตนของผู้ให้บริการ DEEPGRAM_API_KEY คือ
วิธีที่ง่ายที่สุด
พร็อกซีและปลายทางแบบกำหนดเอง
เขียนทับปลายทางหรือส่วนหัวด้วย tools.media.audio.baseUrl และ
tools.media.audio.headers เมื่อใช้พร็อกซี
ลักษณะการทำงานของเอาต์พุต
เอาต์พุตเป็นไปตามกฎเสียงเดียวกับผู้ให้บริการรายอื่น (ขีดจำกัดขนาด การหมดเวลา และการแทรกข้อความถอดเสียง)