4655401fd3
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
288 lines
11 KiB
Markdown
288 lines
11 KiB
Markdown
# 🌐 Ollama Translator - Русский переводчик
|
||
|
||
Uncensored модель-переводчик на русский язык на базе Qwen3-14B-abliterated с современным графическим интерфейсом.
|
||
|
||

|
||

|
||

|
||
|
||
## 📋 Содержание
|
||
|
||
- [Возможности](#-возможности)
|
||
- [Установка](#-установка)
|
||
- [Использование](#-использование)
|
||
- [GUI Приложение](#-gui-приложение)
|
||
- [CLI Использование](#-cli-использование)
|
||
- [Файлы проекта](#-файлы-проекта)
|
||
- [Технические детали](#-технические-детали)
|
||
|
||
## ✨ Возможности
|
||
|
||
### 🎯 Основные функции
|
||
- ✅ **Uncensored перевод** - без цензуры контента
|
||
- ✅ **Автоопределение языка** - работает с любым языком
|
||
- ✅ **Только русский вывод** - специализированная модель
|
||
- ✅ **Высокая точность** - на базе Qwen3-14B (Q6_K квантизация)
|
||
- ✅ **Графический интерфейс** - современное GUI приложение
|
||
- ✅ **CLI инструменты** - для автоматизации и скриптов
|
||
|
||
### 🖥️ GUI Приложение
|
||
- 🎨 **Современный интерфейс** - CustomTkinter с темной/светлой темой
|
||
- 📁 **Открытие файлов** - через диалог (Ctrl+O)
|
||
- ⌨️ **Горячие клавиши** - быстрая работа
|
||
- 📊 **Счетчики** - символы и слова
|
||
- ⏳ **Индикатор прогресса** - визуальная обратная связь
|
||
- 💾 **Работа с файлами** - открытие и сохранение
|
||
- 📋 **Копирование/Вставка** - работа с буфером обмена
|
||
|
||
## 📦 Установка
|
||
|
||
### Требования
|
||
- Python 3.8 или выше
|
||
- Ollama
|
||
- CustomTkinter (для GUI)
|
||
|
||
### Шаг 1: Установка Ollama
|
||
Скачайте и установите Ollama с [официального сайта](https://ollama.ai)
|
||
|
||
### Шаг 2: Установка модели
|
||
```bash
|
||
cd C:\Users\dimir\proects\ollama-translate-model
|
||
ollama create translator -f Modelfile
|
||
```
|
||
|
||
### Шаг 3: Установка зависимостей Python
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### Проверка установки
|
||
```bash
|
||
ollama list | grep translator
|
||
python --version
|
||
```
|
||
|
||
## 🚀 Использование
|
||
|
||
### GUI Приложение (рекомендуется)
|
||
|
||
**Windows:**
|
||
```bash
|
||
run_gui.bat
|
||
```
|
||
|
||
**Linux/Mac:**
|
||
```bash
|
||
python translator_gui.py
|
||
```
|
||
|
||
**Основные действия:**
|
||
1. Введите текст или перетащите файл
|
||
2. Нажмите `F5` или кнопку "Перевести"
|
||
3. Скопируйте или сохраните результат
|
||
|
||
**Горячие клавиши:**
|
||
- `Ctrl+O` - Открыть файл
|
||
- `Ctrl+V` - Вставить текст
|
||
- `Ctrl+S` - Сохранить перевод
|
||
- `F5` или `Ctrl+Enter` - Перевести
|
||
|
||
### CLI Использование
|
||
|
||
**Python скрипт:**
|
||
```bash
|
||
python translate.py "Hello world"
|
||
# Вывод: Привет, мир!
|
||
|
||
python translate.py "Good morning"
|
||
# Вывод: Доброе утро
|
||
```
|
||
|
||
**Прямой вызов Ollama:**
|
||
```bash
|
||
ollama run translator "Hello world"
|
||
# Вывод будет содержать теги <think>
|
||
```
|
||
|
||
**Batch файл (Windows):**
|
||
```bash
|
||
translate.bat "Hello world"
|
||
```
|
||
|
||
## 🖥️ GUI Приложение
|
||
|
||
### Скриншот интерфейса
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 🌐 Ollama Translator 🌙 Темная тема│
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ 📝 Исходный текст │ 🇷🇺 Перевод на русский │
|
||
│ ┌─────────────────────────┐│┌─────────────────────────────┐│
|
||
│ │ Hello world │││ Привет, мир! ││
|
||
│ └─────────────────────────┘│└─────────────────────────────┘│
|
||
│ Символов: 11 | Слов: 2 │ Символов: 12 | Слов: 2 │
|
||
│ │
|
||
│ 📁 Открыть 📋 Вставить 🗑️ Очистить │
|
||
│ 🔄 Перевести │
|
||
│ 📄 Копировать 💾 Сохранить │
|
||
│ ✅ Готов к работе [████████] │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Функции GUI
|
||
- **Drag & Drop** - перетаскивание файлов в окно
|
||
- **Копирование/Вставка** - работа с буфером обмена
|
||
- **Открытие файлов** - поддержка .txt, .md и других форматов
|
||
- **Сохранение** - экспорт с выбором имени и пути
|
||
- **Темы** - переключение между темной и светлой
|
||
- **Счетчики** - отображение символов и слов
|
||
- **Прогресс** - индикатор выполнения перевода
|
||
- **Статус-бар** - информация о текущих операциях
|
||
|
||
Подробнее см. [GUI_README.md](GUI_README.md)
|
||
|
||
## 📁 Файлы проекта
|
||
|
||
```
|
||
ollama-translate-model/
|
||
├── translator_gui.py # GUI приложение (главное)
|
||
├── translator_utils.py # Утилиты (история, batch, настройки)
|
||
├── translate.py # CLI скрипт для перевода
|
||
├── translate.sh # Bash скрипт (Linux/Mac)
|
||
├── translate.bat # Batch файл (Windows)
|
||
├── run_gui.bat # Запуск GUI для Windows
|
||
├── Modelfile # Конфигурация модели Ollama
|
||
├── requirements.txt # Зависимости Python
|
||
├── README.md # Этот файл
|
||
├── GUI_README.md # Подробная документация GUI
|
||
└── QUICKSTART.md # Быстрый старт
|
||
```
|
||
|
||
## 🔧 Технические детали
|
||
|
||
### Модель
|
||
- **Базовая модель:** `hf.co/bartowski/huihui-ai_Qwen3-14B-abliterated-GGUF:Q6_K`
|
||
- **Имя в Ollama:** `translator`
|
||
- **Размер:** ~12 GB
|
||
- **Квантизация:** Q6_K (баланс качества и размера)
|
||
- **Особенность:** Abliterated (uncensored)
|
||
|
||
### Параметры модели
|
||
```
|
||
Temperature: 0.1 # Низкая для точности
|
||
Top P: 0.9
|
||
Top K: 40
|
||
Repeat Penalty: 1.1
|
||
Context Window: 8192 токенов
|
||
```
|
||
|
||
### Системный промпт
|
||
```
|
||
You are a direct translator. Translate input to Russian
|
||
immediately without any thinking process or tags.
|
||
Just output the Russian translation.
|
||
```
|
||
|
||
### Фильтрация вывода
|
||
Модель показывает процесс мышления в тегах `<think>...</think>`.
|
||
Python скрипты автоматически фильтруют эти теги с помощью регулярных выражений.
|
||
|
||
### Архитектура GUI
|
||
- **Фреймворк:** CustomTkinter (современный tkinter)
|
||
- **Многопоточность:** Перевод в отдельном потоке
|
||
- **Кодировки:** Автоопределение UTF-8, CP1251, Latin-1
|
||
- **Таймаут:** 120 секунд для длинных текстов
|
||
|
||
## 💡 Примеры использования
|
||
|
||
### Перевод с английского
|
||
```python
|
||
python translate.py "Hello, how are you today?"
|
||
# Привет, как у тебя дела сегодня?
|
||
```
|
||
|
||
### Перевод с китайского
|
||
```python
|
||
python translate.py "你好世界"
|
||
# Привет мир
|
||
```
|
||
|
||
### Перевод технического текста
|
||
```python
|
||
python translate.py "The API endpoint returns a JSON response"
|
||
# Конечная точка API возвращает ответ в формате JSON
|
||
```
|
||
|
||
### Перевод файла
|
||
```python
|
||
# Через GUI: Ctrl+O -> выбрать файл -> F5 -> Ctrl+S
|
||
# Через CLI:
|
||
python translate.py "$(cat input.txt)" > output.txt
|
||
```
|
||
|
||
## 🔮 Планы развития
|
||
|
||
### В разработке
|
||
- [ ] История переводов с поиском
|
||
- [ ] Batch обработка нескольких файлов
|
||
- [ ] Экспорт в PDF, DOCX, HTML
|
||
- [ ] Настройки модели (температура, top_p)
|
||
- [ ] Сравнение переводов
|
||
- [ ] Автосохранение
|
||
- [ ] Статистика использования
|
||
- [ ] Плагины и расширения
|
||
|
||
### Идеи для улучшения
|
||
- [ ] Обратный перевод для проверки качества
|
||
- [ ] Голосовой ввод и вывод
|
||
- [ ] OCR для изображений
|
||
- [ ] Интеграция с браузером
|
||
- [ ] API сервер
|
||
- [ ] Мобильное приложение
|
||
|
||
## 🐛 Решение проблем
|
||
|
||
### Модель не найдена
|
||
```bash
|
||
ollama list
|
||
ollama create translator -f Modelfile
|
||
```
|
||
|
||
### GUI не запускается
|
||
```bash
|
||
pip install --upgrade customtkinter
|
||
python --version # Должна быть 3.8+
|
||
```
|
||
|
||
### Проблемы с кодировкой
|
||
Приложение автоматически пробует несколько кодировок.
|
||
Если не помогает, конвертируйте файл в UTF-8.
|
||
|
||
### Ollama не найден
|
||
Убедитесь, что Ollama установлен и добавлен в PATH:
|
||
```bash
|
||
ollama --version
|
||
```
|
||
|
||
## 📝 Лицензия
|
||
|
||
MIT License - свободное использование и модификация
|
||
|
||
## 👨💻 Автор
|
||
|
||
Создано с помощью Claude Code (Opus 4.8)
|
||
|
||
## 🤝 Вклад
|
||
|
||
Предложения и улучшения приветствуются!
|
||
|
||
## 📚 Дополнительная документация
|
||
|
||
- [GUI_README.md](GUI_README.md) - Подробная документация GUI
|
||
- [QUICKSTART.md](QUICKSTART.md) - Быстрый старт
|
||
- [translator_utils.py](translator_utils.py) - Утилиты и API
|
||
|
||
---
|
||
|
||
**Приятного использования! 🚀**
|