Chuyển tới nội dung chính

Cách sử dụng plugin

Trình tích hợp Chatbot AI Thời gian chạy cung cấp hai chức năng chính: Trò chuyện Văn bản-với-Văn bản và Chuyển văn bản thành giọng nói (TTS). Cả hai tính năng đều tuân theo quy trình làm việc tương tự:

  1. Đăng ký token nhà cung cấp API của bạn
  2. Cấu hình cài đặt cụ thể cho tính năng
  3. Gửi yêu cầu và xử lý phản hồi

Đăng ký Token Nhà cung cấp

Trước khi gửi bất kỳ yêu cầu nào, hãy đăng ký token nhà cung cấp API của bạn bằng hàm RegisterProviderToken.

ghi chú

Ollama chạy cục bộ và không yêu cầu token API. Bạn có thể bỏ qua bước này cho Ollama.

Đăng ký Token Nhà cung cấp trong Blueprint

Chức năng Trò chuyện Văn bản-đến-Văn bản

Plugin hỗ trợ hai chế độ yêu cầu trò chuyện cho mỗi nhà cung cấp:

Yêu cầu Trò chuyện Không Streaming

Lấy toàn bộ phản hồi trong một lần gọi duy nhất.

Gửi Yêu cầu Trò chuyện OpenAI

Yêu cầu Trò chuyện Luồng (Streaming Chat Requests)

Nhận các khối phản hồi theo thời gian thực để có tương tác năng động hơn.

Gửi Yêu cầu Trò chuyện Luồng OpenAI

Chức năng Chuyển văn bản thành giọng nói (TTS)

Chuyển đổi văn bản thành âm thanh giọng nói chất lượng cao bằng các nhà cung cấp TTS hàng đầu. Plugin trả về dữ liệu âm thanh thô (TArray<uint8>) mà bạn có thể xử lý theo nhu cầu của dự án.

Mặc dù các ví dụ dưới đây minh họa quá trình xử lý âm thanh để phát lại bằng plugin Runtime Audio Importer (xem tài liệu nhập âm thanh), Runtime AI Chatbot Integrator được thiết kế linh hoạt. Plugin chỉ đơn giản trả về dữ liệu âm thanh thô, cho bạn toàn quyền tự do trong cách xử lý cho trường hợp sử dụng cụ thể của mình, có thể bao gồm phát lại âm thanh, lưu vào tệp, xử lý âm thanh thêm, truyền đến các hệ thống khác, tùy chỉnh trực quan hóa, v.v.

Yêu cầu TTS không phát trực tiếp (Non-Streaming)

Các yêu cầu TTS không phát trực tiếp trả về toàn bộ dữ liệu âm thanh trong một phản hồi duy nhất sau khi toàn bộ văn bản đã được xử lý. Cách tiếp cận này phù hợp với các văn bản ngắn hơn, nơi việc chờ đợi âm thanh hoàn chỉnh không phải là vấn đề.

Gửi yêu cầu TTS OpenAI

Yêu cầu TTS Truyền phát

Truyền phát TTS cung cấp các khối âm thanh ngay khi chúng được tạo ra, cho phép bạn xử lý dữ liệu một cách gia tăng thay vì phải chờ toàn bộ âm thanh được tổng hợp. Điều này giúp giảm đáng kể độ trễ cảm nhận đối với các văn bản dài hơn và cho phép các ứng dụng thời gian thực. ElevenLabs Streaming TTS cũng hỗ trợ các chức năng truyền phát theo khối nâng cao cho các kịch bản tạo văn bản động.

Gửi yêu cầu OpenAI Streaming TTS

Lấy Danh Sách Giọng Nói Có Sẵn

Một số nhà cung cấp TTS cung cấp API liệt kê giọng nói để khám phá các giọng nói có sẵn theo cách lập trình.

Lấy Giọng Nói Google Cloud

Liệt kê các mô hình Ollama

Bạn có thể truy vấn phiên bản Ollama cục bộ của mình để lấy tất cả các mô hình có sẵn bằng cách sử dụng hàm ListOllamaModels. Điều này có thể hữu ích, chẳng hạn như để tự động điền vào bộ chọn mô hình trong giao diện người dùng của bạn. Hàm trợ giúp GetModelNames sẽ trích xuất các chuỗi tên từ kết quả để thuận tiện.

Liệt kê các mô hình Ollama

Xử lý Lỗi

Khi gửi bất kỳ yêu cầu nào, điều quan trọng là phải xử lý các lỗi tiềm ẩn bằng cách kiểm tra ErrorStatus trong callback của bạn. ErrorStatus cung cấp thông tin về bất kỳ vấn đề nào có thể xảy ra trong quá trình yêu cầu.

Xử lý Lỗi

Hủy Yêu Cầu

Plugin cho phép bạn hủy cả yêu cầu văn bản-với-văn bản và TTS khi chúng đang được xử lý. Điều này có thể hữu ích khi bạn muốn ngắt một yêu cầu đang chạy lâu hoặc thay đổi luồng hội thoại một cách linh hoạt.

Cancel Request

Các phương pháp tốt nhất

  1. Luôn xử lý các lỗi tiềm ẩn bằng cách kiểm tra ErrorStatus trong callback của bạn
  2. Lưu ý đến giới hạn tốc độ API và chi phí cho từng nhà cung cấp
  3. Sử dụng chế độ streaming cho các cuộc hội thoại dài hoặc tương tác
  4. Cân nhắc hủy các yêu cầu không còn cần thiết để quản lý tài nguyên hiệu quả
  5. Sử dụng TTS streaming cho các văn bản dài hơn để giảm độ trễ cảm nhận
  6. Đối với xử lý âm thanh, plugin Runtime Audio Importer cung cấp một giải pháp tiện lợi, nhưng bạn có thể triển khai xử lý tùy chỉnh dựa trên nhu cầu dự án của mình
  7. Khi sử dụng các mô hình suy luận (DeepSeek Reasoner, Grok), hãy xử lý cả đầu ra suy luận và nội dung một cách phù hợp
  8. Khám phá các giọng nói có sẵn bằng cách sử dụng API liệt kê giọng nói trước khi triển khai các tính năng TTS
  9. Đối với ElevenLabs chunked streaming: Sử dụng chế độ liên tục khi văn bản được tạo ra theo từng phần (như phản hồi AI) và chế độ tức thời cho các khối văn bản đã được định hình sẵn
  10. Cấu hình thời gian chờ xả phù hợp cho chế độ liên tục để cân bằng giữa khả năng phản hồi và luồng giọng nói tự nhiên
  11. Chọn kích thước khối và độ trễ gửi tối ưu dựa trên yêu cầu thời gian thực của ứng dụng của bạn
  12. Đối với Ollama: Sử dụng ListOllamaModels để khám phá động các mô hình có sẵn thay vì mã hóa cứng tên mô hình

Xử lý sự cố

  • Xác minh thông tin đăng nhập API của bạn là chính xác cho từng nhà cung cấp
  • Kiểm tra kết nối internet của bạn
  • Đảm bảo bất kỳ thư viện xử lý âm thanh nào bạn sử dụng (như Runtime Audio Importer) đã được cài đặt đúng cách khi làm việc với các tính năng TTS
  • Xác minh bạn đang sử dụng định dạng âm thanh chính xác khi xử lý dữ liệu phản hồi TTS
  • Đối với TTS streaming, hãy đảm bảo bạn đang xử lý các khối âm thanh một cách chính xác
  • Đối với các mô hình suy luận, hãy đảm bảo bạn đang xử lý cả đầu ra suy luận và nội dung
  • Kiểm tra tài liệu dành riêng cho nhà cung cấp về tính khả dụng và khả năng của mô hình
  • Đối với ElevenLabs chunked streaming: Đảm bảo bạn gọi FinishChunkedStreaming khi hoàn tất để đóng phiên đúng cách
  • Đối với các vấn đề về chế độ liên tục: Kiểm tra xem ranh giới câu có được phát hiện đúng trong văn bản của bạn hay không
  • Đối với các ứng dụng thời gian thực: Điều chỉnh độ trễ gửi khối và thời gian chờ xả dựa trên yêu cầu về độ trễ của bạn
  • Đối với Ollama: Đảm bảo máy chủ Ollama đang chạy và có thể truy cập được tại BaseUrl đã được cấu hình trước khi gửi yêu cầu