### What problem does this PR solve?
feat: render stats charts
feat: create api token
feat: delete api token
feat: add ChatApiKeyModal
feat: add RagLineChart
Issue link: #345
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
Show original text source in conversation messages
Issue link: #337
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
Update default language to English
### Type of change
- [x] Refactoring
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve?
historical chats appear in the new user's chat box
Issue link:#256
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
* feat: download documents on the document list page
* feat: add tooltip to Form.Item
* feat: set font family to inter
* feat: add loading to ChatContainer
* feat: add loading to all pages
* fix: disable sending messages if both application and conversation are empty
* feat: add chatSpin class to Spin of chat
* feat: install remark-gfm so that the markdown table can be displayed
* feat: fixed an issue where the default value for temperature was not set when creating a new chat
* feat: Fixed the issue where the greeting would disappear when clicking on a new dialog
* feat: replace favicon with logo.svg
* feat: if the backend returns 401, it will jump to the login page.
* feat: unavailable llm models appear disabled
* feat: display chunk token number when category of knowledge as general
* feat: set initial value for the model field of chat setting
* feat: add category column to chunk table
* feat: fetch knowledge detail on KnowledgeUploadFile mount
* feat: fixed the issue where ChatConfigurationModal displays old data when creating a new dialog
* feat: Add Skeleton to MessageItem before the backend returns a message