- Краулеры: smart_crawler.py, regional_crawler.py - Аудит: audit_orel_to_excel.py, audit_chukotka_to_excel.py - РКН проверка: check_rkn_registry.py, recheck_unclear_rkn.py - Отчёты: create_orel_horizontal_report.py - Обработка: process_all_hotels_embeddings.py - Документация: README.md, DB_SCHEMA_REFERENCE.md
8.2 KiB
8.2 KiB
🤖 РУКОВОДСТВО ПО LLM МОДЕЛЯМ
📋 ВОЗМОЖНОСТИ
Система поддерживает 3 провайдера LLM:
- OpenAI (GPT-4o, GPT-4o-mini) - через прокси ✅
- OpenRouter (Claude, Gemini, и др.) - через прокси
- Ollama (локальные модели) - без прокси
Вы можете:
- ✅ Легко переключаться между провайдерами
- ✅ Менять модель на лету через API
- ✅ Тестировать разные модели для чата
- ✅ Настраивать temperature и max_tokens
⚙️ НАСТРОЙКА
1. Через конфигурационный файл
Откройте llm_config.py:
# Выберите провайдера
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. Через переменные окружения
# Выбор провайдера
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 на лету
# Узнать текущую модель
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 (по умолчанию)
# Уже настроено! Просто используйте
curl -X POST http://localhost:8888/api/chat \
-H "Content-Type: application/json" \
-d '{"message":"Сколько отелей в Москве?"}'
Пример 2: OpenAI GPT-4o (умная модель)
# Переключаемся на 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
# 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
# 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:
#!/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
Запустите:
chmod +x test_models.sh
./test_models.sh
📊 API ENDPOINTS
GET /api/llm/info
Информация о текущей модели
Ответ:
{
"provider": "openai",
"chat_model": "gpt-4o-mini",
"temperature": 0.3,
"max_tokens": 800,
"uses_proxy": true
}
GET /api/llm/models
Список доступных моделей
Ответ:
{
"current_provider": "openai",
"current_model": "gpt-4o-mini",
"models": {
"fast": "gpt-4o-mini",
"smart": "gpt-4o",
"chat": "gpt-4o-mini"
}
}
POST /api/llm/switch
Переключить модель
Запрос:
{
"model": "gpt-4o"
}
Ответ:
{
"status": "switched",
"new_model": "gpt-4o",
"provider": "openai"
}
⚠️ ВАЖНЫЕ ЗАМЕЧАНИЯ
-
Прокси:
- OpenAI и OpenRouter работают через прокси
195.133.66.13:3128 - Ollama работает локально без прокси
- OpenAI и OpenRouter работают через прокси
-
API ключи:
- OpenAI ключ уже настроен в
llm_config.py - Для OpenRouter нужен свой ключ: https://openrouter.ai/keys
- OpenAI ключ уже настроен в
-
Стоимость:
- GPT-4o-mini: ~$0.15 за 1М токенов (вход) + $0.60 (выход)
- GPT-4o: ~$5.00 за 1М токенов (вход) + $15.00 (выход)
- Ollama: бесплатно, но требует мощное железо
-
Переключение модели:
- Работает без перезапуска сервера
- Применяется сразу к следующему запросу
- Не влияет на конфигурационный файл (изменение временное)
🎓 ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
- 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
Статус: ✅ Работает