Chat openai hiện đang là chủ đề hot trên thế giới. Mình khá lười bấm keyboard và đọc chữ, nên mình đã viết một đoạn code nhỏ lấy giọng nói của mình từ micro, và trả lời câu hỏi của mình sử dụng api của openai . ...

Mục tiêu

Chatbot dùng micro laptop sẽ nhận thông tin và trả lời câu hỏi của người dùng nói bằng tiếng Việt, sử dụng API chat gpt 3.5 của ChatGPT (account chat gpt free) hoặc Bard Google.

Yêu cầu

  • Chatbot phải có thể nhận diện giọng nói của người dùng.
  • Chatbot phải có thể hiểu và trả lời các câu hỏi của người dùng bằng tiếng Việt.
  • Chatbot phải sử dụng API của ChatGPT và Bard Google để trả lời các câu hỏi của người dùng.
  • YC phụ: chatbot hoạt động càng nhanh càng tốt

Thiết kế

Chatbot sẽ được thiết kế theo mô hình sau:

Micro laptop
|
|
+-- Nhận dạng giọng nói
|
|
+-- Xử lý ngôn ngữ tự nhiên
|
|
+-- API ChatGPT hoặc API Bard Google
|
|
+-- Trả lời người dùng

Nhận dạng giọng nói

Nhận dạng giọng nói sẽ được thực hiện bằng cách sử dụng thư viện SpeechRecognition của Python. Thư viện này cung cấp các chức năng để nhận dạng giọng nói của người dùng từ âm thanh đầu vào.

Xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên sẽ được thực hiện bằng cách sử dụng thư viện NLTK của Python. Thư viện này cung cấp các chức năng để phân tích và hiểu ngôn ngữ tự nhiên.

API ChatGPT

API ChatGPT sẽ được sử dụng để trả lời các câu hỏi của người dùng mà có thể trả lời bằng cách tạo văn bản. Ví dụ, nếu người dùng hỏi “Thủ đô của Việt Nam là gì?”, ChatGPT sẽ trả lời “Thủ đô của Việt Nam là Hà Nội”.

API Bard Google

API Bard Google sẽ được sử dụng để trả lời các câu hỏi của người dùng mà không thể trả lời bằng cách tạo văn bản. Ví dụ, nếu người dùng hỏi “Số điện thoại của tổng đài điện lực là gì?”, Bard Google sẽ trả lời “Số điện thoại của tổng đài điện lực là 1900 545454”.

Cài đặt

Python là ngôn ngữ phổ biến, nhiều người hỗ trợ, dễ code dễ bảo trì. Python có rất nhiều tác dụng như dựng backend, crawler scrapy,…

Để cài đặt chatbot, cần cài đặt các thư viện sau:

import openai
import os
from gtts import gTTS
import speech_recognition as sr
from playsound import playsound
from pydub import AudioSegment
from pydub.playback import play
import time
from time import strftime
import yaml

Chức năng chuyển văn bản thành âm thanh

def speak(data):
    global is_speaking
    try:
        # Chuyển đổi văn bản thành giọng nói
        audio = gTTS(remove_word(remove_word(data, "Thomas"), "thomas"), lang='vi')
        audio.save(str(path_file_temp))
        playsound(path_file_temp)
    except Exception as e:
        print(e)
    finally:
        print("Chuyển đổi văn bản thành giọng nói")

    return True

Chạy

Để chạy chatbot, cần khởi động chương trình sau:

python chatbot.py

bạn có thể chạy trên jupyter python còn lập trình python mình dùng pycharm là ide của python trên windows và python tải trên pythonorg. Ví dụ

Dưới đây là một ví dụ về cách chatbot trả lời câu hỏi của người dùng:

Người dùng: Thủ đô của Việt Nam là gì?
Chatbot: Thủ đô của Việt Nam là Hà Nội.

Tương lai

Chatbot có thể được cải thiện bằng cách sử dụng các kỹ thuật sau:

  • Sử dụng các mô hình ngôn ngữ lớn hơn, chẳng hạn như Megatron-Turing NLG.
  • Sử dụng các mô hình học máy tiên tiến hơn, chẳng hạn như học máy tăng cường.
  • Sử dụng các dữ liệu huấn luyện lớn hơn và đa dạng hơn.




comments powered by Disqus


"Một người đàn ông không dành thời gian cho gia đình, không bao giờ có thể trở thành đàn ông thực sự."

The Godfather


Ủng hộ Anh hàng xóm

Bạn có thể vào đây để xem "kẻ dại khờ" chia sẻ cảm nhận về những cuốn sách mà kẻ đó cho là hay!

Chúc một buổi sáng vui vẻ!!👨‍🚀


Anh hàng xóm

'Anh hàng xóm' là blog phi lợi nhuận, miễn phí - Sự ủng hộ của bạn luôn là điều quan trọng giúp blog tồn tại cùng với đó là phát triển mạnh mẽ hơn nữa. Bạn có thể ủng hộ cho blog
ヾ (⌐ ■ _ ■) ノ ♪


Anh Hàng Xóm

Anh Hàng Xóm

Xin chào, tôi là lập trình viên backend. Với đam mê chụp ảnh, lập trình và đi chơi. Tôi xây dựng blog với mục đích là chia sẻ kinh nghiêm coder, cuộc sống thường ngày và sức khỏe cho developer .

Trang web của bạn đã được xem: lần