mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-12 20:15:26 +00:00
feat: air-gapped deployment guide, no implicit downloads
- Ship tiktoken's cl100k_base inside the package and build the encoding from it, so token counting never downloads anything. - Default EMBEDDINGS_CACHE_DIR to <data home>/models instead of FastEmbed's temp dir, and read tokenizer.json and repo metadata from that cache, so a model downloads once and survives reboots. - TTS_PROVIDER=none and STT_PROVIDER=none switch the speech features off: the endpoints return 404, audio files fail to ingest with a clear message, /api/config reports tts_available/stt_available, and the UI hides the Speak and microphone buttons. - Drop the Google Fonts Roboto import from the web UI. - prefetch-models fills the cache the app reads; verify-offline checks the packaged encoding. - Docs: new Air-Gapped Deployment guide, settings and cache notes.
This commit is contained in:
1 parent
ca69d1ea29
commit
7da46c2bea
38 files changed
+100892
-95
No files matched your search
@@ -30,6 +30,7 @@ import {
|
||||
selectSelectedDocs,
|
||||
selectSelectedModel,
|
||||
selectSourceDocs,
|
||||
selectSttAvailable,
|
||||
selectToken,
|
||||
setSelectedDocs,
|
||||
} from '../preferences/preferenceSlice';
|
||||
@@ -348,6 +349,7 @@ export default function MessageInput({
|
||||
const token = useSelector(selectToken);
|
||||
const attachments = useSelector(selectAttachments);
|
||||
const selectedModel = useSelector(selectSelectedModel);
|
||||
const sttAvailable = useSelector(selectSttAvailable);
|
||||
const unreadableAttachmentIds = useMemo(
|
||||
() =>
|
||||
new Set(
|
||||
@@ -1771,7 +1773,7 @@ export default function MessageInput({
|
||||
loading={toolsLoading}
|
||||
/>
|
||||
)}
|
||||
{ENABLE_VOICE_INPUT && (
|
||||
{ENABLE_VOICE_INPUT && sttAvailable && (
|
||||
<MicButton
|
||||
recordingState={recordingState}
|
||||
loading={loading}
|
||||
|
||||
Reference in new issue
Block a user