Refining the speech-to-text conversion structure

This commit is contained in:
2026-09-22 11:02:08 +03:30
parent 17fb33b3e7
commit 4b335aa7ff
16 changed files with 634 additions and 333 deletions
+29 -7
View File
@@ -1,12 +1,12 @@
# Montact STT (Pipecat)
# Montact STT (Pipecat — Whisper محلی)
تبدیل صوت به متن — فقط STT. بدون TTS، بدون مکالمهٔ صوتی.
تبدیل صوت به متن — فقط STT. بدون TTS، بدون مکالمهٔ صوتی، **بدون GapGPT**.
Pipecat اینجا فقط `OpenAISTTService` را اجرا می‌کند (HTTP Whisper). مدل از API سازگار با OpenAI می‌آید (مثلاً GapGPT).
از [Pipecat](https://www.pipecat.ai/) سرویس `WhisperSTTService` استفاده می‌شود؛ مدل Faster-Whisper روی **همین سرور** اجرا می‌شود و کلید ابری لازم نیست.
## لوکال (ویندوز)
Python 3.11+ لازم است.
Python 3.11+ و ترجیحاً `ffmpeg` در PATH.
```powershell
cd apps/stt
@@ -16,8 +16,6 @@ pip install -r requirements.txt
copy .env.example .env
```
در `.env` همان `AI_API_KEY` / `AI_BASE_URL` پنل را بگذارید (`OPENAI_API_KEY` و `OPENAI_BASE_URL`).
```powershell
uvicorn main:app --host 127.0.0.1 --port 3040
```
@@ -30,4 +28,28 @@ STT_URL=http://127.0.0.1:3040
STT_INTERNAL_TOKEN=
```
اگر `STT_INTERNAL_TOKEN` را پر کردید، همان مقدار را در هر دو `.env` بگذارید.
## تنظیمات `apps/stt/.env`
| کلید | پیش‌فرض | توضیح |
|------|---------|--------|
| `STT_MODEL` | `small` | `tiny` / `base` / `small` / `medium` (فارسی: حداقل `small`) |
| `STT_DEVICE` | `cpu` | یا `cuda` اگر GPU دارید |
| `STT_COMPUTE_TYPE` | `int8` | برای CPU؛ روی GPU معمولاً `float16` |
| `STT_PROMPT` | متن فارسی فروش | راهنمای املا/اصطلاحات |
| `STT_INTERNAL_TOKEN` | خالی | اگر پر شود باید با API یکی باشد |
**دیگر به `OPENAI_API_KEY` / GapGPT برای دیکته نیاز نیست.**
اولین اجرا مدل را از Hugging Face دانلود می‌کند (چند صد مگابایت تا چند گیگ و بسته به مدل).
## سرور
```bash
cd /var/www/crm/apps/stt
source .venv/bin/activate # یا مسیر venv فعلی
pip install -r requirements.txt
# OPENAI_* را از .env بردارید یا نادیده بگیرید
pm2 restart mento-stt
```
اگر RAM کم است، `STT_MODEL=base` یا `tiny` بگذارید.