Trans_for_doctors / MIGRATION_TO_OPENROUTER.md
Mintik24's picture
🎉 Полный рефакторинг проекта Medical Transcriber
e275025

Удаление 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)

# 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

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

# Без указания провайдера - всегда OpenRouter
uv run transmed --audio test.wav --llm

Curl

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:

Было

# .env
OPENAI_API_KEY=sk-...
LLM_PROVIDER=openai
corrector = MedicalLLMCorrector(
    term_manager=term_manager,
    provider="openai"
)

Стало

# .env
OPENROUTER_API_KEY=your-key
corrector = MedicalLLMCorrector(term_manager=term_manager)

Шаги миграции

  1. Получите ключ OpenRouter: https://openrouter.ai/keys
  2. Замените в .env:
    # Удалите
    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

📚 Документация

✅ Итог

Проект полностью переведён на OpenRouter API. OpenAI больше не поддерживается. Это упрощает код, уменьшает зависимости и даёт доступ к большему количеству моделей!