69 lines
3.2 KiB
Bash
Executable File
69 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
||
# Прямой тест vision через Ollama API (минуя Open WebUI)
|
||
|
||
set -e
|
||
|
||
CONTAINER_OLLAMA="ollama"
|
||
MODEL="gemma3n:e4b-it-fp16"
|
||
IMAGE_FILE="/home/its/iiEasyWeb/test_images/test_image.jpg"
|
||
|
||
echo "=== Прямой тест Vision через Ollama API ==="
|
||
echo ""
|
||
|
||
# Проверка файла изображения
|
||
if [ ! -f "$IMAGE_FILE" ]; then
|
||
echo "✗ Файл изображения не найден: $IMAGE_FILE"
|
||
echo "Скачайте изображение сначала"
|
||
exit 1
|
||
fi
|
||
|
||
echo "1. Кодирование изображения в base64..."
|
||
IMAGE_B64=$(base64 -w 0 "$IMAGE_FILE" 2>/dev/null || base64 "$IMAGE_FILE" | tr -d '\n')
|
||
echo " ✓ Изображение закодировано (${#IMAGE_B64} символов)"
|
||
|
||
echo ""
|
||
echo "2. Отправка запроса к Ollama API..."
|
||
echo " Модель: $MODEL"
|
||
echo " Промпт: Опиши это изображение на русском языке. Что ты видишь?"
|
||
echo ""
|
||
|
||
# Определяем команду docker
|
||
DOCKER_CMD="docker"
|
||
if ! docker ps >/dev/null 2>&1; then
|
||
DOCKER_CMD="sudo docker"
|
||
fi
|
||
|
||
# Отправляем запрос
|
||
RESPONSE=$($DOCKER_CMD exec $CONTAINER_OLLAMA curl -s --max-time 120 -X POST http://localhost:11434/api/generate \
|
||
-H 'Content-Type: application/json' \
|
||
-d "{
|
||
\"model\": \"$MODEL\",
|
||
\"prompt\": \"Опиши это изображение на русском языке. Что ты видишь на картинке?\",
|
||
\"images\": [\"$IMAGE_B64\"],
|
||
\"stream\": false
|
||
}" 2>&1)
|
||
|
||
echo ""
|
||
if echo "$RESPONSE" | grep -q '"response"'; then
|
||
echo "✓ Успешно! Ответ модели:"
|
||
echo ""
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo "$RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('response', ''))" 2>/dev/null || \
|
||
echo "$RESPONSE" | grep -o '"response":"[^"]*"' | sed 's/"response":"\(.*\)"/\1/' | sed 's/\\n/\n/g' | sed 's/\\"/"/g'
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo ""
|
||
echo "=== ✓ Vision работает напрямую через Ollama API! ==="
|
||
echo ""
|
||
echo "Если это работает, значит проблема в Open WebUI, а не в Ollama."
|
||
echo "Возможные причины:"
|
||
echo " 1. Open WebUI v0.8.3 не поддерживает vision для gemma3n"
|
||
echo " 2. Модель не помечена как vision-модель в настройках"
|
||
echo " 3. Нужно обновить Open WebUI до более новой версии"
|
||
elif echo "$RESPONSE" | grep -q "error\|Error"; then
|
||
echo "✗ Ошибка:"
|
||
echo "$RESPONSE" | grep -i error || echo "$RESPONSE"
|
||
else
|
||
echo "⚠ Неожиданный ответ:"
|
||
echo "$RESPONSE" | head -20
|
||
fi
|