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

การผสาน LongCat AudioDiT

Libre WebUI รวม plugin JSON และ adapter HTTP ในเครื่องสำหรับ checkpoint ทางการ meituan-longcat/LongCat-AudioDiT-1B และ meituan-longcat/LongCat-AudioDiT-3.5B โปรเจกต์ต้นทางมี API Python แทนเซิร์ฟเวอร์ HTTP ดังนั้น adapter ใน examples/longcat-audiodit-server จึงมีการค้นหาโมเดล เสียงพูด JSON และ endpoint โคลนเสียงแบบ multipart

AudioDiT ส่งกลับไฟล์ WAV โมโน 24 kHz ที่สมบูรณ์แทนการตอบกลับเสียงแบบ streaming ดังนั้น Libre WebUI จะแบ่งคำตอบยาวตามขอบเขตประโยคและวลี สร้างชุดล่วงหน้าในจำนวนจำกัด และจัดลำดับเสียงที่ถอดรหัสเพื่อเล่นต่อเนื่อง

ข้อกำหนด​

GPU NVIDIA CUDA เป็นเป้าหมายที่เหมาะสม เริ่มด้วย checkpoint 1B ส่วน 3.5B ต้องใช้ VRAM มากกว่าอย่างมากและโหลดนานกว่า CPU ใช้ทดลองได้แต่ไม่น่าตอบสนองแบบโต้ตอบ

เริ่ม adapter​

clone implementation ทางการและสร้างสภาพแวดล้อมแยก:

git clone https://github.com/meituan-longcat/LongCat-AudioDiT.git
python3 -m venv .venv
source .venv/bin/activate
pip install -r examples/longcat-audiodit-server/requirements.txt
export PYTHONPATH="$PWD/LongCat-AudioDiT"

จากนั้นเริ่ม checkpoint หนึ่งรายการ:

python examples/longcat-audiodit-server/server.py \
--model meituan-longcat/LongCat-AudioDiT-1B \
--device cuda:0

เซิร์ฟเวอร์ผูกกับ 127.0.0.1:8300 โดยค่าเริ่มต้น และตั้งใจไม่ใช้การยืนยันตัวตนสำหรับการใช้งานในเครื่อง จึงอย่าเปิดตรงไปยังเครือข่ายที่ไม่เชื่อถือ ใช้ gateway HTTPS ที่ยืนยันตัวตนเมื่อ Libre WebUI กับ adapter อยู่คนละโฮสต์ เสียงที่นำกลับมาใช้จะส่งไฟล์อ้างอิงที่ถอดรหัสไปยัง endpoint นั้นทุกชุดเสียงพูด ตัวอย่าง Docker CUDA และการตรวจสุขภาพอยู่ใน examples/longcat-audiodit-server/README.md

เปิดใช้ plugin​

เปิด การตั้งค่า → Plugin → LongCat AudioDiT เปิดใช้งาน และคง endpoint ในเครื่องเริ่มต้นไว้ เว้นแต่ adapter ทำงานที่อื่น การค้นหาโมเดลประกาศเฉพาะ checkpoint ที่อยู่ในโปรเซสเซิร์ฟเวอร์นั้น เริ่ม adapter ใหม่เพื่อสลับระหว่างโมเดล 1B และ 3.5B

เมื่อมี gateway เช่น llama-swap อยู่หน้า adapter ให้กำหนด endpoint API โมเดลเป็นเส้นทาง GET /v1/models ของ adapter ผ่าน gateway อย่าชี้การค้นหาโมเดลไปที่ POST /v1/audio/speech เพราะหากค้นหาล้มเหลว ระบบจะกลับไปใช้ checkpoint ทั้งสองใน manifest และอาจให้ UI เลือก checkpoint ที่ adapter ไม่ได้โหลด

ใช้ การตั้งค่า → ข้อความเป็นเสียง เพื่อเลือก LongCat สำหรับเล่นเสียงแชต การเล่นตามชุดอย่างเป็นธรรมชาติเปิดโดยค่าเริ่มต้น ขีดจำกัดร่วม 140 อักขระของผู้ให้บริการทำให้ข้อความจีนหนาแน่นอยู่ในช่วงเวลาสั้นของ checkpoint 1B และ Libre WebUI จะสร้างหลายชุดอัตโนมัติสำหรับคำตอบยาว

การโคลนเสียง​

เปิด จินตนาการ → เสียง เลือกโมเดลเสียงพูด LongCat และเปิด โคลนเสียงอ้างอิง อัปโหลดไฟล์เสียงสะอาดและป้อนคำพูดที่ตรงกัน คลิปผู้พูดคนเดียว 3–10 วินาทีและเสียงรบกวนน้อยให้ผลดีที่สุด adapter ปฏิเสธคลิปเกิน 15 วินาทีหรือ 10 MiB

การโคลนอาจใช้ครั้งเดียว หรือเลือก บันทึกเป็นเสียงที่ใช้ซ้ำได้ ตั้งชื่อส่วนตัวและยืนยันว่าผู้พูดยินยอมให้เก็บ เสียงที่บันทึกจะเลือกได้สำหรับโมเดล LongCat เดียวกันใน การตั้งค่า → ข้อความเป็นเสียง จากนั้นการอ่านออกเสียงและเล่นอัตโนมัติในแชตจะใช้เสียงนั้นซ้ำในชุดที่รับรู้ประโยคของ Libre WebUI

ไฟล์อ้างอิงใช้ส่วนหนึ่งของช่วงเวลา AudioDiT หากเสียงที่ขอไม่พอดีกับเวลาที่เหลือ adapter จะส่งข้อผิดพลาดไคลเอนต์ชัดเจนแทนการตัดเสียงเงียบ ๆ ให้ย่อไฟล์อ้างอิงหรือข้อความแล้วลองใหม่

โคลนเสียงเมื่อได้รับอนุญาตจากผู้พูดอย่างชัดเจนเท่านั้น สำหรับการสร้างครั้งเดียว Libre WebUI เก็บไฟล์อ้างอิงในหน่วยความจำและ adapter ลบไฟล์ถอดรหัสชั่วคราวหลังคำขอ เมื่อบันทึกเสียงที่ใช้ซ้ำได้ Libre WebUI เก็บเสียงอ้างอิงต้นฉบับและข้อความถอดเสียงที่ตรงในโปรไฟล์ตามผู้ใช้ซึ่งเข้ารหัส AES-GCM และไม่ใช้เสียงเลียนแบบที่สร้างแทนข้อมูลอ้างอิงมาตรฐาน AudioDiT ไม่มี embedding ผู้พูดแบบพกพา จึงต้องถอดรหัสคู่ต้นฉบับและส่งให้ผู้ให้บริการที่กำหนดในทุกชุด คุณลบโปรไฟล์ถาวรได้จากการตั้งค่าข้อความเป็นเสียง โปรไฟล์จะปฏิเสธอย่างปลอดภัยหากเส้นทางหรือ endpoint ที่อนุมัติเปลี่ยน ให้สร้างใหม่หลังตรวจสอบปลายทาง

เสียงพูดที่สร้างเก็บแยกในคลังสื่อเข้ารหัสของผู้ใช้ การลบผลลัพธ์ในคลังไม่ลบโปรไฟล์เสียง และการลบโปรไฟล์เสียงไม่ลบเสียงที่สร้างไว้ก่อนหน้า

ผู้ให้บริการรองรับไฟล์อ้างอิง WAV, FLAC, MP3 และ Ogg ภาษาอังกฤษและจีนกลางเป็นภาษาที่มีผลลัพธ์ดีที่สุดตามเอกสาร LongCat ไม่มีเสียงตั้งชื่อไว้ล่วงหน้า การสังเคราะห์ทั่วไปจึงใช้ค่าเริ่มต้นของโมเดล

การควบคุมการอนุมาน​

plugin มีตัวแปรขั้นสูงแบบจำกัดสำหรับขั้น ODE ความแรงการนำทาง วิธี CFG/APG และ seed Libre WebUI ส่งต่อเฉพาะการควบคุมที่ manifest ประกาศไปยัง endpoint เสียงพูดและโคลน ค่าเริ่มต้นตรงกับตัวอย่างอนุมานต้นทางและเหมาะเป็นจุดเริ่ม

AudioDiT ไม่มีการควบคุมความเร็วเล่น เพื่อให้เข้ากับรูปแบบคำขอเสียง OpenAI adapter รับค่า speed ตั้งแต่ 0.25 ถึง 4.0 แต่ตั้งใจไม่ใช้ โมเดลกำหนดจังหวะเสียงจริง การเลือกความเร็วอื่นไม่ยืดเวลา WAV ที่สร้าง

ดู README ของตัวอย่างสำหรับคำขอ curl โดยตรง คำสั่ง Docker ขีดจำกัดที่แน่นอน และคำสั่งตรวจสอบออฟไลน์