Files
iiEsaywebUI/FIX_IMAGE_TRANSFER.md

125 lines
4.5 KiB
Markdown
Raw Normal View History

# Исправление проблемы с передачей изображений из Open WebUI в Ollama
## Проблема
Open WebUI не передает изображения в Ollama правильно. В логах Ollama нет запросов с изображениями.
## Диагностика
### 1. Проверка переменной окружения
```bash
sudo docker exec open-webui env | grep -i OLLAMA
```
Должно быть:
```
OLLAMA_BASE_URL=http://ollama:11434
```
### 2. Проверка доступности Ollama
```bash
sudo docker exec open-webui curl -s http://ollama:11434/api/tags | head -5
```
### 3. Проверка логов
```bash
# Логи Open WebUI при отправке изображения
sudo docker logs open-webui --tail 100 | grep -i "image\|ollama\|error"
# Логи Ollama - должны быть запросы с изображениями
sudo docker logs ollama --tail 100 | grep -i "image\|vision"
```
## Решение
### Шаг 1: Убедитесь, что переменная добавлена в docker-compose.yml
В файле `/home/its/iiEasyWeb/docker-compose.yml` должна быть строка:
```yaml
# Ollama API для работы с изображениями
- OLLAMA_BASE_URL=http://ollama:11434
```
### Шаг 2: Перезапустите контейнер Open WebUI
```bash
cd /home/its/iiEasyWeb
docker compose restart open-webui
```
Или полностью пересоздайте:
```bash
docker compose up -d --force-recreate open-webui
```
### Шаг 3: Проверьте настройки в веб-интерфейсе
1. Откройте https://odo.iieasy.ru
2. Перейдите в **Settings → Connections → Ollama API**
3. Убедитесь, что адрес: **`http://ollama:11434`**
- НЕ используйте `host.docker.internal:11434`
- НЕ используйте `localhost:11434`
- Должно быть именно `http://ollama:11434`
### Шаг 4: Проверьте формат изображения
Open WebUI должен передавать изображения в формате base64 в поле `images` массива JSON запроса к Ollama API.
Формат запроса должен быть:
```json
{
"model": "gemma3n:e4b-it-fp16",
"prompt": "Опиши это изображение",
"images": ["base64_encoded_image_data"],
"stream": false
}
```
## Дополнительная диагностика
### Запустите скрипт проверки:
```bash
cd /home/its/iiEasyWeb
sudo ./scripts/check_image_transfer.sh
```
### Проверка в реальном времени:
1. Откройте два терминала
2. В первом терминале следите за логами Open WebUI:
```bash
sudo docker logs open-webui -f | grep -i "image\|ollama"
```
3. Во втором терминале следите за логами Ollama:
```bash
sudo docker logs ollama -f | grep -i "image\|vision\|generate"
```
4. Отправьте изображение через веб-интерфейс
5. Проверьте, появляются ли запросы в логах Ollama
## Возможные проблемы
1. **Переменная не применена** - контейнер не перезапущен после изменения docker-compose.yml
2. **Неправильный адрес в настройках** - в веб-интерфейсе указан неправильный адрес Ollama
3. **Проблема с сетью Docker** - контейнеры не могут общаться друг с другом
4. **Формат изображения** - Open WebUI передает изображение в неправильном формате
5. **Версия Open WebUI** - старая версия может не поддерживать vision правильно
## Проверка версии Open WebUI
```bash
sudo docker exec open-webui cat /app/backend/version.txt
```
Текущая версия в docker-compose.yml: `v0.8.3`
## Альтернативное решение
Если проблема не решается, можно попробовать:
1. Обновить Open WebUI до последней версии
2. Использовать прямой API запрос к Ollama для тестирования
3. Проверить документацию Open WebUI по работе с vision моделями