| # Удаление OpenAI - Переход на OpenRouter | |
| ## ✅ Выполненные изменения | |
| Проект полностью переведён на использование OpenRouter API. Поддержка OpenAI удалена. | |
| ### Изменённые файлы | |
| #### 1. `corrector/llm_corrector.py` | |
| - ✅ Удалён импорт `from openai import OpenAI` | |
| - ✅ Удалён импорт `time` | |
| - ✅ Убран параметр `provider` из конструктора | |
| - ✅ Удалена логика выбора провайдера | |
| - ✅ Удалён метод `_call_openai()` | |
| - ✅ Переименован `_call_openai_with_retry()` в `_call_api()` | |
| - ✅ Упрощён конструктор - работает только с OpenRouter | |
| #### 2. `corrector/config.py` | |
| - ✅ Удалены все настройки OpenAI: | |
| - `OPENAI_API_KEY` | |
| - `OPENAI_MODEL` | |
| - `OPENAI_TEMPERATURE` | |
| - `OPENAI_MAX_TOKENS` | |
| - ✅ Удалён параметр `LLM_PROVIDER` | |
| - ✅ Остались только настройки OpenRouter | |
| #### 3. `requirements.txt` | |
| - ✅ Удалена зависимость `openai>=1.0.0` | |
| - ✅ Остался только `requests>=2.31.0` для OpenRouter | |
| #### 4. `corrector/.env.example` | |
| - ✅ Удалены примеры настроек OpenAI | |
| - ✅ Удалён параметр `LLM_PROVIDER` | |
| - ✅ Остались только настройки OpenRouter | |
| #### 5. `README.md` (главный) | |
| - ✅ Обновлено описание возможностей | |
| - ✅ Убраны упоминания о выборе провайдера | |
| - ✅ Удалён параметр `--llm-provider` | |
| - ✅ Убран параметр `--openai-key` | |
| #### 6. `corrector/OPENROUTER.md` | |
| - ✅ Убраны упоминания о `LLM_PROVIDER` | |
| - ✅ Удалены примеры переключения провайдера | |
| - ✅ Удалён раздел "Сравнение с OpenAI" | |
| - ✅ Упрощена документация | |
| #### 7. `CHANGELOG_OPENROUTER.md` | |
| - ✅ Убраны упоминания о выборе провайдера | |
| - ✅ Удалён раздел "Обратная совместимость" | |
| - ✅ Удалены примеры с `provider="openrouter"` | |
| - ✅ Убраны параметры `--llm-provider` | |
| #### 8. `OPENROUTER_SUMMARY.md` | |
| - ✅ Обновлено описание изменений | |
| - ✅ Убраны упоминания о поддержке двух провайдеров | |
| - ✅ Удалены примеры переключения | |
| - ✅ Упрощён раздел "Быстрый старт" | |
| #### 9. `corrector/README.md` | |
| - ✅ Обновлено название (OpenRouter вместо OpenAI) | |
| - ✅ Изменены примеры настройки API ключа | |
| - ✅ Обновлён раздел "Настройки" | |
| ## 🔧 Новая структура | |
| ### Конфигурация (.env) | |
| ```bash | |
| # OpenRouter API (единственный провайдер) | |
| OPENROUTER_API_KEY=your-key-here | |
| OPENROUTER_MODEL=google/gemini-3-flash-preview | |
| OPENROUTER_TEMPERATURE=0.1 | |
| OPENROUTER_MAX_TOKENS=4000 | |
| # Общие настройки | |
| CORRECTION_ENABLED=true | |
| SAVE_DIFF=true | |
| LOG_CORRECTIONS=true | |
| MAX_RETRIES=3 | |
| RETRY_DELAY=2 | |
| ``` | |
| ### Использование | |
| #### Python | |
| ```python | |
| from corrector import MedicalLLMCorrector | |
| from knowledge_base import MedicalTermManager | |
| # Просто создаём корректор - он автоматически использует OpenRouter | |
| term_manager = MedicalTermManager("medical_terms.txt") | |
| corrector = MedicalLLMCorrector(term_manager=term_manager) | |
| # Коррекция | |
| corrected, changes = corrector.correct_transcription(text) | |
| ``` | |
| #### CLI | |
| ```bash | |
| # Без указания провайдера - всегда OpenRouter | |
| uv run transmed --audio test.wav --llm | |
| ``` | |
| #### Curl | |
| ```bash | |
| export OPENROUTER_API_KEY="your-key" | |
| ./test_openrouter_curl.sh "Текст для обработки" | |
| ``` | |
| ## 📦 Зависимости | |
| ### До изменений | |
| ``` | |
| openai>=1.0.0 | |
| python-dotenv>=1.0.0 | |
| requests>=2.31.0 | |
| ``` | |
| ### После изменений | |
| ``` | |
| python-dotenv>=1.0.0 | |
| requests>=2.31.0 | |
| ``` | |
| ## ✨ Преимущества | |
| 1. **Упрощение** - нет выбора провайдера, всё работает из коробки | |
| 2. **Меньше зависимостей** - не требуется библиотека openai | |
| 3. **Больше моделей** - доступ к Gemini, GPT, Claude, Llama и др. | |
| 4. **Reasoning mode** - поддержка для Gemini | |
| 5. **Гибкие цены** - выбор модели по бюджету | |
| ## 🎯 Миграция для пользователей | |
| Если вы использовали OpenAI: | |
| ### Было | |
| ```bash | |
| # .env | |
| OPENAI_API_KEY=sk-... | |
| LLM_PROVIDER=openai | |
| ``` | |
| ```python | |
| corrector = MedicalLLMCorrector( | |
| term_manager=term_manager, | |
| provider="openai" | |
| ) | |
| ``` | |
| ### Стало | |
| ```bash | |
| # .env | |
| OPENROUTER_API_KEY=your-key | |
| ``` | |
| ```python | |
| corrector = MedicalLLMCorrector(term_manager=term_manager) | |
| ``` | |
| ### Шаги миграции | |
| 1. Получите ключ OpenRouter: https://openrouter.ai/keys | |
| 2. Замените в `.env`: | |
| ```bash | |
| # Удалите | |
| OPENAI_API_KEY=sk-... | |
| LLM_PROVIDER=openai | |
| # Добавьте | |
| OPENROUTER_API_KEY=your-openrouter-key | |
| ``` | |
| 3. Обновите код (уберите параметр `provider`) | |
| 4. Всё работает! | |
| ## 🚀 Доступные модели через OpenRouter | |
| - **Google Gemini** - `google/gemini-3-flash-preview` (рекомендуется) | |
| - **OpenAI GPT** - `openai/gpt-4o`, `openai/gpt-3.5-turbo` | |
| - **Anthropic Claude** - `anthropic/claude-3.5-sonnet` | |
| - **Meta Llama** - `meta-llama/llama-3.1-405b-instruct` | |
| - **Mistral** - `mistralai/mixtral-8x22b-instruct` | |
| - И многие другие! | |
| Полный список: https://openrouter.ai/models | |
| ## 📚 Документация | |
| - [Главный README](README.md) | |
| - [OpenRouter документация](corrector/OPENROUTER.md) | |
| - [Примеры Curl](CURL_EXAMPLES.md) | |
| - [Changelog](CHANGELOG_OPENROUTER.md) | |
| - [Summary](OPENROUTER_SUMMARY.md) | |
| ## ✅ Итог | |
| Проект полностью переведён на OpenRouter API. OpenAI больше не поддерживается. | |
| Это упрощает код, уменьшает зависимости и даёт доступ к большему количеству моделей! | |