Thúy Hà Copilot là một chatbot chạy trên ứng dụng Telegram, được xây dựng trên NestJS và sử dụng mô hình ngôn ngữ lớn của Google. Chatbot được cung cấp khả năng ghi nhớ thông qua Langchain và PostgreSQL, giúp tăng cường khả năng tương tác tự nhiên và thông minh với người dùng.
- Kết hợp Langchain và PostgreSQL để lưu trữ và truy xuất thông tin từ các hội thoại trước đó. Tăng cường khả năng tương tác tự nhiên và thông minh với người dùng.
- Retrieval QA: Trả lời các câu hỏi dựa trên kiến thức đã học từ các nguồn dữ liệu khác như tài liệu PDF, DOCX, ... (đang phát triển).
- NodeJS 20.x trở lên
- PNPM (đề xuất sử dụng phiên bản mới nhất)
- PostgreSQL 14.x trở lên (đề xuất sử dụng phiên bản của Supabase)
-
Cài đặt NodeJS và PNPM
-
NodeJS: Hãy truy cập trang chủ NodeJS để tải và cài đặt.
-
PNPM: Sau khi cài đặt NodeJS, mở Terminal (hoặc Command Prompt) và chạy lệnh sau để cài đặt PNPM:
npm install -g pnpm
-
-
Cài đặt PostgreSQL
- PostgreSQL: Hãy truy cập trang chủ PostgreSQL để tải và cài đặt.
- Supabase: Nếu bạn chọn sử dụng Supabase, hãy truy cập trang chủ Supabase để tạo và cấu hình database.
-
Clone dự án từ repository
git clone <đường dẫn đến repository>
-
Cài đặt các dependencies của dự án
cd <tên thư mục dự án> pnpm install
Tạo file .env trong thư mục gốc của dự án và thêm các biến môi trường sau:
GOOGLE_API_KEY='' # API Key của Google Cloud Platform (https://ai.google.dev/tutorials/setup)
TELEGRAM_ALLOWED_USER_IDS='id1,id2' # ID của người dùng Telegram được phép truy cập
TELEGRAM_BOT_TOKEN='' # Token của bot Telegram
PG_HOST=''
PG_PORT=5432
PG_USER=''
PG_PASSWORD=''
PG_DATABASE=''Điền thông tin cần thiết vào các biến môi trường trên.
Lấy Telegram Bot Token:
Để lấy Telegram Bot Token, làm theo các bước sau:
- Mở Telegram và tìm kiếm
@BotFather. - Tạo bot mới bằng cách gửi lệnh
/newbotvà làm theo hướng dẫn. - Sau khi tạo bot thành công,
@BotFathersẽ cung cấp cho bạn một token. Hãy copy token này và dán vào biếnTELEGRAM_BOT_TOKENtrong file.env.
Để chạy dự án, sử dụng lệnh sau:
pnpm start # hoặc pnpm start:devChúc bạn thành công!
