diff --git a/diagnose.sh b/diagnose.sh index a45cc80..f883aa3 100644 --- a/diagnose.sh +++ b/diagnose.sh @@ -47,11 +47,22 @@ fi # Check if port 11434 is listening echo "6. Проверка порта 11434..." -if netstat -tuln | grep -q ":11434"; then - echo -e "${GREEN}✅ Порт 11434 прослушивается${NC}" - netstat -tuln | grep ":11434" +if command -v ss >/dev/null 2>&1; then + if ss -tuln | grep -q ":11434"; then + echo -e "${GREEN}✅ Порт 11434 прослушивается${NC}" + ss -tuln | grep ":11434" + else + echo -e "${RED}❌ Порт 11434 НЕ прослушивается${NC}" + fi +elif command -v netstat >/dev/null 2>&1; then + if netstat -tuln | grep -q ":11434"; then + echo -e "${GREEN}✅ Порт 11434 прослушивается${NC}" + netstat -tuln | grep ":11434" + else + echo -e "${RED}❌ Порт 11434 НЕ прослушивается${NC}" + fi else - echo -e "${RED}❌ Порт 11434 НЕ прослушивается${NC}" + echo -e "${YELLOW}⚠️ Команды ss/netstat недоступны${NC}" fi # Check API availability diff --git a/install-model.sh b/install-model.sh new file mode 100644 index 0000000..ce91ab0 --- /dev/null +++ b/install-model.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# Script to install Llama3.2:3b model +echo "🤖 Установка модели Llama3.2:3b..." + +# Colors +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' + +# Check if Ollama is running +if ! curl -s -m 5 http://localhost:11434 >/dev/null 2>&1; then + echo -e "${RED}❌ Ollama API недоступен${NC}" + echo "Сначала запустите: sudo ./quick-fix.sh" + exit 1 +fi + +echo -e "${GREEN}✅ Ollama API доступен${NC}" + +# Install Llama3.2:3b model +echo -e "${BLUE}📥 Загрузка модели llama3.2:3b...${NC}" +echo "Это может занять несколько минут в зависимости от скорости интернета" + +/usr/local/bin/ollama pull llama3.2:3b + +if [ $? -eq 0 ]; then + echo -e "${GREEN}✅ Модель llama3.2:3b успешно установлена!${NC}" +else + echo -e "${RED}❌ Ошибка при установке модели${NC}" + exit 1 +fi + +# List installed models +echo -e "${BLUE}📋 Список установленных моделей:${NC}" +/usr/local/bin/ollama list + +# Test the model +echo -e "${BLUE}🧪 Тестирование модели...${NC}" +echo "Sending test prompt..." + +test_response=$(curl -s -X POST http://localhost:11434/api/generate \ + -H "Content-Type: application/json" \ + -d '{ + "model": "llama3.2:3b", + "prompt": "Hello! Say hi back in one word.", + "stream": false + }' | jq -r '.response' 2>/dev/null) + +if [ ! -z "$test_response" ] && [ "$test_response" != "null" ]; then + echo -e "${GREEN}✅ Модель отвечает: ${test_response}${NC}" +else + echo -e "${YELLOW}⚠️ Модель загружается, попробуйте через минуту${NC}" +fi + +echo "" +echo -e "${GREEN}🎉 Готово!${NC}" +echo -e "${BLUE}📋 Теперь можно:${NC}" +echo " - Использовать веб-интерфейс: http://your-server-ip:8080" +echo " - Тестировать через API: curl -X POST http://localhost:11434/api/generate ..." +echo " - Проверить статус: ./diagnose.sh" + +# Optional: preload the model +echo -e "${BLUE}🚀 Предварительная загрузка модели в память...${NC}" +curl -s -X POST http://localhost:11434/api/generate \ + -H "Content-Type: application/json" \ + -d '{"model": "llama3.2:3b", "prompt": "", "stream": false}' >/dev/null 2>&1 + +echo -e "${GREEN}✅ Модель готова к использованию!${NC}" \ No newline at end of file