125 lines
4.5 KiB
Markdown
125 lines
4.5 KiB
Markdown
# Исправление проблемы с передачей изображений из 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 моделями
|