Files
hotels/LLM_GUIDE.md

300 lines
8.2 KiB
Markdown
Raw Normal View History

# 🤖 РУКОВОДСТВО ПО LLM МОДЕЛЯМ
## 📋 ВОЗМОЖНОСТИ
Система поддерживает **3 провайдера** LLM:
- **OpenAI** (GPT-4o, GPT-4o-mini) - через прокси ✅
- **OpenRouter** (Claude, Gemini, и др.) - через прокси
- **Ollama** (локальные модели) - без прокси
Вы можете:
1. ✅ Легко переключаться между провайдерами
2. ✅ Менять модель на лету через API
3. ✅ Тестировать разные модели для чата
4. ✅ Настраивать temperature и max_tokens
---
## ⚙️ НАСТРОЙКА
### 1. Через конфигурационный файл
Откройте `llm_config.py`:
```python
# Выберите провайдера
ACTIVE_PROVIDER = 'openai' # 'openai', 'openrouter', 'ollama'
```
**Доступные модели OpenAI:**
- `gpt-4o-mini` - быстрая, дешёвая (по умолчанию)
- `gpt-4o` - умная, дорогая
- `gpt-4-turbo` - средняя по скорости/качеству
**Доступные модели OpenRouter:**
- `anthropic/claude-3-haiku` - быстрая
- `anthropic/claude-3.5-sonnet` - умная
- `google/gemini-flash-1.5` - дешёвая
**Доступные модели Ollama:**
- `llama3.2` - быстрая (3B параметров)
- `llama3.1:70b` - умная (70B параметров)
- `qwen2.5:14b` - хороша для анализа
- `saiga_llama3` - для русского языка
### 2. Через переменные окружения
```bash
# Выбор провайдера
export LLM_PROVIDER=openai
# Выбор модели
export CHAT_MODEL=gpt-4o-mini
# Параметры
export LLM_TEMPERATURE=0.7 # Креативность (0.0-1.0)
export LLM_MAX_TOKENS=1000 # Макс. токенов в ответе
```
### 3. Через API на лету
```bash
# Узнать текущую модель
curl http://localhost:8888/api/llm/info
# Получить список моделей
curl http://localhost:8888/api/llm/models
# Переключить модель
curl -X POST http://localhost:8888/api/llm/switch \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o"}'
```
---
## 🚀 ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
### Пример 1: OpenAI GPT-4o-mini (по умолчанию)
```bash
# Уже настроено! Просто используйте
curl -X POST http://localhost:8888/api/chat \
-H "Content-Type: application/json" \
-d '{"message":"Сколько отелей в Москве?"}'
```
### Пример 2: OpenAI GPT-4o (умная модель)
```bash
# Переключаемся на GPT-4o
curl -X POST http://localhost:8888/api/llm/switch \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o"}'
# Теперь чат использует GPT-4o
curl -X POST http://localhost:8888/api/chat \
-H "Content-Type: application/json" \
-d '{"message":"Проанализируй качество сайтов отелей Чукотки"}'
```
### Пример 3: OpenRouter с Claude
```bash
# 1. Получите API ключ на openrouter.ai
# 2. Добавьте в llm_config.py:
# OPENROUTER_CONFIG['api_key'] = 'sk-or-v1-...'
# 3. Измените провайдера в llm_config.py:
# ACTIVE_PROVIDER = 'openrouter'
# 4. Перезапустите веб-интерфейс:
pkill -f web_interface.py
cd /root/engine/public_oversight/hotels
source venv/bin/activate
python web_interface.py &
# 5. Проверьте:
curl http://localhost:8888/api/llm/info
```
### Пример 4: Локальная Ollama
```bash
# 1. Установите Ollama (если ещё нет)
curl -fsSL https://ollama.com/install.sh | sh
# 2. Запустите Ollama
ollama serve &
# 3. Скачайте модель
ollama pull llama3.2
# 4. Измените llm_config.py:
# ACTIVE_PROVIDER = 'ollama'
# 5. Перезапустите веб-интерфейс
# 6. Используйте локальную модель:
curl -X POST http://localhost:8888/api/chat \
-H "Content-Type: application/json" \
-d '{"message":"Привет!"}'
```
---
## 🎯 СРАВНЕНИЕ МОДЕЛЕЙ
| Модель | Провайдер | Скорость | Качество | Цена | Через прокси |
|--------|-----------|----------|----------|------|--------------|
| **gpt-4o-mini** | OpenAI | ⚡⚡⚡ | ⭐⭐⭐ | 💵 | ✅ |
| **gpt-4o** | OpenAI | ⚡⚡ | ⭐⭐⭐⭐⭐ | 💵💵💵 | ✅ |
| **claude-3-haiku** | OpenRouter | ⚡⚡⚡ | ⭐⭐⭐⭐ | 💵 | ✅ |
| **claude-3.5-sonnet** | OpenRouter | ⚡⚡ | ⭐⭐⭐⭐⭐ | 💵💵💵 | ✅ |
| **llama3.2** | Ollama | ⚡⚡⚡⚡ | ⭐⭐⭐ | 🆓 | ❌ |
| **llama3.1:70b** | Ollama | ⚡ | ⭐⭐⭐⭐ | 🆓 | ❌ |
**Рекомендации:**
- **Для чата:** gpt-4o-mini (быстро и дёшево)
- **Для анализа:** gpt-4o или claude-3.5-sonnet (лучшее качество)
- **Для экспериментов:** Ollama llama3.2 (бесплатно, офлайн)
---
## 🔧 ТЕСТИРОВАНИЕ МОДЕЛЕЙ
### Скрипт для сравнения
Создайте `test_models.sh`:
```bash
#!/bin/bash
models=("gpt-4o-mini" "gpt-4o")
question='{"message":"Сколько отелей в Чукотском АО имеют сайты?"}'
for model in "${models[@]}"; do
echo "=== Тестирую $model ==="
# Переключаем модель
curl -s -X POST http://localhost:8888/api/llm/switch \
-H "Content-Type: application/json" \
-d "{\"model\":\"$model\"}"
# Задаём вопрос
start=$(date +%s%N)
response=$(curl -s -X POST http://localhost:8888/api/chat \
-H "Content-Type: application/json" \
-d "$question")
end=$(date +%s%N)
# Время ответа
time_ms=$(( (end - start) / 1000000 ))
echo "Модель: $model"
echo "Время: ${time_ms}ms"
echo "Ответ: $(echo $response | python3 -c 'import sys,json; print(json.load(sys.stdin)["response"][:200])')"
echo ""
done
```
Запустите:
```bash
chmod +x test_models.sh
./test_models.sh
```
---
## 📊 API ENDPOINTS
### GET /api/llm/info
Информация о текущей модели
**Ответ:**
```json
{
"provider": "openai",
"chat_model": "gpt-4o-mini",
"temperature": 0.3,
"max_tokens": 800,
"uses_proxy": true
}
```
### GET /api/llm/models
Список доступных моделей
**Ответ:**
```json
{
"current_provider": "openai",
"current_model": "gpt-4o-mini",
"models": {
"fast": "gpt-4o-mini",
"smart": "gpt-4o",
"chat": "gpt-4o-mini"
}
}
```
### POST /api/llm/switch
Переключить модель
**Запрос:**
```json
{
"model": "gpt-4o"
}
```
**Ответ:**
```json
{
"status": "switched",
"new_model": "gpt-4o",
"provider": "openai"
}
```
---
## ⚠️ ВАЖНЫЕ ЗАМЕЧАНИЯ
1. **Прокси:**
- OpenAI и OpenRouter работают через прокси `195.133.66.13:3128`
- Ollama работает локально без прокси
2. **API ключи:**
- OpenAI ключ уже настроен в `llm_config.py`
- Для OpenRouter нужен свой ключ: https://openrouter.ai/keys
3. **Стоимость:**
- GPT-4o-mini: ~$0.15 за 1М токенов (вход) + $0.60 (выход)
- GPT-4o: ~$5.00 за 1М токенов (вход) + $15.00 (выход)
- Ollama: бесплатно, но требует мощное железо
4. **Переключение модели:**
- Работает без перезапуска сервера
- Применяется сразу к следующему запросу
- Не влияет на конфигурационный файл (изменение временное)
---
## 🎓 ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
- **OpenAI Models:** https://platform.openai.com/docs/models
- **OpenRouter:** https://openrouter.ai/models
- **Ollama:** https://ollama.com/library
- **Наша документация:** `/root/engine/public_oversight/hotels/QUICK_START.md`
---
**Создано:** 2025-10-11
**Версия:** 1.0
**Статус:** ✅ Работает