mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-14 06:17:23 +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
@@ -1,7 +1,12 @@
|
||||
from typing import Optional
|
||||
|
||||
from docsgpt.stt.base import BaseSTT
|
||||
from docsgpt.stt.faster_whisper_stt import FasterWhisperSTT
|
||||
from docsgpt.stt.openai_stt import OpenAISTT
|
||||
|
||||
#: STT_PROVIDER value that switches speech-to-text off.
|
||||
DISABLED = "none"
|
||||
|
||||
|
||||
class STTCreator:
|
||||
stt_providers = {
|
||||
@@ -9,6 +14,11 @@ class STTCreator:
|
||||
"faster_whisper": FasterWhisperSTT,
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def is_enabled(stt_type: Optional[str]) -> bool:
|
||||
"""False when the provider is ``none`` or empty: speech-to-text is switched off."""
|
||||
return (stt_type or "").strip().lower() not in ("", DISABLED)
|
||||
|
||||
@classmethod
|
||||
def create_stt(cls, stt_type, *args, **kwargs) -> BaseSTT:
|
||||
stt_class = cls.stt_providers.get(stt_type.lower())
|
||||
|
||||
Reference in new issue
Block a user