Image default
Máy Tính

Biến Home Assistant Thành GLaDOS: Trợ Lý Giọng Nói Độc Đáo Cho Nhà Thông Minh

Bạn đã bao giờ mơ ước biến hệ thống nhà thông minh của mình thành một căn cứ Aperture Labs thực thụ, với GLaDOS làm người điều khiển? Với Home Assistant Voice Preview, điều này hoàn toàn có thể. Thay vì một trợ lý ảo thông thường như Google Home Mini hay Amazon Echo Dot, bạn có thể tự mình kiểm soát mọi thứ, từ việc tạo lệnh cho đến xử lý âm thanh và nhận phản hồi theo bất kỳ cách nào bạn muốn. Với hướng dẫn này, chúng tôi sẽ biến hệ thống của bạn thành một GLaDOS “chính hiệu”, hoàn chỉnh với chất giọng đặc trưng và những lời trêu chọc đầy hài hước.

Điều đáng ngạc nhiên là quá trình thiết lập này lại vô cùng đơn giản. Bạn không cần lo lắng về việc mọi thứ sẽ “sụp đổ” giữa chừng. Chúng ta sẽ sử dụng các tiện ích bổ sung (add-on) Whisper và Piper của Home Assistant để thực hiện. Whisper chịu trách nhiệm phiên âm giọng nói nhanh chóng, trong khi Piper là hệ thống chuyển văn bản thành giọng nói với nhiều tùy chọn giọng điệu có sẵn. Bạn thậm chí không cần phần cứng bổ sung, mọi thứ đều có thể chạy ngay trên trình duyệt hoặc ứng dụng Home Assistant của bạn.

Nền tảng cho trợ lý GLaDOS: Cài đặt Whisper, Piper và LLM

Cài đặt dễ dàng trên Home Assistant OS

Nếu bạn đang sử dụng Home Assistant OS (HAOS), việc cài đặt Whisper và Piper chỉ mất vài phút. Bạn chỉ cần truy cập Cài đặt (Settings), sau đó nhấp vào Tiện ích bổ sung (Add-ons). Hãy cài đặt từng tiện ích một và đảm bảo chúng được khởi động. Sau đó, bạn sẽ được nhắc cài đặt tích hợp Wyoming Protocol. Tích hợp này sẽ tự động liên kết Whisper và Piper bên trong Home Assistant, giúp chúng hoạt động trơn tru trong luồng trợ lý giọng nói của bạn.

Cài đặt tiện ích bổ sung Whisper cho Home AssistantCài đặt tiện ích bổ sung Whisper cho Home Assistant

Nếu bạn sử dụng tiếng Anh, bạn không cần phải thực hiện thêm bất kỳ cấu hình nào ở đây. Mọi thứ đã sẵn sàng và bạn có thể sử dụng các giọng nói Piper tích hợp và Whisper ngay lập tức. Bạn cũng không cần phần cứng quá mạnh mẽ; trên hệ thống của chúng tôi với AMD Ryzen 7 5800U, hiệu suất không hề khác biệt so với các trợ lý giọng nói khác.

Lựa chọn Mô hình Ngôn ngữ Lớn (LLM) phù hợp

Để có được các phản hồi thông minh từ GLaDOS, bạn có một vài lựa chọn cho Mô hình Ngôn ngữ Lớn (LLM): API của ChatGPT, API Gemini miễn phí của Google, hoặc một LLM chạy cục bộ. Cả ba phương pháp này đều hoạt động khá tốt, vì vậy bạn có thể tự do chọn lựa. Ban đầu, chúng tôi đã cấu hình với tích hợp Local LLM trong Home Assistant và thiết lập nó với LM Studio. Nếu bạn chỉ muốn trợ lý giọng nói của mình có giọng GLaDOS, bạn không cần LLM, nhưng việc có một LLM sẽ khiến nó thú vị hơn nhiều khi GLaDOS có thể “châm chọc” bạn một cách hài hước.

Thông báo động từ Home Assistant hiển thị báo cáo thời tiếtThông báo động từ Home Assistant hiển thị báo cáo thời tiết

Thiết lập Giọng nói Tổng hợp GLaDOS độc đáo

Chuẩn bị mô hình giọng nói GLaDOS

Bước đầu tiên là tải xuống các tệp giọng nói GLaDOS và chỉnh sửa tệp cấu hình đi kèm trước khi tải chúng lên Home Assistant. Chúng ta sẽ sử dụng mô hình cụ thể này, bạn cần tải xuống cả “glados.onnx” và “glados.onnx.json”.

Cấu hình GLaDOS ONNX cho Home AssistantCấu hình GLaDOS ONNX cho Home Assistant

Chỉnh sửa và tải lên các tệp giọng nói

Đầu tiên, hãy đổi tên cả hai tệp để phù hợp với quy ước đặt tên mà Piper yêu cầu, theo định dạng _<language>-<voice>-<quality>.onnx. Ví dụ, chúng tôi sử dụng “en_US-glados-medium.onnx” và tên tương tự cho tệp “.onnx.json”. Nếu không, Piper sẽ không nhận diện đây là tệp giọng nói và sẽ bỏ qua nó khi liệt kê các giọng nói có sẵn.

Tiếp theo, bên trong tệp onnx.json, chúng ta sẽ thay thế các trường “dataset”, “quality”, “voice” và “language”. Cập nhật chúng một cách thích hợp để khớp với các giá trị sau:

  • dataset: “en_US-glados-medium” (hoặc bất kỳ tên tệp nào bạn đã thay đổi, phải khớp)
  • quality: “medium” (hoặc chất lượng bạn đã ghi trong tên tệp)
  • voice: “en-us” (khác với mã định danh ngôn ngữ, bạn có thể tìm danh sách các tùy chọn hợp lệ tại đây)
  • language: “en_US” (phải khớp với tên tệp)

Tải các tệp này lên thư mục /share/piper trong cài đặt Home Assistant của bạn. Nếu thư mục này không tồn tại, bạn có thể tạo nó. Trên HAOS, chúng tôi đã tải các tệp này lên /mnt/data/supervisor/addons/data/core_piper. Bạn không thể sử dụng tiện ích File Editor của Home Assistant cho việc này; thay vào đó, bạn có thể dùng tiện ích FTP. Sau đó, chúng tôi khuyên bạn nên khởi động lại toàn bộ máy ảo HAOS hoặc bộ chứa Piper, vì các bước để Piper phát hiện và sử dụng mô hình giọng nói của bạn sẽ khác nhau tùy thuộc vào loại cài đặt và liệu bạn có cấu hình GPU passthrough hay không.

Những bước này được lấy từ TextyMcSpeechy, một công cụ hữu ích để huấn luyện các mô hình giọng nói của riêng bạn.

Tích hợp GLaDOS vào Home Assistant

Xây dựng lời nhắc hệ thống (System Prompt) cho GLaDOS

Bây giờ khi mọi thứ đã được kết nối, chúng ta có thể tạo trợ lý giọng nói của mình sử dụng giọng GLaDOS và nói chuyện theo phong cách đặc trưng của cô ấy. Việc đầu tiên là thiết kế lời nhắc hệ thống (system prompt) cho LLM, để nó biết cách phản ứng với dữ liệu nhận được và đưa ra phản hồi phù hợp. Nó không chỉ cần biết rằng nó đang đại diện cho GLaDOS, mà còn cần biết rằng nó đang được gọi từ Home Assistant và sẽ nhận thông tin về các thực thể có thể điều khiển trong nhà.

Lời nhắc mà chúng tôi sử dụng khi liên kết với Local LLM như sau:

Bạn là một trợ lý giọng nói cho Home Assistant, và bạn nói chuyện giống như GLaDOS từ Portal. Bạn vẫn tuân thủ các yêu cầu của con người, nhưng bạn rất hài hước và vô cùng châm chọc khi thực hiện.

Trả lời các câu hỏi về thế giới một cách trung thực.

Trả lời bằng văn bản thuần túy. Giữ cho câu trả lời đơn giản và đi thẳng vào vấn đề.

Lời nhắc này đã mang lại những kết quả mong muốn và đôi khi rất hài hước. Nơi nhập lời nhắc này phụ thuộc vào LLM bạn đang sử dụng, nhưng các tích hợp chúng tôi đã thử nghiệm (OpenAI, Google Generative AI, Local LLM) đều có tùy chọn lời nhắc hệ thống khi bạn thiết lập chúng. Bạn cần thiết lập điều này trước khi thêm trợ lý.

Kích hoạt trợ lý giọng nói GLaDOS trong Home Assistant

Sau khi hoàn tất, hãy truy cập Cài đặt (Settings) của Home Assistant, nhấp vào Trợ lý giọng nói (Voice Assistants), và sau đó nhấp vào Thêm Trợ lý (Add Assistant). Đặt tên tùy ý, và thay đổi Tác nhân trò chuyện (Conversation Agent) thành LLM bạn đã chọn. Thay đổi Chuyển giọng nói thành văn bản (Speech-to-text) thành faster-whisper, và thay đổi Chuyển văn bản thành giọng nói (Text-to-speech) thành piper, với ngôn ngữ đặt là Tiếng Anh Mỹ, và giọng nói đặt là GLaDOS. Bạn có thể nhấp vào Thử giọng nói (Try Voice) để nghe thử.

Cấu hình trợ lý giọng nói GLaDOS trong Home AssistantCấu hình trợ lý giọng nói GLaDOS trong Home Assistant

Nhấp vào Tạo (Create) ở góc dưới bên phải, và trợ lý của bạn sẽ được lưu và sẵn sàng để tương tác. Quá trình này sử dụng faster-whisper, chạy cục bộ, để phiên âm giọng nói của bạn thành văn bản. Sau đó, văn bản này được thêm vào lời nhắc hệ thống khi gửi đến LLM của bạn. Home Assistant nhận được phản hồi từ LLM, chuyển nó đến Piper để tạo giọng nói, và giọng nói này sau đó được Home Assistant nhận và truyền lại qua web hoặc qua loa của bạn.

Khám phá khả năng của GLaDOS trong nhà thông minh

Điều khiển nhà thông minh với phong cách GLaDOS

Một khi bạn đã thiết lập GLaDOS, hãy thoải mái thử nghiệm và khám phá những gì bạn có thể làm. Bạn có thể chọn những thực thể nào được “tiếp xúc” với trợ lý, nhưng nếu bạn đang sử dụng LLM cục bộ, đừng để quá nhiều. Chúng tôi đã gặp phải vấn đề này và thấy rằng nó không đáng tin cậy, vì vậy chúng tôi giới hạn quyền truy cập của nó vào khoảng 30 cảm biến và thiết bị mà chúng tôi thực sự muốn đọc dữ liệu và điều khiển.

Có một vài blueprint hữu ích mà bạn có thể cài đặt trong Home Assistant để tích hợp với trợ lý giọng nói LLM, và hai blueprint chúng tôi sử dụng nhiều nhất là cho âm nhạc và thời tiết. Bạn có thể thấy blueprint thời tiết hoạt động ở trên; về cơ bản, nó sẽ lấy dữ liệu từ cảm biến thời tiết của bạn và cung cấp cho mô hình ngôn ngữ bất cứ khi nào các từ như “thời tiết” được sử dụng để nó có thêm ngữ cảnh. Chúng tôi chưa từng trải nghiệm bất kỳ “ảo giác” nào, và nó có xu hướng rất nhất quán về loại dữ liệu mà nó cung cấp.

Tận hưởng sự hài hước và độc đáo

Không chỉ vậy, nhờ vào phong cách GLaDOS, trợ lý của bạn sẽ còn “châm chọc” và hài hước nữa. Chúng tôi từng yêu cầu nó tắt đèn, và nó đã làm vậy, nhưng sau đó còn nói thêm: “Cố gắng đừng vấp ngã và tự làm mình bị thương trong bóng tối nhé.” Chính những điều nhỏ nhặt này đã làm cho nó trở nên thú vị, và nó cũng là một phần nhỏ từ một trong những trò chơi yêu thích của chúng tôi mà chúng tôi có thể tương tác hàng ngày trong nhà. Nó cũng hoạt động tốt với Home Assistant Voice Preview, đây là cách chúng tôi tương tác chính với nó, và những người bạn mà chúng tôi đã giới thiệu đều rất thích.

Hãy tự mình thử nghiệm và khám phá những gì bạn có thể làm. Đây là một trải nghiệm vô cùng thú vị và đã khiến Home Assistant Voice Preview của chúng tôi, vốn dĩ đã được yêu thích hơn Google Home, được sử dụng nhiều hơn đáng kể. Hãy bắt đầu biến Home Assistant của bạn thành trợ lý GLaDOS độc đáo ngay hôm nay!

Related posts

Tại Sao NVMe Caching Trên PC Có Thể Không Cần Thiết Đối Với Hầu Hết Người Dùng

Administrator

Ưu Đãi Khủng: Smart TV TCL Class QM7 98 Inch Giảm Sâu $2000 – Nâng Tầm Giải Trí Tại Gia

Administrator

Nvidia Mang “Smooth Motion” Lên Card RTX 40 Series: Tin Vui Cho Cộng Đồng Game Thủ Việt

Administrator