Last chance! 50% off DataCamp Premium
Sale ends in

Whisper là một mô hình nhận dạng giọng nói tự động đa dụng được huấn luyện trên một tập dữ liệu âm thanh lớn. Mô hình có thể thực hiện phiên âm đa ngôn ngữ, dịch giọng nói và phát hiện ngôn ngữ.
Whisper có thể được sử dụng như trợ lý giọng nói, chatbot, dịch giọng nói sang tiếng Anh, tự động ghi chú trong các cuộc họp và phiên âm.
Phiên âm là quá trình chuyển đổi ngôn ngữ nói thành văn bản. Trước đây, việc này được thực hiện thủ công, còn nay chúng ta có các công cụ hỗ trợ bởi AI như Whisper có thể hiểu chính xác ngôn ngữ nói.
Nếu bạn có kiến thức cơ bản về Python, bạn có thể tích hợp OpenAI Whisper API vào ứng dụng của mình. Whisper API là một phần của openai/openai-python, cho phép bạn truy cập nhiều dịch vụ và mô hình của OpenAI.
Tìm hiểu thêm về cách xây dựng ứng dụng AI với LangChain trong Building Multimodal AI Applications with LangChain & the OpenAI API AI Code Along, nơi bạn sẽ khám phá cách phiên âm nội dung video YouTube bằng AI chuyển giọng nói thành văn bản Whisper và sau đó dùng GPT để đặt câu hỏi về nội dung.
Các ngôn ngữ được OpenAI Whisper API hỗ trợ cho phiên âm và dịch gồm:
Afrikaans, Ả Rập, Armenia, Azerbaijan, Belarus, Bosnia, Bulgaria, Catalan, Trung Quốc, Croatia, Séc, Đan Mạch, Hà Lan, Anh, Estonia, Phần Lan, Pháp, Galicia, Đức, Hy Lạp, Do Thái, Hindi, Hungary, Iceland, Indonesia, Ý, Nhật, Kannada, Kazakh, Hàn, Latvia, Litva, Macedonia, Mã Lai, Marathi, Maori, Nepal, Na Uy, Ba Tư, Ba Lan, Bồ Đào Nha, Romania, Nga, Serbia, Slovak, Slovenia, Tây Ban Nha, Swahili, Thụy Điển, Tagalog, Tamil, Thái, Thổ Nhĩ Kỳ, Ukraina, Urdu, Tiếng Việt và Wales.
Tỷ lệ lỗi từ (WER) trên bộ dữ liệu Fleur dùng mô hình large-v2 được trình bày trong hình dưới, phân loại theo ngôn ngữ. WER càng nhỏ thì độ chính xác phiên âm càng cao.

Các định dạng tệp được Whisper API hỗ trợ gồm mp3, mp4, mpeg, mpga, m4a, wav và webm. Hiện tại, kích thước tệp tải lên bị giới hạn ở 25MB. Nếu bạn có tệp lớn hơn, bạn có thể chia nhỏ chúng thành các phần bằng pydub.
Trong phần này, chúng ta sẽ dùng OpenAI API cho phiên âm và dịch. Ngoài ra, chúng ta cũng sẽ xem các loại định dạng đầu ra khác nhau.
Bạn có thể cài đặt OpenAI Python API bằng pip.
pip install openai
Sau đó, chúng ta cần tạo khóa API bằng cách truy cập trang OpenAI API, nhấp vào ảnh hồ sơ và chọn tuỳ chọn "View API keys". Tất cả tài khoản OpenAI mới đều có sẵn 5 đô la tín dụng miễn phí, nên bạn không cần lo việc thêm thông tin thẻ tín dụng.

Tiếp theo, nhấp vào nút “Create new security key”, đặt tên khóa rồi sao chép khóa được tạo.

Chúng ta có thể thiết lập khóa API trong hệ thống cục bộ bằng cách gõ lệnh dưới đây trong terminal. Lệnh này sẽ tạo một biến môi trường chứa API để bạn sử dụng các dịch vụ của OpenAI.
export OPENAI_API_KEY='sk-...kMEM'
Bạn có thể thiết lập khóa ngay trong chương trình Python của mình using openai.api_key. Cách này không được khuyến nghị vì có thể làm lộ API của bạn ra công khai.
import openai
openai.api_key = "sk-...kMEM"
Nếu bạn dùng DataLab, bạn cần nhấp vào Environment > biểu tượng dấu cộng rồi điền tên và giá trị cho các biến môi trường.

Sau đó, bạn cần bật biến môi trường bằng cách nhấp vào nút Connect.

Chúng ta sẽ dùng một phần nhỏ của cuộc phỏng vấn về AI của Marvin Minsky trên YouTube và chuyển nó thành âm thanh. Tệp marvin_minsky.mp3 dài một phút và có dung lượng 970 KB.
Chúng tôi đã cắt một đoạn nhỏ từ video YouTube tiếng Tây Ban Nha Người dân Barcelona đang dùng AI như thế nào? để tạo tệp Easy_spanish_315.mp3. Tệp có dung lượng 509 KB và thời lượng 20 giây.
Transcriptions API rất trực quan. Bạn chỉ cần nạp tệp âm thanh với câu lệnh with và thêm đối tượng âm thanh vào openai.Audio.transcribe. Hàm transcribe chỉ yêu cầu tên mô hình và đối tượng âm thanh, nhưng bạn có thể cung cấp đối số language để tăng độ chính xác.
import openai
with open("Audio/marvin_minsky.mp3", "rb") as audio_file:
transcript = openai.Audio.transcribe(
file = audio_file,
model = "whisper-1",
response_format="text",
language="en"
)
print(transcript)
of theories called Steps Toward Artificial Intelligence around 1970. That sort of charted several possible lines of research, which pretty much predicted what several communities of researchers would do in the next 20 years. Those predictions started to fall apart around--so that paper was 1970, roughly. By the late 1980s, the world had changed. It was interesting because when I started research in that general area, almost all of my students soon became professors.
Xem cheat sheet OpenAI API Python để nhanh chóng ôn lại chức năng của từng hàm. Chúng ta có thể dùng cheat sheet để tìm hiểu các lệnh OpenAI API cho tạo văn bản, phiên âm giọng nói, tạo ảnh, embedding và hơn thế nữa.
Trong ví dụ trước, chúng ta đặt định dạng phản hồi đầu ra là văn bản đơn giản, nhưng bạn luôn có thể đổi sang phụ đề subrip (response_format="srt"), phụ đề video text track (response_format="vtt") và siêu dữ liệu (response_format="verbose_json").
Trong các ví dụ của chúng ta, chúng ta sẽ đổi response_format thành “srt” để nhận phụ đề làm đầu ra.
with open("Audio/marvin_minsky.mp3", "rb") as audio_file:
transcript2 = openai.Audio.transcribe(
file = audio_file,
model = "whisper-1",
response_format="srt",
language="en"
)
print(transcript2)
Như bạn thấy, văn bản đầu ra được chia theo mốc thời gian.
1
00:00:00,000 --> 00:00:10,960
of theories called Steps Toward Artificial Intelligence around 1970.
2
00:00:10,960 --> 00:00:24,320
That sort of charted several possible lines of research, which pretty much predicted what
3
00:00:24,320 --> 00:00:31,920
several communities of researchers would do in the next 20 years.
4
00:00:31,920 --> 00:00:42,040
Those predictions started to fall apart around--so that paper was 1970, roughly.
5
00:00:42,040 --> 00:00:48,200
By the late 1980s, the world had changed.
6
00:00:48,200 --> 00:00:56,760
It was interesting because when I started research in that general area, almost all
7
00:00:56,760 --> 00:01:16,920
of my students soon became professors.
Whisper được huấn luyện trên 98 ngôn ngữ, cho phép nó phiên âm bằng nhiều ngôn ngữ. Để làm vậy, bạn cần đổi đối số language.
Trong trường hợp của chúng ta, chúng ta đang phiên âm âm thanh tiếng Tây Ban Nha, và vì thế chúng ta đặt language="es"
with open("Audio/easy_spanish_315.mp3", "rb") as audio_file:
transcript_es = openai.Audio.transcribe(
file = audio_file,
model = "whisper-1",
response_format="text",
language="es"
)
print(transcript_es)
¿Qué crees que es la inteligencia artificial? ¿Qué creo que es? Eh... no sé, no sé cómo describirlo. Algo que no es natural, obviamente. Eh... Pues la inteligencia artificial es mediante... mediante datos, eh... introducirle a un algoritmo.
Bạn chỉ có thể dịch âm thanh của mình sang phiên âm tiếng Anh.
Trong ví dụ này, chúng ta sẽ cung cấp hàm `translate` với âm thanh tiếng Tây Ban Nha, và nó sẽ dịch âm thanh tiếng Tây Ban Nha sang tiếng Anh.
with open("Audio/easy_spanish_315.mp3", "rb") as audio_file:
translate = openai.Audio.translate(
file = audio_file,
model = "whisper-1",
response_format="text",
language="en"
)
print(translate)
What do you think artificial intelligence is? What do I think it is? I don't know how to describe it. Something that is not natural, obviously. Artificial intelligence is, through data, introduced to an algorithm.
Hãy thử ví dụ này bằng cách truy cập sổ tay DataLab này. Nó có sẵn tệp âm thanh và mã nguồn. Bạn chỉ cần tạo một bản sao sổ tay và thiết lập biến môi trường để chạy.
Ngoài ra, hãy xem hướng dẫn Sử dụng ChatGPT qua OpenAI API trong Python. Hướng dẫn này sẽ dạy bạn cách dùng OpenAI API cho chat completions với mô hình gpt-3.5-turbo.
Chúng ta có thể cải thiện chất lượng phiên âm bằng cách dùng đối số prompt. Bằng cách cung cấp một phần phiên âm trong đối số prompt, chúng ta giúp mô hình hiểu phong cách viết, dấu câu, viết hoa và chính tả.
Hạn chế lớn của hệ thống nhắc hiện tại là nó cho rất ít quyền kiểm soát đối với văn bản được tạo. Hơn nữa, quá trình nhắc không thể tự động hóa, vì nó liên quan đến việc con người phiên âm thủ công một phần âm thanh.
Bạn có thể dùng ví dụ mã trong hướng dẫn này để tạo trợ lý giọng nói hoặc tạo J.A.R.V.I.S. như trong Iron Man. Để làm được điều đó, bạn chỉ cần tìm ra giao diện người dùng và cách kết hợp Whisper, chuyển văn bản thành giọng nói và ChatGPT API, điều mà chúng tôi đã đề cập trong buổi đào tạo trực tiếp này.
Nếu bạn mới dùng ChatGPT, bạn có thể học khóa Giới thiệu về ChatGPT để nắm các thực hành tốt khi viết prompt và biến ChatGPT thành giá trị cho doanh nghiệp. Và nếu bạn quan tâm đến việc tìm hiểu về GPT-4 và cách các mô hình sinh hoạt động, hãy đọc GPT-4 là gì và vì sao nó quan trọng? Bạn cũng có thể xem thêm một số tài nguyên dưới đây:
blog
Matt Crabtree
10 phút