Files
orangepi-rag/README.md
T
2026-06-14 20:46:55 +07:00

2.2 KiB

Blog RAG

Hệ thống Retrieval-Augmented Generation (RAG) cho blog orangepi.vn — trợ lý AI trả lời câu hỏi về sản phẩm Orange Pi dựa trên dữ liệu thực tế.

Tính năng

  • Truy vấn ngữ nghĩa qua FAISS + sentence-transformers (hỗ trợ tiếng Việt)
  • Giao diện web với quản lý phiên chat, lịch sử hội đồng, hiển thị markdown
  • Chế độ Light/Dark mode
  • Dữ liệu sẵn có: 199 bài viết orangepi.vn, 36 model Orange Pi
  • API tương thích OpenAI (OpenAI, Together.ai, Groq, v.v.)

Cài đặt

pip install -r requirements.txt
cp .env.example .env
# Chỉnh sửa .env — điền LLM_API_KEY

Sử dụng nhanh

# Chạy web UI với dữ liệu orangepi.vn có sẵn
python web_app.py --data-dir ./orangepi_data --index-dir ./orangepi_data/rag_index --port 5000

Mở trình duyệt tại http://localhost:5000 → tạo phiên mới → đặt câu hỏi.

Lưu ý: Lần đầu cần build index trước khi chạy web. Xem hướng dẫn chi tiết tại HDSD.md.

Cấu trúc thư mục

orangepi-rag/
├── web_app.py                  # Web server (Flask)
├── rag_app.py                  # Core RAG pipeline (FAISS + LLM)
├── crawl_blog.py               # Crawler tổng quát (Firecrawl + sitemap)
├── crawl_orangepi_blog.py      # Crawler đặc thù orangepi.vn
├── keywords_example.json       # Ví dụ từ khóa theo danh mục
├── requirements.txt            # Dependencies
├── .env.example                # Template API key
├── orangepi_data/              # Dữ liệu orangepi.vn đã crawl
│   ├── articles.jsonl
│   ├── chunks.jsonl
│   ├── orangepi_models.json
│   └── ...
├── templates/index.html        # HTML template
├── static/
│   ├── app.js                  # Frontend JavaScript
│   └── style.css               # Styles (Dark/Light theme)
└── HDSD.md                     # Hướng dẫn sử dụng chi tiết

Tài liệu

  • HDSD.md — Hướng dẫn sử dụng chi tiết (cài đặt, crawl dữ liệu, build index, chạy web)