Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 2 — Thiết lập môi trường: chọn model, tool và bảo mật dữ liệu

Đã đọc 0/9 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Trước khi viết dòng code đầu tiên, phải quyết định ba thứ: chạy model ở đâu, dùng công cụ gì, và bảo vệ dữ liệu nhạy cảm ra sao. Với legal, bảo mật không phải tùy chọn — nó là yêu cầu bắt buộc.

1. Chọn model: đánh đổi năng lực vs. bảo mật

Lựa chọnƯuNhượcDùng khi
API cloud (GPT, Claude, Gemini)Mạnh nhất, dễ dùngDữ liệu rời khỏi hạ tầngDữ liệu đã ẩn danh, có DPA (Data Processing Agreement)
Model self-host (Llama, Qwen)Dữ liệu không rời máyCần GPU, chất lượng thấp hơnHợp đồng chứa bí mật tối mật
Cloud có cam kết no-trainingCân bằngChi phí cao hơnĐa số doanh nghiệp
Nguyên tắc: với hợp đồng thật chưa ẩn danh, ưu tiên endpoint doanh nghiệp có cam kết không dùng dữ liệu để train và có ký DPA. Đừng dán hợp đồng khách hàng vào chatbot công cộng miễn phí.

2. Kiến trúc tối thiểu

[Tài liệu] -> [Trích xuất văn bản] -> [Chunking] -> [Vector store]
                                                       |
[Câu hỏi/tác vụ] -> [Agent orchestrator] --tra cứu--> [Vector store]
                          |
                          +--gọi--> [LLM] -> [Output + trích nguồn]
                          |
                          +--> [Log + human review]

Các thành phần:

  • Trích xuất văn bản: đọc PDF/DOCX ra text (ví dụ thư viện PdfParser).
  • Vector store: lưu embedding để tra cứu ngữ nghĩa (Chroma, Qdrant, pgvector).
  • Orchestrator: khung điều phối (LangChain, LlamaIndex, hoặc tự viết).
  • Log: lưu lại prompt, output, nguồn trích dẫn — bắt buộc cho audit.

3. Cấu hình biến môi trường (ví dụ)

# .env — KHÔNG commit vào git
LLM_PROVIDER=azure_openai        # endpoint doanh nghiệp, no-training
LLM_API_KEY=sk-xxxx
LLM_MODEL=gpt-4o
EMBED_MODEL=text-embedding-3-large
VECTOR_DB_URL=http://localhost:6333
DATA_RETENTION_DAYS=30           # tự xoá log sau 30 ngày
PII_REDACTION=on                 # bật ẩn danh trước khi gửi model

4. Các bước thiết lập

  • Chọn endpoint có cam kết bảo mật phù hợp mức nhạy cảm dữ liệu.
  • Cài orchestrator + vector store (bắt đầu bằng bản local để test).
  • Viết lớp redaction: thay tên người, số CMND/CCCD, số tài khoản bằng placeholder trước khi gửi model.
  • Bật logging: lưu mọi request/response kèm timestamp và user.
  • Đặt retention policy: tự động xoá dữ liệu tạm sau X ngày.
  • Test bằng 1 tài liệu ẩn danh để xác nhận luồng chạy end-to-end.

5. Ví dụ lớp redaction (pseudocode)

import re

def redact(text):
    # Ẩn số CCCD (12 số), số điện thoại, email
    text = re.sub(r"\b\d{12}\b", "[CCCD]", text)
    text = re.sub(r"\b0\d{9}\b", "[PHONE]", text)
    text = re.sub(r"[\w.]+@[\w.]+", "[EMAIL]", text)
    return text

# Luôn redact TRƯỚC khi gửi lên LLM
safe_text = redact(raw_contract)

Lưu ý: redaction bằng regex chỉ là lớp phòng vệ đầu; với dữ liệu tối mật vẫn nên self-host.

Khung tư duy: Phân loại dữ liệu 3 mức

Mức Xanh  (public):     hợp đồng mẫu công khai  -> API cloud thoải mái.
Mức Vàng  (internal):   hợp đồng đã ẩn danh     -> cloud có DPA + redaction.
Mức Đỏ    (confidential): bí mật KD, dữ liệu KH -> self-host hoặc không dùng LLM.

Checklist thiết lập

  • [ ] Endpoint có cam kết no-training + DPA?
  • [ ] Lớp redaction chạy trước mọi lần gọi model?
  • [ ] Logging bật và có retention policy?
  • [ ] .env nằm trong .gitignore?
  • [ ] Đã test end-to-end với 1 tài liệu ẩn danh?

Sai lầm thường gặp

  • Dùng chatbot công cộng cho hợp đồng thật: rò rỉ dữ liệu khách hàng, có thể vi phạm hợp đồng bảo mật.
  • Commit API key vào git: khoá bị lộ, ai cũng dùng được và tính tiền vào tài khoản bạn.
  • Bỏ qua logging: khi agent sai, không có bằng chứng để điều tra.
  • Tin rằng redaction regex là đủ: nó bỏ sót tên riêng, địa danh; đừng dựa hoàn toàn.
  • Chọn model mạnh nhất bất chấp bảo mật: năng lực vô nghĩa nếu vi phạm nghĩa vụ bảo mật.
Bài sau: nạp tài liệu và xây khả năng tra cứu (RAG) — nền tảng để agent trả lời có trích nguồn.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi