Chat AI & Media
Chat assistant, sinh draft với RAG + web research, quản lý ảnh.
Chat AI & Media
Chat là AI assistant đa năng: trò chuyện, sinh draft với RAG + web research, quản lý ảnh và version history.
Chat Assistant
/dashboard/chat — conversations, sinh bài
Media
/dashboard/media — thư viện ảnh, signed URLs
Versions
Lịch sử draft versions, khôi phục
Bạn tìm thấy gì ở đâu
| Trang | Đường dẫn | Mô tả |
|---|---|---|
| Chat | /dashboard/chat | List conversations, thread messages, sinh draft |
| Media | /dashboard/media | Grid ảnh, upload, gắn vào draft |
Tạo bài bằng Chat
Tạo conversation: bấm New Chat → nhập tiêu đề.
Gõ prompt: ví dụ "Viết bài 1500 từ về cà phê specialty tại Hà Nội", chọn
documentIds và bật useWebSearch nếu cần.Hệ thống xử lý: check quota credits → RAG top chunks → Tavily web search 4-6 queries → gọi Claude (fallback GPT-4o) → chấm SEO → check citations + brand voice.
Nhận draft: HTML kèm citations, SEO score, brand voice similarity. Lưu vào
chat_draft_versions + ai_generation_logs.Chỉnh sửa: regenerate images, remove image, xem versions, restore version cũ.
getHistory có stale-image recovery: nếu signed URL ảnh hết hạn, server tự tạo lại trước khi trả về — bạn không cần làm gì.
Quản lý Chat
| Hành động | Mô tả |
|---|---|
listConversations | Danh sách, sort updated_at desc |
createConversation | Tạo mới |
getHistory | Messages + drafts trong conversation |
generateDraft | Sinh bài với RAG + web |
deleteConversation / renameConversation | Xóa / đổi tên |
regenerateImages / removeImage | Quản lý ảnh trong draft |
getDraftVersions / restoreDraftVersion | Lịch sử và khôi phục |
getChatSettings / getWebsearchQuota | Cài đặt và quota Tavily |
generateKeywordSuggestions | Gợi ý keywords |
regenerateContent / submitFeedback | Sinh lại nội dung, gửi feedback |
Media trong Chat
- Ảnh sinh bởi AI lưu ở
chat_image_assets(DALL-E / fal.ai) - Có thể regenerate từng ảnh với prompt mới
- Có thể remove ảnh khỏi draft trước khi publish
- Đường dẫn
tenant-mediaprivate, TTL 1h, tự regenerate
Quota & Chi phí
- Mỗi lần
generateDraftsẽ check credits/tokens trước — vượt hard cap sẽ bị block - Lịch sử tokens/cost được log trong
ai_generation_logsvớimodel,input/output_tokens,cost_usd,prompt_version - Xem quota còn lại qua
getWebsearchQuota(Tavily) vàcredits(AI tokens)
Lưu ý
- Chat prefetch
getChatSettings,getWebsearchQuota,credits.pricingRules,settings.getBrandVoice,listConversationskhi vào trang - Nếu
CHAT_UI_MOCKbật, list conversations sẽ skip prefetch - Brand voice được inject vào prompt — cập nhật brand voice sẽ ảnh hưởng bài sinh sau đó