feat(desktop): LLM 기본 모델 qwen3:4b → gemma4:e4b 전면 전환 + think:false 안전장치
qwen3:4b가 reasoning 모델이라 <think>...</think> 블록을 길게 생성 → stripReasoningBlocks 후 빈 문자열 → 원본 transcript fallback으로 끝나면서 LLM refine이 42초 걸리는 병목 발견. Google Gemma 4 e4b(4.5B effective params, 2026-04-02 릴리스)로 교체. non-reasoning 기본 + Ollama v0.20+ think: false 파라미터로 2중 방어. 실측 결과: 받아쓰기 한 사이클 51.4s → 5.5s (9.3배 빠름). STT 500ms + LLM 3,925ms + insert 1,092ms. refine 품질 정상 동작 확인: "테스트하는 중입니다" → "테스트하고 있습니다". - LocalLLMService: 3개 fallback 기본값 변경(generate / streamGenerate / chatStream) + Ollama 요청 body에 think: false 명시 추가. non-reasoning 모델은 무시, reasoning 모델은 thinking 토큰 차단. NO_THINK 주석을 legacy 설명으로 업데이트 — qwen3/deepseek-r1 수동 선택자를 위한 3중 방어(/no_think + think:false + stripReasoningBlocks) 명시. - OnboardingModal / OllamaGuideModal: pull 명령어 갱신 - 테스트 fixture 갱신 - 12개 i18n locale JSON: settings.ollamaHint / ollama.step2.alt 키 업데이트 (qwen3:4b → gemma4:e4b, qwen3:8b → gemma4:26b) - 10개 site i18n locale TS + HowItWorks.tsx 파이프라인 시각화 — detail 문자열 'qwen3 / llama3 / gemma3' → 'gemma4 / llama3.2 / phi4', 파이프라인 라벨 'qwen3:4b @ localhost' → 'gemma4:e4b @ localhost' - 설계서 00 LLMConfig 기본값 + CONFIG_DEFAULTS - 설계서 05: 6개 API 스키마 예시, 2개 OllamaClient 코드 예시, LLM 모델 추천 표 재정렬(gemma4:e4b 최상위, qwen3는 reasoning 경고와 함께 후순위), 권장 JSON 설정에 think:false 추가 - phase-14 meeting mode 컨텍스트 윈도우 표 갱신 - V2-5 Mac 부트스트랩 가이드 pull 커맨드 갱신 - project_status.md Part 7 전체 섹션 추가
This commit is contained in:
parent
a744551442
commit
d397bcbf57
32 changed files with 153 additions and 65 deletions
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Automatische Erkennung",
|
||||
"settings.ollamaServer": "Ollama-Server",
|
||||
"settings.ollamaUrl": "Ollama-Server-URL",
|
||||
"settings.ollamaHint": "D3RO Voice verbindet sich automatisch, wenn Ollama läuft. Lade Modelle direkt über Ollama herunter (z. B.: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "D3RO Voice verbindet sich automatisch, wenn Ollama läuft. Lade Modelle direkt über Ollama herunter (z. B.: ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Sprachnachbearbeitung",
|
||||
"settings.defaultAction": "Standard-Nachbearbeitungsaktion",
|
||||
"settings.action.none": "Keine (Originaltext unverändert)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama ist ein kostenloses Tool zum lokalen Ausführen von LLMs.",
|
||||
"ollama.step2.title": "SCHRITT 2 — Modell herunterladen",
|
||||
"ollama.step2.desc": "Führe den folgenden Befehl im Terminal aus, um das empfohlene Modell herunterzuladen:",
|
||||
"ollama.step2.alt": "Oder ein größeres Modell: ollama pull qwen3:8b (genauer, langsamer)",
|
||||
"ollama.step2.alt": "Oder ein größeres Modell: ollama pull gemma4:26b (genauer, langsamer)",
|
||||
"ollama.step3.title": "SCHRITT 3 — Automatische Verbindung",
|
||||
"ollama.step3.desc": "D3RO-VOICE erkennt automatisch, wenn Ollama läuft. Wenn die LED in der Statusleiste von Rot auf Grün wechselt, ist alles bereit!",
|
||||
"service.sttEngine": "STT-ENGINE",
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@
|
|||
"settings.sttLang.auto": "Auto-detect",
|
||||
"settings.ollamaServer": "Ollama Server",
|
||||
"settings.ollamaUrl": "Ollama Server URL",
|
||||
"settings.ollamaHint": "Connects automatically when Ollama is running. Pull models directly in Ollama (e.g. ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "Connects automatically when Ollama is running. Pull models directly in Ollama (e.g. ollama pull gemma4:e4b).",
|
||||
"settings.llmModel": "LLM Model",
|
||||
"settings.postProcess": "Voice Post-Processing",
|
||||
"settings.defaultAction": "Default Post-Processing Command",
|
||||
|
|
@ -187,7 +187,7 @@
|
|||
"ollama.step1.desc": "Ollama is a free tool for running LLMs locally.",
|
||||
"ollama.step2.title": "STEP 2 — Download a Model",
|
||||
"ollama.step2.desc": "Pull a model from your terminal. Recommended:",
|
||||
"ollama.step2.alt": "Or a larger model: ollama pull qwen3:8b (more accurate, slower)",
|
||||
"ollama.step2.alt": "Or a larger model: ollama pull gemma4:26b (more accurate, slower)",
|
||||
"ollama.step3.title": "STEP 3 — Auto-Connect",
|
||||
"ollama.step3.desc": "Once Ollama is running, D3RO-VOICE will detect it automatically. When the status bar LED turns from red to green, you're ready!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Detección automática",
|
||||
"settings.ollamaServer": "Servidor Ollama",
|
||||
"settings.ollamaUrl": "URL del servidor Ollama",
|
||||
"settings.ollamaHint": "D3RO Voice se conecta automáticamente cuando Ollama está en ejecución. Descarga modelos directamente desde Ollama (ej: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "D3RO Voice se conecta automáticamente cuando Ollama está en ejecución. Descarga modelos directamente desde Ollama (ej: ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Postprocesado de voz",
|
||||
"settings.defaultAction": "Acción de postprocesado predeterminada",
|
||||
"settings.action.none": "Ninguna (texto original sin cambios)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama es una herramienta gratuita para ejecutar LLMs de forma local.",
|
||||
"ollama.step2.title": "PASO 2 — Descargar un modelo",
|
||||
"ollama.step2.desc": "Ejecuta el siguiente comando en la terminal para descargar el modelo recomendado:",
|
||||
"ollama.step2.alt": "O un modelo más grande: ollama pull qwen3:8b (más preciso, más lento)",
|
||||
"ollama.step2.alt": "O un modelo más grande: ollama pull gemma4:26b (más preciso, más lento)",
|
||||
"ollama.step3.title": "PASO 3 — Conexión automática",
|
||||
"ollama.step3.desc": "D3RO-VOICE detecta automáticamente cuando Ollama está en ejecución. Cuando el LED de la barra de estado pase de rojo a verde, ¡estará listo!",
|
||||
"service.sttEngine": "MOTOR STT",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Détection automatique",
|
||||
"settings.ollamaServer": "Serveur Ollama",
|
||||
"settings.ollamaUrl": "URL du serveur Ollama",
|
||||
"settings.ollamaHint": "D3RO Voice se connecte automatiquement quand Ollama est en cours d'exécution. Téléchargez les modèles directement depuis Ollama (ex : ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "D3RO Voice se connecte automatiquement quand Ollama est en cours d'exécution. Téléchargez les modèles directement depuis Ollama (ex : ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Post-traitement vocal",
|
||||
"settings.defaultAction": "Action de post-traitement par défaut",
|
||||
"settings.action.none": "Aucune (texte original inchangé)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama est un outil gratuit pour exécuter des LLM en local.",
|
||||
"ollama.step2.title": "ÉTAPE 2 — Télécharger un modèle",
|
||||
"ollama.step2.desc": "Exécutez la commande suivante dans le terminal pour télécharger le modèle recommandé :",
|
||||
"ollama.step2.alt": "Ou un modèle plus grand : ollama pull qwen3:8b (plus précis, plus lent)",
|
||||
"ollama.step2.alt": "Ou un modèle plus grand : ollama pull gemma4:26b (plus précis, plus lent)",
|
||||
"ollama.step3.title": "ÉTAPE 3 — Connexion automatique",
|
||||
"ollama.step3.desc": "D3RO-VOICE détecte automatiquement quand Ollama est en cours d'exécution. Quand la LED de la barre d'état passe du rouge au vert, c'est prêt !",
|
||||
"service.sttEngine": "MOTEUR STT",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "自動検出",
|
||||
"settings.ollamaServer": "Ollamaサーバー",
|
||||
"settings.ollamaUrl": "OllamaサーバーURL",
|
||||
"settings.ollamaHint": "Ollamaが起動していれば自動的に接続されます。モデルはOllamaから直接pullしてください(例: ollama pull qwen3:4b)。",
|
||||
"settings.ollamaHint": "Ollamaが起動していれば自動的に接続されます。モデルはOllamaから直接pullしてください(例: ollama pull gemma4:e4b)。",
|
||||
"settings.postProcess": "音声後処理",
|
||||
"settings.defaultAction": "デフォルト後処理コマンド",
|
||||
"settings.action.none": "なし (元のテキストをそのまま)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "OllamaはローカルでLLMを実行するための無料ツールです。",
|
||||
"ollama.step2.title": "STEP 2 — モデルのダウンロード",
|
||||
"ollama.step2.desc": "ターミナルで希望のモデルをpullしてください。日本語におすすめ:",
|
||||
"ollama.step2.alt": "または大きいモデル: ollama pull qwen3:8b (より正確、より遅い)",
|
||||
"ollama.step2.alt": "または大きいモデル: ollama pull gemma4:26b (より正確、より遅い)",
|
||||
"ollama.step3.title": "STEP 3 — 自動接続",
|
||||
"ollama.step3.desc": "Ollamaが起動するとD3RO-VOICEが自動的に検出します。下部ステータスバーのLEDが赤から緑に変われば準備完了!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@
|
|||
"settings.sttLang.auto": "자동 감지",
|
||||
"settings.ollamaServer": "Ollama 서버",
|
||||
"settings.ollamaUrl": "Ollama 서버 URL",
|
||||
"settings.ollamaHint": "Ollama가 실행 중이면 자동으로 연결됩니다. 모델은 Ollama에서 직접 pull하세요 (예: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "Ollama가 실행 중이면 자동으로 연결됩니다. 모델은 Ollama에서 직접 pull하세요 (예: ollama pull gemma4:e4b).",
|
||||
"settings.llmModel": "LLM 모델",
|
||||
"settings.postProcess": "음성 후처리",
|
||||
"settings.defaultAction": "기본 후처리 명령어",
|
||||
|
|
@ -188,7 +188,7 @@
|
|||
"ollama.step1.desc": "Ollama는 로컬에서 LLM을 실행하는 무료 도구입니다.",
|
||||
"ollama.step2.title": "STEP 2 — 모델 다운로드",
|
||||
"ollama.step2.desc": "터미널에서 원하는 모델을 pull하세요. 한국어에 추천:",
|
||||
"ollama.step2.alt": "또는 더 큰 모델: ollama pull qwen3:8b (더 정확, 더 느림)",
|
||||
"ollama.step2.alt": "또는 더 큰 모델: ollama pull gemma4:26b (더 정확, 더 느림)",
|
||||
"ollama.step3.title": "STEP 3 — 자동 연결",
|
||||
"ollama.step3.desc": "Ollama가 실행되면 D3RO-VOICE가 자동으로 감지합니다. 하단 상태 바의 LED가 빨간색에서 초록색으로 바뀌면 준비 완료!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Detecção automática",
|
||||
"settings.ollamaServer": "Servidor Ollama",
|
||||
"settings.ollamaUrl": "URL do servidor Ollama",
|
||||
"settings.ollamaHint": "D3RO Voice conecta-se automaticamente quando o Ollama está em execução. Baixe modelos diretamente pelo Ollama (ex: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "D3RO Voice conecta-se automaticamente quando o Ollama está em execução. Baixe modelos diretamente pelo Ollama (ex: ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Pós-processamento de voz",
|
||||
"settings.defaultAction": "Ação de pós-processamento padrão",
|
||||
"settings.action.none": "Nenhuma (texto original sem alterações)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "O Ollama é uma ferramenta gratuita para executar LLMs localmente.",
|
||||
"ollama.step2.title": "PASSO 2 — Baixar um modelo",
|
||||
"ollama.step2.desc": "Execute o seguinte comando no terminal para baixar o modelo recomendado:",
|
||||
"ollama.step2.alt": "Ou um modelo maior: ollama pull qwen3:8b (mais preciso, mais lento)",
|
||||
"ollama.step2.alt": "Ou um modelo maior: ollama pull gemma4:26b (mais preciso, mais lento)",
|
||||
"ollama.step3.title": "PASSO 3 — Conexão automática",
|
||||
"ollama.step3.desc": "D3RO-VOICE detecta automaticamente quando o Ollama está em execução. Quando o LED da barra de status mudar de vermelho para verde, está pronto!",
|
||||
"service.sttEngine": "MOTOR STT",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Автоопределение",
|
||||
"settings.ollamaServer": "Сервер Ollama",
|
||||
"settings.ollamaUrl": "URL сервера Ollama",
|
||||
"settings.ollamaHint": "Если Ollama запущена, подключение произойдёт автоматически. Загружайте модели напрямую через Ollama (например: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "Если Ollama запущена, подключение произойдёт автоматически. Загружайте модели напрямую через Ollama (например: ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Постобработка речи",
|
||||
"settings.defaultAction": "Команда постобработки по умолчанию",
|
||||
"settings.action.none": "Нет (оригинальный текст)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama — бесплатный инструмент для локального запуска LLM.",
|
||||
"ollama.step2.title": "ШАГ 2 — Загрузка модели",
|
||||
"ollama.step2.desc": "Загрузите нужную модель через терминал. Рекомендуется:",
|
||||
"ollama.step2.alt": "Или более крупная модель: ollama pull qwen3:8b (точнее, медленнее)",
|
||||
"ollama.step2.alt": "Или более крупная модель: ollama pull gemma4:26b (точнее, медленнее)",
|
||||
"ollama.step3.title": "ШАГ 3 — Автоподключение",
|
||||
"ollama.step3.desc": "При запуске Ollama D3RO-VOICE обнаружит её автоматически. Когда индикатор LED на нижней панели сменится с красного на зелёный — готово!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "ตรวจจับอัตโนมัติ",
|
||||
"settings.ollamaServer": "เซิร์ฟเวอร์ Ollama",
|
||||
"settings.ollamaUrl": "URL เซิร์ฟเวอร์ Ollama",
|
||||
"settings.ollamaHint": "หาก Ollama กำลังทำงาน จะเชื่อมต่ออัตโนมัติ ดาวน์โหลดโมเดลโดยตรงจาก Ollama (เช่น: ollama pull qwen3:4b)",
|
||||
"settings.ollamaHint": "หาก Ollama กำลังทำงาน จะเชื่อมต่ออัตโนมัติ ดาวน์โหลดโมเดลโดยตรงจาก Ollama (เช่น: ollama pull gemma4:e4b)",
|
||||
"settings.postProcess": "การประมวลผลเสียงหลังการบันทึก",
|
||||
"settings.defaultAction": "คำสั่งประมวลผลเริ่มต้น",
|
||||
"settings.action.none": "ไม่มี (ข้อความต้นฉบับ)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama เป็นเครื่องมือฟรีสำหรับรัน LLM ในเครื่อง",
|
||||
"ollama.step2.title": "ขั้นตอนที่ 2 — ดาวน์โหลดโมเดล",
|
||||
"ollama.step2.desc": "ดาวน์โหลดโมเดลที่ต้องการผ่านเทอร์มินัล แนะนำ:",
|
||||
"ollama.step2.alt": "หรือโมเดลที่ใหญ่กว่า: ollama pull qwen3:8b (แม่นยำกว่า ช้ากว่า)",
|
||||
"ollama.step2.alt": "หรือโมเดลที่ใหญ่กว่า: ollama pull gemma4:26b (แม่นยำกว่า ช้ากว่า)",
|
||||
"ollama.step3.title": "ขั้นตอนที่ 3 — เชื่อมต่ออัตโนมัติ",
|
||||
"ollama.step3.desc": "เมื่อ Ollama ทำงาน D3RO-VOICE จะตรวจพบโดยอัตโนมัติ เมื่อไฟ LED บนแถบสถานะเปลี่ยนจากสีแดงเป็นสีเขียว — พร้อมใช้งาน!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "Tự động phát hiện",
|
||||
"settings.ollamaServer": "Máy chủ Ollama",
|
||||
"settings.ollamaUrl": "URL máy chủ Ollama",
|
||||
"settings.ollamaHint": "Nếu Ollama đang chạy, kết nối sẽ tự động. Tải mô hình trực tiếp từ Ollama (ví dụ: ollama pull qwen3:4b).",
|
||||
"settings.ollamaHint": "Nếu Ollama đang chạy, kết nối sẽ tự động. Tải mô hình trực tiếp từ Ollama (ví dụ: ollama pull gemma4:e4b).",
|
||||
"settings.postProcess": "Hậu xử lý giọng nói",
|
||||
"settings.defaultAction": "Lệnh hậu xử lý mặc định",
|
||||
"settings.action.none": "Không có (văn bản gốc)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama là công cụ miễn phí để chạy LLM cục bộ.",
|
||||
"ollama.step2.title": "BƯỚC 2 — Tải mô hình",
|
||||
"ollama.step2.desc": "Tải mô hình bạn muốn qua terminal. Khuyến nghị:",
|
||||
"ollama.step2.alt": "Hoặc mô hình lớn hơn: ollama pull qwen3:8b (chính xác hơn, chậm hơn)",
|
||||
"ollama.step2.alt": "Hoặc mô hình lớn hơn: ollama pull gemma4:26b (chính xác hơn, chậm hơn)",
|
||||
"ollama.step3.title": "BƯỚC 3 — Tự động kết nối",
|
||||
"ollama.step3.desc": "Khi Ollama chạy, D3RO-VOICE sẽ tự động phát hiện. Khi đèn LED trên thanh trạng thái chuyển từ đỏ sang xanh — đã sẵn sàng!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "自動偵測",
|
||||
"settings.ollamaServer": "Ollama伺服器",
|
||||
"settings.ollamaUrl": "Ollama伺服器URL",
|
||||
"settings.ollamaHint": "Ollama執行時將自動連線。請直接在Ollama中pull模型(例如:ollama pull qwen3:4b)。",
|
||||
"settings.ollamaHint": "Ollama執行時將自動連線。請直接在Ollama中pull模型(例如:ollama pull gemma4:e4b)。",
|
||||
"settings.postProcess": "語音後處理",
|
||||
"settings.defaultAction": "預設後處理指令",
|
||||
"settings.action.none": "無(保留原始文字)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama是一款在本地端執行LLM的免費工具。",
|
||||
"ollama.step2.title": "STEP 2 — 下載模型",
|
||||
"ollama.step2.desc": "在終端機中pull所需模型。推薦繁體中文模型:",
|
||||
"ollama.step2.alt": "或更大的模型:ollama pull qwen3:8b(更精準,速度較慢)",
|
||||
"ollama.step2.alt": "或更大的模型:ollama pull gemma4:26b(更精準,速度較慢)",
|
||||
"ollama.step3.title": "STEP 3 — 自動連線",
|
||||
"ollama.step3.desc": "Ollama啟動後,D3RO-VOICE將自動偵測。底部狀態列的LED從紅色變為綠色即表示準備就緒!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
"settings.sttLang.auto": "自动检测",
|
||||
"settings.ollamaServer": "Ollama服务器",
|
||||
"settings.ollamaUrl": "Ollama服务器URL",
|
||||
"settings.ollamaHint": "Ollama运行时将自动连接。请直接在Ollama中pull模型(例如:ollama pull qwen3:4b)。",
|
||||
"settings.ollamaHint": "Ollama运行时将自动连接。请直接在Ollama中pull模型(例如:ollama pull gemma4:e4b)。",
|
||||
"settings.postProcess": "语音后处理",
|
||||
"settings.defaultAction": "默认后处理命令",
|
||||
"settings.action.none": "无(保留原始文本)",
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
"ollama.step1.desc": "Ollama是一款在本地运行LLM的免费工具。",
|
||||
"ollama.step2.title": "STEP 2 — 下载模型",
|
||||
"ollama.step2.desc": "在终端中pull所需模型。推荐中文模型:",
|
||||
"ollama.step2.alt": "或更大的模型:ollama pull qwen3:8b(更精准,更慢)",
|
||||
"ollama.step2.alt": "或更大的模型:ollama pull gemma4:26b(更精准,更慢)",
|
||||
"ollama.step3.title": "STEP 3 — 自动连接",
|
||||
"ollama.step3.desc": "Ollama启动后,D3RO-VOICE将自动检测。底部状态栏的LED从红色变为绿色即表示准备就绪!",
|
||||
"service.sttEngine": "STT ENGINE",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue