Files
dinlo 4655401fd3 Initial commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:45:38 +08:00

288 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🌐 Ollama Translator - Русский переводчик
Uncensored модель-переводчик на русский язык на базе Qwen3-14B-abliterated с современным графическим интерфейсом.
![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)
![Ollama](https://img.shields.io/badge/Ollama-Latest-green.svg)
![License](https://img.shields.io/badge/License-MIT-yellow.svg)
## 📋 Содержание
- [Возможности](#-возможности)
- [Установка](#-установка)
- [Использование](#-использование)
- [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
---
**Приятного использования! 🚀**