Задание заключается в том, чтобы собрать агента который получает на вход расшифровку телефонного разговора (текст одним блоком) через веб-интерфейс и возвращает оценку тона общения (положительный / нейтральный / негативный) и одну-две краткие рекомендации, как улучшить разговор.
- Для классификации была выбрана модель distilbert/distilbert-base-uncased-finetuned-sst-2-english (ссылка - https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english)
- Для формирования рекомендации была выбрана модель qwen/qwen2.5-vl-32b-instruct:free (https://openrouter.ai/qwen/qwen2.5-vl-32b-instruct:free)
streamlit-agent/
├── app.py # Основной код Streamlit приложения
├── requirements.txt # Python-зависимости
├── .env # Переменные окружения (OPENAI_API_KEY) - не коммитить
├── .gitignore # Игнорирует .env, __pycache__, *.pyc
├── Dockerfile # Описание образа Docker
├── docker-compose.yml # Опциональный файл для запуска Docker Compose
├── README.md # Инструкция по установке и запуску
-
Клонировать репозиторий:
git clone https://github.com/AmirMaremshao/streamlit-agent.git cd streamlit-agent -
Получить доступ (бесплатный) к модели через API ключ:
- Создайте файл .env внутри клонированного репозитория
- Создайте api key по ссылке https://openrouter.ai/settings/keys
- Добавьте в файл .env переменную OPENAI_API_KEY = "sk-xxx"
-
Собрать и запустить:
- Открывайте Docker desktop
- Вставляете в терминал:
docker-compose up --build
- Обычно занимает 330 секунд.
-
Доступ к интерфейсу:
- Откройте:
http://localhost:8501(или другой порт, если настроен). - Дождитесь пока модель загрузится (занимает около 1-5 минут).
- Откройте:
- Интерфейс (Фронтенд)
- Добавить логирование
- Применить fine-tunning к модели на основе других разговоров и классификаций или на основе разговоров и советов
- Добавить RAG систему, чтобы модель опиралась на профессиональную литературу по коммуникациям
- Улучшить промпт (Например, добавить XML формат)
- Модели работают на английском, можно специализироваться на русском