chore(i18n): refresh uk translations
This commit is contained in:
parent
49658dd3a9
commit
7a75f81fa8
@ -1,39 +1,39 @@
|
||||
---
|
||||
read_when:
|
||||
- Додавання або змінення `openclaw infer` команд
|
||||
- Проєктування стабільної безінтерфейсної автоматизації можливостей
|
||||
summary: CLI, орієнтований насамперед на інференс, для робочих процесів моделей, зображень, аудіо, TTS, відео, вебу та ембедингів на базі провайдерів
|
||||
- Проєктування стабільної автоматизації можливостей без інтерфейсу
|
||||
summary: CLI, орієнтований насамперед на інференс, для робочих процесів із моделями, зображеннями, аудіо, TTS, відео, вебом та ембедингами на базі провайдерів
|
||||
title: CLI для інференсу
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T11:07:42Z"
|
||||
generated_at: "2026-04-28T17:56:08Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: e8a4d0805b88f08ba810dc8473c5c052ad6bfe1c8044c233376ac8aae9ea6c7e
|
||||
source_hash: b284a884605ee7c0095652bf1b947dbc2ce78ef70532a161d97553379f348f6b
|
||||
source_path: cli/infer.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
`openclaw infer` — це канонічна headless-поверхня для inference-робочих процесів на основі провайдерів.
|
||||
`openclaw infer` — це канонічна headless-поверхня для робочих процесів інференсу на базі провайдерів.
|
||||
|
||||
Вона навмисно відкриває сімейства можливостей, а не сирі назви Gateway RPC і не сирі ідентифікатори інструментів агента.
|
||||
Вона навмисно надає сімейства можливостей, а не сирі назви RPC Gateway і не сирі ідентифікатори інструментів агента.
|
||||
|
||||
## Перетворення infer на Skill
|
||||
## Перетворіть infer на навичку
|
||||
|
||||
Скопіюйте й вставте це в агента:
|
||||
Скопіюйте та вставте це в агента:
|
||||
|
||||
```text
|
||||
Read https://docs.openclaw.ai/cli/infer, then create a skill that routes my common workflows to `openclaw infer`.
|
||||
Focus on model runs, image generation, video generation, audio transcription, TTS, web search, and embeddings.
|
||||
```
|
||||
|
||||
Добрий Skill на основі infer має:
|
||||
Добра навичка на основі infer має:
|
||||
|
||||
- зіставляти поширені наміри користувача з правильним підкомандним infer
|
||||
- містити кілька канонічних прикладів infer для робочих процесів, які він охоплює
|
||||
- віддавати перевагу `openclaw infer ...` у прикладах і пропозиціях
|
||||
- уникати повторного документування всієї поверхні infer у тілі Skill
|
||||
- зіставляти типові наміри користувача з правильной підкомандою infer
|
||||
- містити кілька канонічних прикладів infer для робочих процесів, які вона охоплює
|
||||
- надавати перевагу `openclaw infer ...` у прикладах і пропозиціях
|
||||
- уникати повторного документування всієї поверхні infer в тілі навички
|
||||
|
||||
Типове покриття Skill, зосередженого на infer:
|
||||
Типове покриття навички, зосередженої на infer:
|
||||
|
||||
- `openclaw infer model run`
|
||||
- `openclaw infer image generate`
|
||||
@ -44,19 +44,19 @@ Focus on model runs, image generation, video generation, audio transcription, TT
|
||||
|
||||
## Навіщо використовувати infer
|
||||
|
||||
`openclaw infer` надає один узгоджений CLI для inference-завдань на основі провайдерів усередині OpenClaw.
|
||||
`openclaw infer` надає один узгоджений CLI для завдань інференсу на базі провайдерів усередині OpenClaw.
|
||||
|
||||
Переваги:
|
||||
|
||||
- Використовуйте провайдерів і моделі, уже налаштовані в OpenClaw, замість створення одноразових обгорток для кожного бекенда.
|
||||
- Тримайте робочі процеси для моделей, зображень, транскрипції аудіо, TTS, відео, вебу та embeddings в одному дереві команд.
|
||||
- Використовуйте стабільну форму виводу `--json` для скриптів, автоматизації та робочих процесів, керованих агентами.
|
||||
- Віддавайте перевагу першосторонній поверхні OpenClaw, коли завдання за суттю є "запустити inference".
|
||||
- Використовуйте звичайний локальний шлях без потреби в Gateway для більшості команд infer.
|
||||
- Тримайте робочі процеси для моделей, зображень, транскрибування аудіо, TTS, відео, вебу та embeddings в одному дереві команд.
|
||||
- Використовуйте стабільну форму виводу `--json` для скриптів, автоматизації та робочих процесів, керованих агентом.
|
||||
- Надавайте перевагу першосторонній поверхні OpenClaw, коли завдання по суті є «запустити інференс».
|
||||
- Для більшості команд infer використовуйте звичайний локальний шлях без вимоги Gateway.
|
||||
|
||||
Для наскрізних перевірок провайдера віддавайте перевагу `openclaw infer ...`, коли нижчорівневі
|
||||
тести провайдера вже зелені. Це перевіряє відвантажений CLI, завантаження конфігурації,
|
||||
розв’язання агента за замовчуванням, активацію bundled Plugin, відновлення runtime-залежностей
|
||||
Для наскрізних перевірок провайдерів надавайте перевагу `openclaw infer ...`, коли нижчорівневі
|
||||
тести провайдера вже зелені. Це перевіряє поставлений CLI, завантаження конфігурації,
|
||||
розв’язання агента за замовчуванням, активацію вбудованого Plugin, відновлення runtime-залежностей
|
||||
і спільний runtime можливостей до виконання запиту до провайдера.
|
||||
|
||||
## Дерево команд
|
||||
@ -110,48 +110,52 @@ Focus on model runs, image generation, video generation, audio transcription, TT
|
||||
providers
|
||||
```
|
||||
|
||||
## Поширені завдання
|
||||
## Типові завдання
|
||||
|
||||
Ця таблиця зіставляє поширені inference-завдання з відповідною командою infer.
|
||||
Ця таблиця зіставляє типові завдання інференсу з відповідною командою infer.
|
||||
|
||||
| Завдання | Команда | Примітки |
|
||||
| ----------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------- |
|
||||
| Запустити текстовий/модельний prompt | `openclaw infer model run --prompt "..." --json` | За замовчуванням використовує звичайний локальний шлях |
|
||||
| Згенерувати зображення | `openclaw infer image generate --prompt "..." --json` | Використовуйте `image edit`, коли починаєте з наявного файла |
|
||||
| Описати файл зображення | `openclaw infer image describe --file ./image.png --prompt "..." --json` | `--model` має бути image-capable `<provider/model>` |
|
||||
| Транскрибувати аудіо | `openclaw infer audio transcribe --file ./memo.m4a --json` | `--model` має бути `<provider/model>` |
|
||||
| Синтезувати мовлення | `openclaw infer tts convert --text "..." --output ./speech.mp3 --json` | `tts status` орієнтований на Gateway |
|
||||
| Згенерувати відео | `openclaw infer video generate --prompt "..." --json` | Підтримує підказки провайдера, як-от `--resolution` |
|
||||
| Описати відеофайл | `openclaw infer video describe --file ./clip.mp4 --json` | `--model` має бути `<provider/model>` |
|
||||
| Шукати в вебі | `openclaw infer web search --query "..." --json` | |
|
||||
| Отримати вебсторінку | `openclaw infer web fetch --url https://example.com --json` | |
|
||||
| Створити embeddings | `openclaw infer embedding create --text "..." --json` | |
|
||||
| Завдання | Команда | Примітки |
|
||||
| ---------------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
|
||||
| Запустити текстовий/модельний prompt | `openclaw infer model run --prompt "..." --json` | За замовчуванням використовує звичайний локальний шлях |
|
||||
| Запустити модельний prompt із зображеннями | `openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model` | Повторіть `--file` для кількох вхідних зображень |
|
||||
| Згенерувати зображення | `openclaw infer image generate --prompt "..." --json` | Використовуйте `image edit`, коли починаєте з наявного файла |
|
||||
| Описати файл зображення | `openclaw infer image describe --file ./image.png --prompt "..." --json` | `--model` має бути моделлю з підтримкою зображень у формі `<provider/model>` |
|
||||
| Транскрибувати аудіо | `openclaw infer audio transcribe --file ./memo.m4a --json` | `--model` має бути `<provider/model>` |
|
||||
| Синтезувати мовлення | `openclaw infer tts convert --text "..." --output ./speech.mp3 --json` | `tts status` орієнтовано на Gateway |
|
||||
| Згенерувати відео | `openclaw infer video generate --prompt "..." --json` | Підтримує підказки провайдера, як-от `--resolution` |
|
||||
| Описати відеофайл | `openclaw infer video describe --file ./clip.mp4 --json` | `--model` має бути `<provider/model>` |
|
||||
| Шукати в інтернеті | `openclaw infer web search --query "..." --json` | |
|
||||
| Отримати вебсторінку | `openclaw infer web fetch --url https://example.com --json` | |
|
||||
| Створити embeddings | `openclaw infer embedding create --text "..." --json` | |
|
||||
|
||||
## Поведінка
|
||||
|
||||
- `openclaw infer ...` є основною CLI-поверхнею для цих робочих процесів.
|
||||
- `openclaw infer ...` — основна поверхня CLI для цих робочих процесів.
|
||||
- Використовуйте `--json`, коли вивід споживатиме інша команда або скрипт.
|
||||
- Використовуйте `--provider` або `--model provider/model`, коли потрібен конкретний бекенд.
|
||||
- Для `image describe`, `audio transcribe` і `video describe` `--model` має використовувати форму `<provider/model>`.
|
||||
- Для `image describe` явний `--model` запускає цей провайдер/модель напряму. Модель має бути image-capable у каталозі моделей або конфігурації провайдера. `codex/<model>` запускає обмежений turn розуміння зображення через app-server Codex; `openai-codex/<model>` використовує шлях OpenAI Codex OAuth provider.
|
||||
- Stateless-команди виконання за замовчуванням локальні.
|
||||
- Для `image describe` явний `--model` запускає цей provider/model напряму. Модель має підтримувати зображення в каталозі моделей або конфігурації провайдера. `codex/<model>` запускає обмежений хід Codex app-server для розуміння зображень; `openai-codex/<model>` використовує шлях OpenAI Codex OAuth provider.
|
||||
- Команди виконання без стану за замовчуванням локальні.
|
||||
- Команди стану, керованого Gateway, за замовчуванням використовують Gateway.
|
||||
- Звичайний локальний шлях не потребує запущеного Gateway.
|
||||
- Локальний `model run` — це легкий одноразовий provider completion. Він розв’язує налаштовану модель агента й auth, але не запускає turn chat-агента, не завантажує інструменти й не відкриває bundled MCP servers.
|
||||
- `model run --gateway` перевіряє маршрутизацію Gateway, збережений auth, вибір провайдера та вбудований runtime, але все ще працює як сирий probe моделі: він надсилає наданий prompt без попереднього transcript сесії, bootstrap/AGENTS context, context-engine assembly, інструментів або bundled MCP servers.
|
||||
- Локальний `model run` — це компактне одноразове завершення провайдера. Він розв’язує налаштовану модель агента й автентифікацію, але не запускає хід chat-agent, не завантажує інструменти й не відкриває вбудовані MCP-сервери.
|
||||
- `model run --file` приймає файли зображень, визначає їхній MIME-тип і надсилає їх із наданим prompt до вибраної моделі. Повторіть `--file` для кількох зображень.
|
||||
- `model run --file` відхиляє вхідні дані, що не є зображеннями. Використовуйте `infer audio transcribe` для аудіофайлів і `infer video describe` для відеофайлів.
|
||||
- `model run --gateway` перевіряє маршрутизацію Gateway, збережену автентифікацію, вибір провайдера та вбудований runtime, але все одно працює як сирий модельний probe: він надсилає наданий prompt і будь-які вкладення зображень без попереднього transcript сеансу, bootstrap/AGENTS context, складання context-engine, інструментів або вбудованих MCP-серверів.
|
||||
|
||||
## Модель
|
||||
|
||||
Використовуйте `model` для text inference на основі провайдера та інспекції моделей/провайдерів.
|
||||
Використовуйте `model` для текстового інференсу на базі провайдерів і перевірки моделей/провайдерів.
|
||||
|
||||
```bash
|
||||
openclaw infer model run --prompt "Reply with exactly: smoke-ok" --json
|
||||
openclaw infer model run --prompt "Summarize this changelog entry" --provider openai --json
|
||||
openclaw infer model run --prompt "Summarize this changelog entry" --model openai/gpt-5.4 --json
|
||||
openclaw infer model run --prompt "Describe this image in one sentence" --file ./photo.jpg --model google/gemini-2.5-flash --json
|
||||
openclaw infer model providers --json
|
||||
openclaw infer model inspect --name gpt-5.5 --json
|
||||
```
|
||||
|
||||
Використовуйте повні посилання `<provider/model>`, щоб smoke-test конкретного провайдера без
|
||||
Використовуйте повні посилання `<provider/model>`, щоб виконати smoke-test конкретного провайдера без
|
||||
запуску Gateway або завантаження повної поверхні інструментів агента:
|
||||
|
||||
```bash
|
||||
@ -161,19 +165,23 @@ openclaw infer model run --local --model google/gemini-2.5-flash --prompt "Reply
|
||||
openclaw infer model run --local --model groq/llama-3.1-8b-instant --prompt "Reply with exactly: pong" --json
|
||||
openclaw infer model run --local --model mistral/mistral-small-latest --prompt "Reply with exactly: pong" --json
|
||||
openclaw infer model run --local --model openai/gpt-4.1 --prompt "Reply with exactly: pong" --json
|
||||
openclaw infer model run --local --model ollama/qwen2.5vl:7b --prompt "Describe this image." --file ./photo.jpg --json
|
||||
```
|
||||
|
||||
Примітки:
|
||||
|
||||
- Локальний `model run` є найвужчим CLI smoke для стану провайдера/моделі/auth, бо надсилає вибраній моделі лише наданий prompt.
|
||||
- `model run --prompt` має містити текст, що не складається лише з пробілів; порожні prompts відхиляються до виклику локальних провайдерів або Gateway.
|
||||
- Локальний `model run` завершується з ненульовим кодом, коли провайдер не повертає текстовий вивід, тому недоступні локальні провайдери й порожні completions не виглядають як успішні probes.
|
||||
- Використовуйте `model run --gateway`, коли потрібно протестувати маршрутизацію Gateway, налаштування agent-runtime або стан провайдера, керований Gateway, зберігаючи сирий ввід моделі. Використовуйте `openclaw agent` або chat-поверхні, коли потрібні повний context агента, інструменти, пам’ять і transcript сесії.
|
||||
- `model auth login`, `model auth logout` і `model auth status` керують збереженим auth-станом провайдера.
|
||||
- Локальний `model run` — це найвужчий CLI smoke для перевірки стану provider/model/auth, бо він надсилає лише наданий prompt до вибраної моделі.
|
||||
- Локальний `model run --file` зберігає цей компактний шлях і додає вміст зображення безпосередньо до одного повідомлення користувача. Поширені файли зображень, як-от PNG, JPEG і WebP, працюють, коли їхній MIME-тип визначено як `image/*`; непідтримувані або нерозпізнані файли завершуються помилкою до виклику провайдера.
|
||||
- `model run --file` найкраще підходить, коли ви хочете напряму протестувати вибрану мультимодальну текстову модель. Використовуйте `infer image describe`, коли вам потрібні вибір провайдера розуміння зображень OpenClaw і маршрутизація image-model за замовчуванням.
|
||||
- Вибрана модель має підтримувати вхідні зображення; моделі лише для тексту можуть відхилити запит на рівні провайдера.
|
||||
- `model run --prompt` має містити текст не лише з пробілів; порожні prompts відхиляються до виклику локальних провайдерів або Gateway.
|
||||
- Локальний `model run` завершується з ненульовим кодом, коли провайдер не повертає текстового виводу, тож недосяжні локальні провайдери й порожні завершення не виглядають як успішні probes.
|
||||
- Використовуйте `model run --gateway`, коли потрібно протестувати маршрутизацію Gateway, налаштування agent-runtime або стан провайдера, керований Gateway, зберігаючи вхідні дані моделі сирими. Використовуйте `openclaw agent` або chat-поверхні, коли потрібні повний контекст агента, інструменти, пам’ять і transcript сеансу.
|
||||
- `model auth login`, `model auth logout` і `model auth status` керують збереженим станом автентифікації провайдера.
|
||||
|
||||
## Зображення
|
||||
|
||||
Використовуйте `image` для генерації, редагування й опису.
|
||||
Використовуйте `image` для генерації, редагування та опису.
|
||||
|
||||
```bash
|
||||
openclaw infer image generate --prompt "friendly lobster illustration" --json
|
||||
@ -193,14 +201,14 @@ openclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --p
|
||||
|
||||
- Використовуйте `image edit`, коли починаєте з наявних вхідних файлів.
|
||||
- Використовуйте `--size`, `--aspect-ratio` або `--resolution` з `image edit` для
|
||||
провайдерів/моделей, які підтримують geometry hints під час редагування reference-image.
|
||||
провайдерів/моделей, що підтримують геометричні підказки під час редагування reference-image.
|
||||
- Використовуйте `--output-format png --background transparent` з
|
||||
`--model openai/gpt-image-1.5` для PNG-виводу OpenAI з прозорим фоном;
|
||||
`--openai-background` лишається доступним як специфічний для OpenAI alias. Провайдери,
|
||||
які не декларують підтримку фону, повідомляють цю підказку як ignored override.
|
||||
- Використовуйте `image providers --json`, щоб перевірити, які bundled image providers є
|
||||
discoverable, configured, selected і які можливості generation/edit
|
||||
відкриває кожен провайдер.
|
||||
`--openai-background` залишається доступним як специфічний для OpenAI псевдонім. Провайдери,
|
||||
які не оголошують підтримку фону, повідомляють підказку як проігнороване перевизначення.
|
||||
- Використовуйте `image providers --json`, щоб перевірити, які вбудовані провайдери зображень
|
||||
можна виявити, налаштовано, вибрано, і які можливості генерації/редагування
|
||||
надає кожен провайдер.
|
||||
- Використовуйте `image generate --model <provider/model> --json` як найвужчий live
|
||||
CLI smoke для змін генерації зображень. Приклад:
|
||||
|
||||
@ -213,18 +221,18 @@ openclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --p
|
||||
--json
|
||||
```
|
||||
|
||||
JSON-відповідь повідомляє `ok`, `provider`, `model`, `attempts` і записані
|
||||
шляхи виводу. Коли задано `--output`, фінальне розширення може відповідати
|
||||
MIME-типу, повернутому провайдером.
|
||||
Відповідь JSON повідомляє `ok`, `provider`, `model`, `attempts` і записані
|
||||
шляхи виводу. Коли задано `--output`, кінцеве розширення може відповідати
|
||||
MIME-типу, поверненому постачальником.
|
||||
|
||||
- Для `image describe` і `image describe-many` використовуйте `--prompt`, щоб дати vision model task-specific інструкцію, як-от OCR, comparison, UI inspection або concise captioning.
|
||||
- Використовуйте `--timeout-ms` із повільними локальними vision models або холодними запусками Ollama.
|
||||
- Для `image describe` `--model` має бути image-capable `<provider/model>`.
|
||||
- Для локальних vision models Ollama спочатку завантажте модель і встановіть `OLLAMA_API_KEY` у будь-яке placeholder-значення, наприклад `ollama-local`. Див. [Ollama](/uk/providers/ollama#vision-and-image-description).
|
||||
- Для `image describe` і `image describe-many` використовуйте `--prompt`, щоб надати візійній моделі інструкцію для конкретного завдання, наприклад OCR, порівняння, перевірку UI або стислий підпис.
|
||||
- Використовуйте `--timeout-ms` із повільними локальними візійними моделями або холодними запусками Ollama.
|
||||
- Для `image describe` `--model` має бути моделлю `<provider/model>` із підтримкою зображень.
|
||||
- Для локальних візійних моделей Ollama спершу завантажте модель і задайте для `OLLAMA_API_KEY` будь-яке значення-заповнювач, наприклад `ollama-local`. Див. [Ollama](/uk/providers/ollama#vision-and-image-description).
|
||||
|
||||
## Аудіо
|
||||
|
||||
Використовуйте `audio` для транскрипції файлів.
|
||||
Використовуйте `audio` для транскрибування файлів.
|
||||
|
||||
```bash
|
||||
openclaw infer audio transcribe --file ./memo.m4a --json
|
||||
@ -234,12 +242,12 @@ openclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --jso
|
||||
|
||||
Примітки:
|
||||
|
||||
- `audio transcribe` призначений для транскрипції файлів, а не realtime session management.
|
||||
- `audio transcribe` призначено для транскрибування файлів, а не для керування сеансами в реальному часі.
|
||||
- `--model` має бути `<provider/model>`.
|
||||
|
||||
## TTS
|
||||
|
||||
Використовуйте `tts` для синтезу мовлення та стану TTS-провайдера.
|
||||
Використовуйте `tts` для синтезу мовлення та стану постачальника TTS.
|
||||
|
||||
```bash
|
||||
openclaw infer tts convert --text "hello from openclaw" --output ./hello.mp3 --json
|
||||
@ -250,12 +258,12 @@ openclaw infer tts status --json
|
||||
|
||||
Примітки:
|
||||
|
||||
- `tts status` за замовчуванням використовує Gateway, бо відображає TTS-стан, керований Gateway.
|
||||
- Використовуйте `tts providers`, `tts voices` і `tts set-provider`, щоб інспектувати й налаштовувати поведінку TTS.
|
||||
- `tts status` за замовчуванням використовує gateway, оскільки відображає стан TTS, керований gateway.
|
||||
- Використовуйте `tts providers`, `tts voices` і `tts set-provider`, щоб переглядати й налаштовувати поведінку TTS.
|
||||
|
||||
## Відео
|
||||
|
||||
Використовуйте `video` для генерації й опису.
|
||||
Використовуйте `video` для генерації та опису.
|
||||
|
||||
```bash
|
||||
openclaw infer video generate --prompt "cinematic sunset over the ocean" --json
|
||||
@ -266,12 +274,12 @@ openclaw infer video describe --file ./clip.mp4 --model openai/gpt-4.1-mini --js
|
||||
|
||||
Примітки:
|
||||
|
||||
- `video generate` приймає `--size`, `--aspect-ratio`, `--resolution`, `--duration`, `--audio`, `--watermark` і `--timeout-ms` та передає їх до середовища виконання генерації відео.
|
||||
- `--model` має бути у форматі `<provider/model>` для `video describe`.
|
||||
- `video generate` приймає `--size`, `--aspect-ratio`, `--resolution`, `--duration`, `--audio`, `--watermark` і `--timeout-ms` та передає їх у середовище виконання генерації відео.
|
||||
- `--model` має бути `<provider/model>` для `video describe`.
|
||||
|
||||
## Веб
|
||||
|
||||
Використовуйте `web` для робочих процесів пошуку й отримання.
|
||||
Використовуйте `web` для робочих процесів пошуку й отримання даних.
|
||||
|
||||
```bash
|
||||
openclaw infer web search --query "OpenClaw docs" --json
|
||||
@ -282,11 +290,11 @@ openclaw infer web providers --json
|
||||
|
||||
Примітки:
|
||||
|
||||
- Використовуйте `web providers`, щоб переглянути доступних, налаштованих і вибраних провайдерів.
|
||||
- Використовуйте `web providers`, щоб переглядати доступних, налаштованих і вибраних постачальників.
|
||||
|
||||
## Ембединг
|
||||
## Embedding
|
||||
|
||||
Використовуйте `embedding` для створення векторів і перегляду провайдерів ембедингів.
|
||||
Використовуйте `embedding` для створення векторів і перегляду постачальника embeddings.
|
||||
|
||||
```bash
|
||||
openclaw infer embedding create --text "friendly lobster" --json
|
||||
@ -296,7 +304,7 @@ openclaw infer embedding providers --json
|
||||
|
||||
## Вивід JSON
|
||||
|
||||
Команди infer нормалізують JSON-вивід у спільній оболонці:
|
||||
Команди infer нормалізують вивід JSON у спільній обгортці:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -321,9 +329,9 @@ openclaw infer embedding providers --json
|
||||
- `outputs`
|
||||
- `error`
|
||||
|
||||
Для команд генерованих медіа `outputs` містить файли, записані OpenClaw. Використовуйте
|
||||
Для команд генерації медіа `outputs` містить файли, записані OpenClaw. Використовуйте
|
||||
`path`, `mimeType`, `size` і будь-які специфічні для медіа розміри в цьому масиві
|
||||
для автоматизації замість парсингу stdout, призначеного для читання людиною.
|
||||
для автоматизації замість аналізу stdout, призначеного для читання людиною.
|
||||
|
||||
## Поширені помилки
|
||||
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете запускати OpenClaw із хмарними або локальними моделями через Ollama
|
||||
- Вам потрібні інструкції з налаштування та конфігурації Ollama
|
||||
- Вам потрібні моделі бачення Ollama для розуміння зображень
|
||||
- Вам потрібні настанови з налаштування та конфігурації Ollama
|
||||
- Вам потрібні візійні моделі Ollama для розуміння зображень
|
||||
summary: Запуск OpenClaw з Ollama (хмарні та локальні моделі)
|
||||
title: Ollama
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T11:23:24Z"
|
||||
generated_at: "2026-04-28T17:56:05Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d5b31171f7c6d2e97507b4b7c7daf6140a29b9531a4b1e1589f3cc010ec44904
|
||||
source_hash: fd2e2a7ceba03f60cb43c0e9407603a7b661791cd03d55a805a9598ee089ac48
|
||||
source_path: providers/ollama.md
|
||||
workflow: 16
|
||||
---
|
||||
@ -17,32 +17,32 @@ x-i18n:
|
||||
OpenClaw інтегрується з нативним API Ollama (`/api/chat`) для розміщених хмарних моделей і локальних/самостійно розміщених серверів Ollama. Ви можете використовувати Ollama у трьох режимах: `Cloud + Local` через доступний хост Ollama, `Cloud only` із `https://ollama.com` або `Local only` із доступним хостом Ollama.
|
||||
|
||||
<Warning>
|
||||
**Користувачі віддаленого Ollama**: не використовуйте з OpenClaw OpenAI-сумісний URL `/v1` (`http://host:11434/v1`). Це ламає виклик інструментів, і моделі можуть виводити сирий JSON інструментів як звичайний текст. Натомість використовуйте URL нативного API Ollama: `baseUrl: "http://host:11434"` (без `/v1`).
|
||||
**Користувачі віддаленого Ollama**: не використовуйте сумісну з OpenAI URL-адресу `/v1` (`http://host:11434/v1`) з OpenClaw. Це порушує виклики інструментів, і моделі можуть виводити сирий JSON інструментів як звичайний текст. Натомість використовуйте URL нативного API Ollama: `baseUrl: "http://host:11434"` (без `/v1`).
|
||||
</Warning>
|
||||
|
||||
Конфігурація провайдера Ollama використовує `baseUrl` як канонічний ключ. OpenClaw також приймає `baseURL` для сумісності з прикладами у стилі OpenAI SDK, але в новій конфігурації варто надавати перевагу `baseUrl`.
|
||||
Конфігурація провайдера Ollama використовує `baseUrl` як канонічний ключ. OpenClaw також приймає `baseURL` для сумісності з прикладами у стилі OpenAI SDK, але нова конфігурація має надавати перевагу `baseUrl`.
|
||||
|
||||
## Правила автентифікації
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Локальні та LAN-хости">
|
||||
Локальним і LAN-хостам Ollama не потрібен справжній bearer-токен. OpenClaw використовує локальний маркер `ollama-local` лише для local loopback, приватної мережі, `.local` і базових URL Ollama з простими іменами хостів.
|
||||
<Accordion title="Local and LAN hosts">
|
||||
Локальним і LAN-хостам Ollama не потрібен справжній bearer-токен. OpenClaw використовує локальний маркер `ollama-local` лише для loopback, приватної мережі, `.local` і базових URL-адрес Ollama з простими іменами хостів.
|
||||
</Accordion>
|
||||
<Accordion title="Віддалені хости та хости Ollama Cloud">
|
||||
<Accordion title="Remote and Ollama Cloud hosts">
|
||||
Віддалені публічні хости та Ollama Cloud (`https://ollama.com`) потребують справжніх облікових даних через `OLLAMA_API_KEY`, профіль автентифікації або `apiKey` провайдера.
|
||||
</Accordion>
|
||||
<Accordion title="Власні ідентифікатори провайдерів">
|
||||
Власні ідентифікатори провайдерів, які задають `api: "ollama"`, дотримуються тих самих правил. Наприклад, провайдер `ollama-remote`, що вказує на приватний LAN-хост Ollama, може використовувати `apiKey: "ollama-local"`, і субагенти розв’язуватимуть цей маркер через hook провайдера Ollama, а не трактуватимуть його як відсутні облікові дані. Пошук у пам’яті також може встановити `agents.defaults.memorySearch.provider` на цей власний ідентифікатор провайдера, щоб embeddings використовували відповідну кінцеву точку Ollama.
|
||||
<Accordion title="Custom provider ids">
|
||||
Користувацькі ідентифікатори провайдерів, які задають `api: "ollama"`, дотримуються тих самих правил. Наприклад, провайдер `ollama-remote`, який вказує на приватний LAN-хост Ollama, може використовувати `apiKey: "ollama-local"`, і субагенти розв’язуватимуть цей маркер через hook провайдера Ollama замість того, щоб трактувати його як відсутні облікові дані. Пошук у пам’яті також може встановити `agents.defaults.memorySearch.provider` на цей користувацький ідентифікатор провайдера, щоб embeddings використовували відповідний endpoint Ollama.
|
||||
</Accordion>
|
||||
<Accordion title="Профілі автентифікації">
|
||||
`auth-profiles.json` зберігає облікові дані для ідентифікатора провайдера. Параметри кінцевої точки (`baseUrl`, `api`, ідентифікатори моделей, заголовки, тайм-аути) розміщуйте в `models.providers.<id>`. Старі пласкі файли профілів автентифікації, як-от `{ "ollama-windows": { "apiKey": "ollama-local" } }`, не є runtime-форматом; запустіть `openclaw doctor --fix`, щоб переписати їх у канонічний API-key профіль `ollama-windows:default` із резервною копією. `baseUrl` у цьому файлі є шумом сумісності, і його слід перенести до конфігурації провайдера.
|
||||
<Accordion title="Auth profiles">
|
||||
`auth-profiles.json` зберігає облікові дані для ідентифікатора провайдера. Налаштування endpoint (`baseUrl`, `api`, ідентифікатори моделей, заголовки, таймаути) розміщуйте в `models.providers.<id>`. Старі плоскі файли профілів автентифікації, як-от `{ "ollama-windows": { "apiKey": "ollama-local" } }`, не є runtime-форматом; запустіть `openclaw doctor --fix`, щоб переписати їх у канонічний профіль API-ключа `ollama-windows:default` із резервною копією. `baseUrl` у цьому файлі є шумом сумісності, і його слід перенести в конфігурацію провайдера.
|
||||
</Accordion>
|
||||
<Accordion title="Область embeddings пам’яті">
|
||||
<Accordion title="Memory embedding scope">
|
||||
Коли Ollama використовується для embeddings пам’яті, bearer-автентифікація обмежується хостом, де її було оголошено:
|
||||
|
||||
- Ключ рівня провайдера надсилається лише на хост Ollama цього провайдера.
|
||||
- `agents.*.memorySearch.remote.apiKey` надсилається лише на відповідний віддалений хост embeddings.
|
||||
- Чисте значення env `OLLAMA_API_KEY` трактується як домовленість Ollama Cloud і за замовчуванням не надсилається на локальні або самостійно розміщені хости.
|
||||
- Ключ рівня провайдера надсилається лише до Ollama-хоста цього провайдера.
|
||||
- `agents.*.memorySearch.remote.apiKey` надсилається лише до його віддаленого хоста embedding.
|
||||
- Чисте значення змінної середовища `OLLAMA_API_KEY` трактується як домовленість Ollama Cloud і типово не надсилається до локальних або самостійно розміщених хостів.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
@ -52,27 +52,27 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
Виберіть бажаний спосіб налаштування та режим.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Онбординг (рекомендовано)">
|
||||
**Найкраще для:** найшвидшого шляху до робочого хмарного або локального налаштування Ollama.
|
||||
<Tab title="Onboarding (recommended)">
|
||||
**Найкраще для:** найшвидший шлях до робочого хмарного або локального налаштування Ollama.
|
||||
|
||||
<Steps>
|
||||
<Step title="Запустіть онбординг">
|
||||
<Step title="Run onboarding">
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
Виберіть **Ollama** зі списку провайдерів.
|
||||
</Step>
|
||||
<Step title="Виберіть режим">
|
||||
<Step title="Choose your mode">
|
||||
- **Cloud + Local** — локальний хост Ollama плюс хмарні моделі, маршрутизовані через цей хост
|
||||
- **Cloud only** — розміщені моделі Ollama через `https://ollama.com`
|
||||
- **Local only** — лише локальні моделі
|
||||
|
||||
</Step>
|
||||
<Step title="Виберіть модель">
|
||||
`Cloud only` запитує `OLLAMA_API_KEY` і пропонує типові значення для розміщеної хмари. `Cloud + Local` і `Local only` запитують базовий URL Ollama, виявляють доступні моделі та автоматично завантажують вибрану локальну модель, якщо вона ще недоступна. Коли Ollama повідомляє про встановлений тег `:latest`, як-от `gemma4:latest`, налаштування показує цю встановлену модель один раз, а не показує одночасно `gemma4` і `gemma4:latest` чи знову завантажує простий псевдонім. `Cloud + Local` також перевіряє, чи виконано вхід на цьому хості Ollama для хмарного доступу.
|
||||
<Step title="Select a model">
|
||||
`Cloud only` запитує `OLLAMA_API_KEY` і пропонує стандартні параметри для розміщеної хмари. `Cloud + Local` і `Local only` запитують базову URL-адресу Ollama, виявляють доступні моделі та автоматично завантажують вибрану локальну модель, якщо вона ще недоступна. Коли Ollama повідомляє про встановлений тег `:latest`, як-от `gemma4:latest`, налаштування показує цю встановлену модель один раз замість того, щоб показувати і `gemma4`, і `gemma4:latest` або знову завантажувати простий alias. `Cloud + Local` також перевіряє, чи цей хост Ollama увійшов у систему для хмарного доступу.
|
||||
</Step>
|
||||
<Step title="Перевірте, що модель доступна">
|
||||
<Step title="Verify the model is available">
|
||||
```bash
|
||||
openclaw models list --provider ollama
|
||||
```
|
||||
@ -87,7 +87,7 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
За бажанням укажіть власний базовий URL або модель:
|
||||
За потреби вкажіть користувацьку базову URL-адресу або модель:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -99,17 +99,17 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Ручне налаштування">
|
||||
**Найкраще для:** повного контролю над хмарним або локальним налаштуванням.
|
||||
<Tab title="Manual setup">
|
||||
**Найкраще для:** повний контроль над хмарним або локальним налаштуванням.
|
||||
|
||||
<Steps>
|
||||
<Step title="Виберіть хмарний або локальний режим">
|
||||
<Step title="Choose cloud or local">
|
||||
- **Cloud + Local**: встановіть Ollama, увійдіть за допомогою `ollama signin` і маршрутизуйте хмарні запити через цей хост
|
||||
- **Cloud only**: використовуйте `https://ollama.com` з `OLLAMA_API_KEY`
|
||||
- **Local only**: встановіть Ollama з [ollama.com/download](https://ollama.com/download)
|
||||
|
||||
</Step>
|
||||
<Step title="Завантажте локальну модель (лише локальний режим)">
|
||||
<Step title="Pull a local model (local only)">
|
||||
```bash
|
||||
ollama pull gemma4
|
||||
# or
|
||||
@ -118,8 +118,8 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
ollama pull llama3.3
|
||||
```
|
||||
</Step>
|
||||
<Step title="Увімкніть Ollama для OpenClaw">
|
||||
Для `Cloud only` використовуйте справжній `OLLAMA_API_KEY`. Для налаштувань із хостом підійде будь-яке значення-заповнювач:
|
||||
<Step title="Enable Ollama for OpenClaw">
|
||||
Для `Cloud only` використовуйте свій справжній `OLLAMA_API_KEY`. Для налаштувань із хостом підходить будь-яке значення-заповнювач:
|
||||
|
||||
```bash
|
||||
# Cloud
|
||||
@ -132,13 +132,13 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Перегляньте та задайте свою модель">
|
||||
<Step title="Inspect and set your model">
|
||||
```bash
|
||||
openclaw models list
|
||||
openclaw models set ollama/gemma4
|
||||
```
|
||||
|
||||
Або задайте типове значення в конфігурації:
|
||||
Або встановіть стандартне значення в конфігурації:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -161,43 +161,43 @@ OpenClaw інтегрується з нативним API Ollama (`/api/chat`)
|
||||
<Tab title="Cloud + Local">
|
||||
`Cloud + Local` використовує доступний хост Ollama як контрольну точку для локальних і хмарних моделей. Це рекомендований Ollama гібридний потік.
|
||||
|
||||
Використовуйте **Cloud + Local** під час налаштування. OpenClaw запитує базовий URL Ollama, виявляє локальні моделі з цього хоста та перевіряє, чи виконано вхід на хості для хмарного доступу за допомогою `ollama signin`. Коли на хості виконано вхід, OpenClaw також пропонує типові значення розміщеної хмари, як-от `kimi-k2.5:cloud`, `minimax-m2.7:cloud` і `glm-5.1:cloud`.
|
||||
Використовуйте **Cloud + Local** під час налаштування. OpenClaw запитує базову URL-адресу Ollama, виявляє локальні моделі з цього хоста та перевіряє, чи хост увійшов у систему для хмарного доступу за допомогою `ollama signin`. Коли хост увійшов у систему, OpenClaw також пропонує стандартні розміщені хмарні моделі, як-от `kimi-k2.5:cloud`, `minimax-m2.7:cloud` і `glm-5.1:cloud`.
|
||||
|
||||
Якщо на хості ще не виконано вхід, OpenClaw залишає налаштування лише локальним, доки ви не запустите `ollama signin`.
|
||||
Якщо хост ще не увійшов у систему, OpenClaw залишає налаштування лише локальним, доки ви не запустите `ollama signin`.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Cloud only">
|
||||
`Cloud only` працює з розміщеним API Ollama за адресою `https://ollama.com`.
|
||||
|
||||
Використовуйте **Cloud only** під час налаштування. OpenClaw запитує `OLLAMA_API_KEY`, задає `baseUrl: "https://ollama.com"` і заповнює список розміщених хмарних моделей початковими значеннями. Цей шлях **не** потребує локального сервера Ollama або `ollama signin`.
|
||||
Використовуйте **Cloud only** під час налаштування. OpenClaw запитує `OLLAMA_API_KEY`, встановлює `baseUrl: "https://ollama.com"` і заповнює список розміщених хмарних моделей. Цей шлях **не** потребує локального сервера Ollama або `ollama signin`.
|
||||
|
||||
Список хмарних моделей, показаний під час `openclaw onboard`, заповнюється наживо з `https://ollama.com/api/tags` і обмежений 500 записами, тому вибір відображає поточний розміщений каталог, а не статичний початковий набір. Якщо `ollama.com` недоступний або не повертає моделей під час налаштування, OpenClaw повертається до попередніх жорстко закодованих пропозицій, щоб онбординг усе одно завершився.
|
||||
Список хмарних моделей, показаний під час `openclaw onboard`, заповнюється наживо з `https://ollama.com/api/tags`, з обмеженням у 500 записів, тому вибір відображає поточний розміщений каталог, а не статичний початковий набір. Якщо `ollama.com` недоступний або не повертає моделей під час налаштування, OpenClaw повертається до попередніх жорстко закодованих пропозицій, щоб onboarding усе одно завершився.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Local only">
|
||||
У режимі лише локальної роботи OpenClaw виявляє моделі з налаштованого екземпляра Ollama. Цей шлях призначений для локальних або самостійно розміщених серверів Ollama.
|
||||
|
||||
Зараз OpenClaw пропонує `gemma4` як локальне типове значення.
|
||||
Наразі OpenClaw пропонує `gemma4` як локальне стандартне значення.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Виявлення моделей (неявний провайдер)
|
||||
|
||||
Коли ви задаєте `OLLAMA_API_KEY` (або профіль автентифікації) і **не** визначаєте `models.providers.ollama` чи інший власний віддалений провайдер з `api: "ollama"`, OpenClaw виявляє моделі з локального екземпляра Ollama за адресою `http://127.0.0.1:11434`.
|
||||
Коли ви встановлюєте `OLLAMA_API_KEY` (або профіль автентифікації) і **не** визначаєте `models.providers.ollama` чи іншого користувацького віддаленого провайдера з `api: "ollama"`, OpenClaw виявляє моделі з локального екземпляра Ollama за адресою `http://127.0.0.1:11434`.
|
||||
|
||||
| Поведінка | Деталі |
|
||||
| Поведінка | Подробиці |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Запит каталогу | Запитує `/api/tags` |
|
||||
| Виявлення можливостей | Використовує best-effort запити `/api/show`, щоб прочитати `contextWindow`, розгорнуті параметри Modelfile `num_ctx` і можливості, зокрема vision/tools |
|
||||
| Моделі vision | Моделі з можливістю `vision`, повідомленою `/api/show`, позначаються як здатні працювати із зображеннями (`input: ["text", "image"]`), тож OpenClaw автоматично вставляє зображення в prompt |
|
||||
| Виявлення reasoning | Використовує можливості `/api/show`, коли вони доступні, зокрема `thinking`; повертається до евристики за назвою моделі (`r1`, `reasoning`, `think`), коли Ollama пропускає можливості |
|
||||
| Ліміти токенів | Встановлює `maxTokens` на типовий максимальний ліміт токенів Ollama, який використовує OpenClaw |
|
||||
| Вартість | Встановлює всю вартість у `0` |
|
||||
| Vision-моделі | Моделі з можливістю `vision`, повідомленою `/api/show`, позначаються як здатні працювати із зображеннями (`input: ["text", "image"]`), тому OpenClaw автоматично додає зображення в prompt |
|
||||
| Виявлення reasoning | Використовує можливості `/api/show`, коли вони доступні, зокрема `thinking`; повертається до евристики за назвою моделі (`r1`, `reasoning`, `think`), коли Ollama не надає можливостей |
|
||||
| Ліміти токенів | Встановлює `maxTokens` на стандартну верхню межу токенів Ollama, яку використовує OpenClaw |
|
||||
| Витрати | Встановлює всі витрати на `0` |
|
||||
|
||||
Це дає змогу уникнути ручних записів моделей, водночас підтримуючи каталог узгодженим із локальним екземпляром Ollama. Ви можете використовувати повне посилання, як-от `ollama/<pulled-model>:latest`, у локальному `infer model run`; OpenClaw розв’язує цю встановлену модель із живого каталогу Ollama без потреби в написаному вручну записі `models.json`.
|
||||
Це уникає ручних записів моделей, водночас підтримуючи каталог узгодженим із локальним екземпляром Ollama. Ви можете використовувати повний ref, як-от `ollama/<pulled-model>:latest`, у локальному `infer model run`; OpenClaw розв’язує цю встановлену модель із живого каталогу Ollama без потреби в ручному записі `models.json`.
|
||||
|
||||
```bash
|
||||
# See what models are available
|
||||
@ -206,7 +206,7 @@ openclaw models list
|
||||
```
|
||||
|
||||
Для вузького smoke-тесту генерації тексту, який уникає повної поверхні інструментів агента,
|
||||
використовуйте локальний `infer model run` із повним посиланням на модель Ollama:
|
||||
використовуйте локальний `infer model run` з повним ref моделі Ollama:
|
||||
|
||||
```bash
|
||||
OLLAMA_API_KEY=ollama-local \
|
||||
@ -217,25 +217,44 @@ OLLAMA_API_KEY=ollama-local \
|
||||
--json
|
||||
```
|
||||
|
||||
Цей шлях усе одно використовує налаштований провайдер OpenClaw, автентифікацію та нативний
|
||||
транспорт Ollama, але не запускає хід чат-агента і не завантажує контекст MCP/інструментів. Якщо
|
||||
це успішно виконується, тоді як звичайні відповіді агента не працюють, далі діагностуйте
|
||||
здатність моделі працювати з agent prompt/інструментами.
|
||||
Цей шлях усе одно використовує налаштованого провайдера OpenClaw, автентифікацію та нативний
|
||||
транспорт Ollama, але не запускає хід чат-агента й не завантажує MCP/інструментальний контекст. Якщо
|
||||
це спрацьовує, а звичайні відповіді агента ні, далі діагностуйте здатність моделі працювати з
|
||||
prompt агента та інструментами.
|
||||
|
||||
Для вузького smoke-тесту vision-моделі тим самим легким шляхом додайте один або більше
|
||||
файлів зображень до `infer model run`. Це надсилає prompt і зображення безпосередньо до
|
||||
вибраної vision-моделі Ollama без завантаження чат-інструментів, пам’яті або попереднього
|
||||
контексту сесії:
|
||||
|
||||
```bash
|
||||
OLLAMA_API_KEY=ollama-local \
|
||||
openclaw infer model run \
|
||||
--local \
|
||||
--model ollama/qwen2.5vl:7b \
|
||||
--prompt "Describe this image in one sentence." \
|
||||
--file ./photo.jpg \
|
||||
--json
|
||||
```
|
||||
|
||||
`model run --file` приймає файли, визначені як `image/*`, зокрема поширені вхідні PNG,
|
||||
JPEG і WebP. Файли, що не є зображеннями, відхиляються до виклику Ollama.
|
||||
Для розпізнавання мовлення натомість використовуйте `openclaw infer audio transcribe`.
|
||||
|
||||
Коли ви перемикаєте розмову за допомогою `/model ollama/<model>`, OpenClaw трактує
|
||||
це як точний вибір користувача. Якщо налаштований `baseUrl` Ollama
|
||||
недоступний, наступна відповідь завершується помилкою провайдера, а не мовчки
|
||||
відповідає з іншої налаштованої резервної моделі.
|
||||
це як точний вибір користувача. Якщо налаштований Ollama `baseUrl`
|
||||
недоступний, наступна відповідь завершується помилкою провайдера замість того, щоб непомітно
|
||||
відповісти з іншої налаштованої fallback-моделі.
|
||||
|
||||
Ізольовані Cron-завдання виконують одну додаткову локальну перевірку безпеки перед запуском
|
||||
ходу агента. Якщо вибрана модель розв’язується в локальний, приватно-мережевий або `.local`
|
||||
провайдер Ollama і `/api/tags` недоступний, OpenClaw записує цей запуск Cron
|
||||
як `skipped` із вибраним `ollama/<model>` у тексті помилки. Попередня перевірка кінцевої точки
|
||||
кешується на 5 хвилин, тому кілька Cron-завдань, спрямованих на той самий
|
||||
зупинений демон Ollama, не запускають усі невдалі запити до моделі.
|
||||
Ізольовані завдання cron виконують одну додаткову локальну перевірку безпеки перед запуском
|
||||
ходу агента. Якщо вибрана модель розв’язується до локального, приватно-мережевого або `.local`
|
||||
провайдера Ollama і `/api/tags` недоступний, OpenClaw записує цей запуск cron
|
||||
як `skipped` із вибраним `ollama/<model>` у тексті помилки. Preflight endpoint
|
||||
кешується на 5 хвилин, тому кілька завдань cron, спрямованих на той самий
|
||||
зупинений daemon Ollama, не запускають усі одразу невдалі запити до моделі.
|
||||
|
||||
Перевірте наживо локальний текстовий шлях, нативний потоковий шлях і embeddings на
|
||||
локальному Ollama за допомогою:
|
||||
Перевірте наживо локальний текстовий шлях, нативний streaming-шлях і embeddings з
|
||||
локальним Ollama за допомогою:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=0 \
|
||||
@ -248,24 +267,24 @@ OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=0 \
|
||||
ollama pull mistral
|
||||
```
|
||||
|
||||
Нова модель буде автоматично виявлена й доступна для використання.
|
||||
Нову модель буде автоматично виявлено й вона стане доступною для використання.
|
||||
|
||||
<Note>
|
||||
Якщо ви явно задаєте `models.providers.ollama` або налаштовуєте власного віддаленого провайдера, як-от `models.providers.ollama-cloud` з `api: "ollama"`, автовиявлення пропускається, і ви маєте визначити моделі вручну. Власні провайдери local loopback, як-от `http://127.0.0.2:11434`, усе одно трактуються як локальні. Дивіться розділ явної конфігурації нижче.
|
||||
Якщо ви явно задаєте `models.providers.ollama` або налаштовуєте користувацького віддаленого провайдера, наприклад `models.providers.ollama-cloud` з `api: "ollama"`, автоматичне виявлення пропускається, і вам потрібно визначати моделі вручну. Користувацькі провайдери loopback, як-от `http://127.0.0.2:11434`, усе ще вважаються локальними. Дивіться розділ явної конфігурації нижче.
|
||||
</Note>
|
||||
|
||||
## Vision і опис зображень
|
||||
## Комп’ютерний зір і опис зображень
|
||||
|
||||
Вбудований Plugin Ollama реєструє Ollama як провайдера розуміння медіа з підтримкою зображень. Це дає OpenClaw змогу спрямовувати явні запити на опис зображень і налаштовані типові значення моделей для зображень через локальні або розміщені vision-моделі Ollama.
|
||||
Вбудований Ollama Plugin реєструє Ollama як провайдера розуміння медіа з підтримкою зображень. Це дає OpenClaw змогу маршрутизувати явні запити на опис зображень і налаштовані стандартні моделі зображень через локальні або розміщені в хмарі моделі комп’ютерного зору Ollama.
|
||||
|
||||
Для локального vision витягніть модель, яка підтримує зображення:
|
||||
Для локального комп’ютерного зору завантажте модель, що підтримує зображення:
|
||||
|
||||
```bash
|
||||
ollama pull qwen2.5vl:7b
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
```
|
||||
|
||||
Потім перевірте за допомогою infer CLI:
|
||||
Потім перевірте через infer CLI:
|
||||
|
||||
```bash
|
||||
openclaw infer image describe \
|
||||
@ -274,9 +293,11 @@ openclaw infer image describe \
|
||||
--json
|
||||
```
|
||||
|
||||
`--model` має бути повним посиланням `<provider/model>`. Коли його задано, `openclaw infer image describe` запускає цю модель напряму замість пропуску опису через те, що модель підтримує нативний vision.
|
||||
`--model` має бути повним посиланням `<provider/model>`. Коли його задано, `openclaw infer image describe` запускає цю модель напряму, замість того щоб пропускати опис через те, що модель підтримує вбудований комп’ютерний зір.
|
||||
|
||||
Щоб зробити Ollama типовою моделлю розуміння зображень для вхідних медіа, налаштуйте `agents.defaults.imageModel`:
|
||||
Використовуйте `infer image describe`, коли вам потрібні потік провайдера розуміння зображень OpenClaw, налаштований `agents.defaults.imageModel` і форма виводу опису зображення. Використовуйте `infer model run --file`, коли вам потрібна сира перевірка мультимодальної моделі з користувацьким промптом і одним або кількома зображеннями.
|
||||
|
||||
Щоб зробити Ollama стандартною моделлю розуміння зображень для вхідних медіа, налаштуйте `agents.defaults.imageModel`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -290,9 +311,9 @@ openclaw infer image describe \
|
||||
}
|
||||
```
|
||||
|
||||
Надавайте перевагу повному посиланню `ollama/<model>`. Якщо та сама модель указана в `models.providers.ollama.models` з `input: ["text", "image"]` і жоден інший налаштований провайдер зображень не надає цей простий ID моделі, OpenClaw також нормалізує просте посилання `imageModel`, як-от `qwen2.5vl:7b`, до `ollama/qwen2.5vl:7b`. Якщо більше ніж один налаштований провайдер зображень має той самий простий ID, явно використовуйте префікс провайдера.
|
||||
Надавайте перевагу повному посиланню `ollama/<model>`. Якщо та сама модель указана в `models.providers.ollama.models` з `input: ["text", "image"]` і жоден інший налаштований провайдер зображень не надає цей чистий ID моделі, OpenClaw також нормалізує чисте посилання `imageModel`, наприклад `qwen2.5vl:7b`, до `ollama/qwen2.5vl:7b`. Якщо більше ніж один налаштований провайдер зображень має той самий чистий ID, явно використовуйте префікс провайдера.
|
||||
|
||||
Повільним локальним vision-моделям може знадобитися довший тайм-аут розуміння зображень, ніж хмарним моделям. Вони також можуть аварійно завершувати роботу або зупинятися, коли Ollama намагається виділити повний заявлений vision-контекст на обмеженому обладнанні. Задайте тайм-аут можливості та обмежте `num_ctx` у записі моделі, коли вам потрібен лише звичайний хід опису зображення:
|
||||
Повільним локальним моделям комп’ютерного зору може знадобитися довший тайм-аут розуміння зображень, ніж хмарним моделям. Вони також можуть аварійно завершувати роботу або зупинятися, коли Ollama намагається виділити повний заявлений контекст комп’ютерного зору на обмеженому обладнанні. Задайте тайм-аут можливості й обмежте `num_ctx` у записі моделі, коли вам потрібен лише звичайний хід опису зображення:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -321,16 +342,16 @@ openclaw infer image describe \
|
||||
}
|
||||
```
|
||||
|
||||
Цей тайм-аут застосовується до розуміння вхідних зображень і до явного інструмента `image`, який агент може викликати під час ходу. `models.providers.ollama.timeoutSeconds` на рівні провайдера й надалі керує базовим захистом HTTP-запиту Ollama для звичайних викликів моделі.
|
||||
Цей тайм-аут застосовується до розуміння вхідних зображень і до явного інструмента `image`, який агент може викликати під час ходу. `models.providers.ollama.timeoutSeconds` на рівні провайдера й надалі керує базовим запобіжником HTTP-запиту Ollama для звичайних викликів моделі.
|
||||
|
||||
Live-перевірка явного інструмента зображень із локальним Ollama:
|
||||
Виконайте live-перевірку явного інструмента зображень із локальною Ollama за допомогою:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA_IMAGE=1 \
|
||||
pnpm test:live -- src/agents/tools/image-tool.ollama.live.test.ts
|
||||
```
|
||||
|
||||
Якщо ви визначаєте `models.providers.ollama.models` вручну, позначайте vision-моделі підтримкою введення зображень:
|
||||
Якщо ви визначаєте `models.providers.ollama.models` вручну, позначайте моделі комп’ютерного зору як такі, що підтримують введення зображень:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -342,7 +363,7 @@ OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA_IMAGE=1 \
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw відхиляє запити на опис зображень для моделей, які не позначені як здатні працювати із зображеннями. За неявного виявлення OpenClaw зчитує це з Ollama, коли `/api/show` повідомляє про vision-можливість.
|
||||
OpenClaw відхиляє запити на опис зображень для моделей, які не позначені як здатні працювати із зображеннями. За неявного виявлення OpenClaw зчитує це з Ollama, коли `/api/show` повідомляє про можливість комп’ютерного зору.
|
||||
|
||||
## Конфігурація
|
||||
|
||||
@ -355,13 +376,13 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
```
|
||||
|
||||
<Tip>
|
||||
Якщо `OLLAMA_API_KEY` задано, можна опустити `apiKey` у записі провайдера, і OpenClaw заповнить його для перевірок доступності.
|
||||
Якщо `OLLAMA_API_KEY` задано, ви можете пропустити `apiKey` у записі провайдера, і OpenClaw заповнить його для перевірок доступності.
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Явна (ручні моделі)">
|
||||
Використовуйте явну конфігурацію, коли потрібне розміщене хмарне налаштування, Ollama працює на іншому хості/порту, ви хочете примусово задати конкретні вікна контексту або списки моделей, чи потрібні повністю ручні визначення моделей.
|
||||
<Tab title="Явна конфігурація (моделі вручну)">
|
||||
Використовуйте явну конфігурацію, коли потрібне розгорнуте у хмарі налаштування, Ollama працює на іншому хості/порту, потрібно примусово задати певні контекстні вікна або списки моделей, чи потрібні повністю ручні визначення моделей.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -390,8 +411,8 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Власний базовий URL">
|
||||
Якщо Ollama працює на іншому хості або порту (явна конфігурація вимикає автовиявлення, тож визначайте моделі вручну):
|
||||
<Tab title="Власна базова URL-адреса">
|
||||
Якщо Ollama працює на іншому хості або порту (явна конфігурація вимикає автоматичне виявлення, тож визначайте моделі вручну):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -418,7 +439,7 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
```
|
||||
|
||||
<Warning>
|
||||
Не додавайте `/v1` до URL. Шлях `/v1` використовує режим, сумісний з OpenAI, де виклики інструментів ненадійні. Використовуйте базовий URL Ollama без суфікса шляху.
|
||||
Не додавайте `/v1` до URL-адреси. Шлях `/v1` використовує режим, сумісний з OpenAI, де виклик інструментів ненадійний. Використовуйте базову URL-адресу Ollama без суфікса шляху.
|
||||
</Warning>
|
||||
|
||||
</Tab>
|
||||
@ -426,10 +447,10 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
|
||||
## Поширені рецепти
|
||||
|
||||
Використовуйте їх як відправні точки та замінюйте ID моделей точними назвами з `ollama list` або `openclaw models list --provider ollama`.
|
||||
Використовуйте їх як початкові варіанти та замінюйте ідентифікатори моделей точними назвами з `ollama list` або `openclaw models list --provider ollama`.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Локальна модель з автовиявленням">
|
||||
<Accordion title="Локальна модель з автоматичним виявленням">
|
||||
Використовуйте це, коли Ollama працює на тій самій машині, що й Gateway, і ви хочете, щоб OpenClaw автоматично виявляв установлені моделі.
|
||||
|
||||
```bash
|
||||
@ -445,7 +466,7 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LAN-хост Ollama з ручними моделями">
|
||||
Використовуйте нативні URL Ollama для LAN-хостів. Не додавайте `/v1`.
|
||||
Використовуйте нативні URL-адреси Ollama для LAN-хостів. Не додавайте `/v1`.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -482,7 +503,7 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
}
|
||||
```
|
||||
|
||||
`contextWindow` — це бюджет контексту на боці OpenClaw. `params.num_ctx` надсилається до Ollama для запиту. Узгоджуйте їх, коли ваше обладнання не може запускати повний заявлений контекст моделі.
|
||||
`contextWindow` — це бюджет контексту на боці OpenClaw. `params.num_ctx` надсилається до Ollama для запиту. Тримайте їх узгодженими, коли ваше обладнання не може запускати повний заявлений контекст моделі.
|
||||
|
||||
</Accordion>
|
||||
|
||||
@ -524,8 +545,8 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Хмара плюс локальні моделі через демон із виконаним входом">
|
||||
Використовуйте це, коли локальний або LAN-демон Ollama ввійшов через `ollama signin` і має обслуговувати як локальні моделі, так і моделі `:cloud`.
|
||||
<Accordion title="Хмара плюс локальні моделі через авторизований демон">
|
||||
Використовуйте це, коли локальний або LAN-демон Ollama авторизований через `ollama signin` і має обслуговувати як локальні моделі, так і моделі `:cloud`.
|
||||
|
||||
```bash
|
||||
ollama signin
|
||||
@ -562,7 +583,7 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Кілька хостів Ollama">
|
||||
Використовуйте власні ID провайдерів, коли маєте більше ніж один сервер Ollama. Кожен провайдер отримує власний хост, моделі, автентифікацію, тайм-аут і посилання на моделі.
|
||||
Використовуйте власні ідентифікатори провайдерів, коли маєте більше ніж один сервер Ollama. Кожен провайдер отримує власний хост, моделі, автентифікацію, тайм-аут і посилання на моделі.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -636,8 +657,8 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
}
|
||||
```
|
||||
|
||||
Використовуйте `compat.supportsTools: false` лише тоді, коли модель або сервер стабільно дає збій на схемах інструментів. Це обмінює можливості агента на стабільність.
|
||||
`localModelLean` прибирає інструменти браузера, cron і повідомлень із поверхні агента, але не змінює контекст середовища виконання Ollama або режим мислення. Поєднуйте це з явними `params.num_ctx` і `params.thinking: false` для невеликих Qwen-подібних thinking-моделей, які зациклюються або витрачають бюджет відповіді на приховане міркування.
|
||||
Використовуйте `compat.supportsTools: false` лише тоді, коли модель або сервер надійно дає збій на схемах інструментів. Це обмінює можливості агента на стабільність.
|
||||
`localModelLean` прибирає інструменти браузера, cron і повідомлень із поверхні агента, але не змінює runtime-контекст Ollama або режим мислення. Поєднуйте це з явними `params.num_ctx` і `params.thinking: false` для малих Qwen-подібних моделей мислення, які зациклюються або витрачають свій бюджет відповіді на приховане міркування.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
@ -660,11 +681,11 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
```
|
||||
|
||||
Також підтримуються користувацькі ідентифікатори провайдерів Ollama. Коли посилання на модель використовує активний
|
||||
префікс провайдера, як-от `ollama-spark/qwen3:32b`, OpenClaw прибирає лише цей
|
||||
префікс провайдера, як-от `ollama-spark/qwen3:32b`, OpenClaw видаляє лише цей
|
||||
префікс перед викликом Ollama, щоб сервер отримав `qwen3:32b`.
|
||||
|
||||
Для повільних локальних моделей спершу налаштовуйте запити на рівні провайдера, перш ніж збільшувати
|
||||
тайм-аут усього середовища виконання агента:
|
||||
Для повільних локальних моделей віддавайте перевагу налаштуванню запитів на рівні провайдера перед збільшенням
|
||||
тайм-ауту runtime всього агента:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -685,10 +706,10 @@ OpenClaw відхиляє запити на опис зображень для
|
||||
}
|
||||
```
|
||||
|
||||
`timeoutSeconds` застосовується до HTTP-запиту моделі, включно з установленням з'єднання,
|
||||
заголовками, потоковою передачею тіла та повним перериванням захищеного отримання. `params.keep_alive`
|
||||
передається в Ollama як верхньорівневий `keep_alive` для нативних запитів `/api/chat`;
|
||||
задавайте його для кожної моделі, коли час завантаження першого ходу є вузьким місцем.
|
||||
`timeoutSeconds` застосовується до HTTP-запиту моделі, включно з установленням з’єднання,
|
||||
заголовками, потоковою передачею тіла й загальним guarded-fetch abort. `params.keep_alive`
|
||||
передається до Ollama як верхньорівневий `keep_alive` у нативних запитах `/api/chat`;
|
||||
задавайте його для кожної моделі, коли вузьким місцем є час завантаження першого ходу.
|
||||
|
||||
### Швидка перевірка
|
||||
|
||||
@ -706,17 +727,17 @@ openclaw infer model run \
|
||||
--prompt "Reply with exactly: ok"
|
||||
```
|
||||
|
||||
Для віддалених хостів замініть `127.0.0.1` на хост, використаний у `baseUrl`. Якщо `curl` працює, а OpenClaw ні, перевірте, чи Gateway не працює на іншій машині, у контейнері або під іншим службовим обліковим записом.
|
||||
Для віддалених хостів замініть `127.0.0.1` на хост, використаний у `baseUrl`. Якщо `curl` працює, а OpenClaw ні, перевірте, чи Gateway не працює на іншій машині, у контейнері або під іншим сервісним обліковим записом.
|
||||
|
||||
## Вебпошук Ollama
|
||||
|
||||
OpenClaw підтримує **вебпошук Ollama** як вбудований провайдер `web_search`.
|
||||
|
||||
| Властивість | Подробиці |
|
||||
| Властивість | Деталі |
|
||||
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Хост | Використовує налаштований хост Ollama (`models.providers.ollama.baseUrl`, якщо задано, інакше `http://127.0.0.1:11434`); `https://ollama.com` використовує розміщений API напряму |
|
||||
| Автентифікація | Без ключа для локальних хостів Ollama із виконаним входом; `OLLAMA_API_KEY` або налаштована автентифікація провайдера для прямого пошуку через `https://ollama.com` чи хостів із захищеним доступом |
|
||||
| Вимога | Локальні/самостійно розміщені хости мають бути запущені й мати виконаний вхід через `ollama signin`; прямий розміщений пошук потребує `baseUrl: "https://ollama.com"` і справжній API-ключ Ollama |
|
||||
| Хост | Використовує ваш налаштований хост Ollama (`models.providers.ollama.baseUrl`, якщо задано, інакше `http://127.0.0.1:11434`); `https://ollama.com` використовує розміщений API напряму |
|
||||
| Auth | Без ключа для локальних хостів Ollama із виконаним входом; `OLLAMA_API_KEY` або налаштована автентифікація провайдера для прямого пошуку через `https://ollama.com` або хостів із захищеним доступом |
|
||||
| Вимога | Локальні/самостійно розміщені хости мають бути запущені та мати виконаний вхід через `ollama signin`; прямий розміщений пошук потребує `baseUrl: "https://ollama.com"` і справжнього API-ключа Ollama |
|
||||
|
||||
Виберіть **вебпошук Ollama** під час `openclaw onboard` або `openclaw configure --section web`, або задайте:
|
||||
|
||||
@ -754,21 +775,21 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Для локального демона з виконаним входом OpenClaw використовує проксі демона `/api/experimental/web_search`. Для `https://ollama.com` він викликає розміщену кінцеву точку `/api/web_search` напряму.
|
||||
Для локального daemon із виконаним входом OpenClaw використовує проксі daemon `/api/experimental/web_search`. Для `https://ollama.com` він викликає розміщений endpoint `/api/web_search` напряму.
|
||||
|
||||
<Note>
|
||||
Повні подробиці налаштування та поведінки див. у розділі [вебпошук Ollama](/uk/tools/ollama-search).
|
||||
Повне налаштування та деталі поведінки див. у [вебпошуку Ollama](/uk/tools/ollama-search).
|
||||
</Note>
|
||||
|
||||
## Розширена конфігурація
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Застарілий OpenAI-сумісний режим">
|
||||
<Accordion title="Застарілий режим, сумісний з OpenAI">
|
||||
<Warning>
|
||||
**Виклик інструментів в OpenAI-сумісному режимі ненадійний.** Використовуйте цей режим лише тоді, коли вам потрібен формат OpenAI для проксі й ви не залежите від нативної поведінки виклику інструментів.
|
||||
**Виклик інструментів ненадійний у режимі, сумісному з OpenAI.** Використовуйте цей режим лише якщо вам потрібен формат OpenAI для proxy й ви не залежите від нативної поведінки виклику інструментів.
|
||||
</Warning>
|
||||
|
||||
Якщо натомість потрібно використовувати OpenAI-сумісну кінцеву точку (наприклад, за проксі, який підтримує лише формат OpenAI), явно задайте `api: "openai-completions"`:
|
||||
Якщо натомість потрібно використовувати endpoint, сумісний з OpenAI (наприклад, за proxy, який підтримує лише формат OpenAI), явно задайте `api: "openai-completions"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -786,9 +807,9 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Цей режим може не підтримувати потокову передачу й виклик інструментів одночасно. Можливо, вам доведеться вимкнути потокову передачу за допомогою `params: { streaming: false }` у конфігурації моделі.
|
||||
Цей режим може не підтримувати потокову передачу й виклик інструментів одночасно. Можливо, доведеться вимкнути потокову передачу через `params: { streaming: false }` у конфігурації моделі.
|
||||
|
||||
Коли `api: "openai-completions"` використовується з Ollama, OpenClaw за замовчуванням вставляє `options.num_ctx`, щоб Ollama мовчки не відкотилася до контекстного вікна 4096. Якщо ваш проксі або upstream відхиляє невідомі поля `options`, вимкніть цю поведінку:
|
||||
Коли `api: "openai-completions"` використовується з Ollama, OpenClaw за замовчуванням інжектує `options.num_ctx`, щоб Ollama не повертався непомітно до контекстного вікна 4096. Якщо ваш proxy/upstream відхиляє невідомі поля `options`, вимкніть цю поведінку:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -809,11 +830,11 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Контекстні вікна">
|
||||
Для автоматично виявлених моделей OpenClaw використовує контекстне вікно, про яке повідомляє Ollama, коли воно доступне, включно з більшими значеннями `PARAMETER num_ctx` із користувацьких Modelfile. Інакше він повертається до стандартного контекстного вікна Ollama, яке використовує OpenClaw.
|
||||
Для автоматично виявлених моделей OpenClaw використовує контекстне вікно, повідомлене Ollama, коли воно доступне, включно з більшими значеннями `PARAMETER num_ctx` із користувацьких Modelfiles. Інакше він повертається до типового контекстного вікна Ollama, яке використовує OpenClaw.
|
||||
|
||||
Ви можете задати стандартні значення `contextWindow`, `contextTokens` і `maxTokens` на рівні провайдера для кожної моделі цього провайдера Ollama, а потім перевизначати їх для окремих моделей за потреби. `contextWindow` — це бюджет підказки й Compaction в OpenClaw. Нативні запити Ollama залишають `options.num_ctx` незаданим, якщо ви явно не налаштували `params.num_ctx`, тож Ollama може застосувати власне значення моделі, `OLLAMA_CONTEXT_LENGTH` або стандарт на основі VRAM. Щоб обмежити або примусово задати контекст середовища виконання Ollama для кожного запиту без перебудови Modelfile, задайте `params.num_ctx`; недійсні, нульові, від'ємні та нескінченні значення ігноруються. OpenAI-сумісний адаптер Ollama і далі за замовчуванням вставляє `options.num_ctx` із налаштованого `params.num_ctx` або `contextWindow`; вимкніть це за допомогою `injectNumCtxForOpenAICompat: false`, якщо ваш upstream відхиляє `options`.
|
||||
Ви можете задати типові значення `contextWindow`, `contextTokens` і `maxTokens` на рівні провайдера для кожної моделі під цим провайдером Ollama, а потім перевизначати їх для окремих моделей за потреби. `contextWindow` — це бюджет prompt і Compaction OpenClaw. Нативні запити Ollama лишають `options.num_ctx` незаданим, якщо ви явно не налаштуєте `params.num_ctx`, тож Ollama може застосувати власну модель, `OLLAMA_CONTEXT_LENGTH` або типове значення на основі VRAM. Щоб обмежити або примусово задати runtime-контекст Ollama для кожного запиту без перебудови Modelfile, задайте `params.num_ctx`; недійсні, нульові, від’ємні та нескінченні значення ігноруються. Ollama-адаптер, сумісний з OpenAI, усе ще за замовчуванням інжектує `options.num_ctx` із налаштованого `params.num_ctx` або `contextWindow`; вимкніть це через `injectNumCtxForOpenAICompat: false`, якщо ваш upstream відхиляє `options`.
|
||||
|
||||
Нативні записи моделей Ollama також приймають поширені параметри середовища виконання Ollama у `params`, включно з `temperature`, `top_p`, `top_k`, `min_p`, `num_predict`, `stop`, `repeat_penalty`, `num_batch`, `num_thread` і `use_mmap`. OpenClaw передає лише ключі запиту Ollama, тому параметри середовища виконання OpenClaw, як-от `streaming`, не потрапляють до Ollama. Використовуйте `params.think` або `params.thinking`, щоб надіслати верхньорівневий Ollama `think`; `false` вимикає мислення на рівні API для моделей мислення в стилі Qwen.
|
||||
Нативні записи моделей Ollama також приймають поширені runtime-опції Ollama у `params`, включно з `temperature`, `top_p`, `top_k`, `min_p`, `num_predict`, `stop`, `repeat_penalty`, `num_batch`, `num_thread` і `use_mmap`. OpenClaw передає лише ключі запитів Ollama, тож runtime-параметри OpenClaw, як-от `streaming`, не потрапляють до Ollama. Використовуйте `params.think` або `params.thinking`, щоб надіслати верхньорівневий Ollama `think`; `false` вимикає мислення на рівні API для Qwen-подібних моделей мислення.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -840,19 +861,19 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
`agents.defaults.models["ollama/<model>"].params.num_ctx` для окремої моделі також працює. Якщо налаштовано обидва варіанти, явний запис моделі провайдера має пріоритет над стандартом агента.
|
||||
Також працює `agents.defaults.models["ollama/<model>"].params.num_ctx` на рівні моделі. Якщо налаштовано обидва, явний запис моделі провайдера має пріоритет над типовим значенням агента.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Керування мисленням">
|
||||
Для нативних моделей Ollama OpenClaw передає керування мисленням так, як очікує Ollama: верхньорівневий `think`, а не `options.think`. Автоматично виявлені моделі, відповідь `/api/show` яких містить можливість `thinking`, показують `/think low`, `/think medium`, `/think high` і `/think max`; моделі без мислення показують лише `/think off`.
|
||||
Для нативних моделей Ollama OpenClaw передає керування мисленням так, як очікує Ollama: верхньорівневий `think`, а не `options.think`. Автоматично виявлені моделі, чия відповідь `/api/show` містить capability `thinking`, показують `/think low`, `/think medium`, `/think high` і `/think max`; моделі без мислення показують лише `/think off`.
|
||||
|
||||
```bash
|
||||
openclaw agent --model ollama/gemma4 --thinking off
|
||||
openclaw agent --model ollama/gemma4 --thinking low
|
||||
```
|
||||
|
||||
Ви також можете задати стандарт для моделі:
|
||||
Також можна задати типове значення моделі:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -868,7 +889,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
`params.think` або `params.thinking` для окремої моделі може вимкнути або примусово ввімкнути мислення API Ollama для конкретної налаштованої моделі. OpenClaw зберігає ці явні параметри моделі, коли активний запуск має лише неявне стандартне значення `off`; команди середовища виконання не `off`, як-от `/think medium`, усе одно перевизначають активний запуск.
|
||||
`params.think` або `params.thinking` на рівні моделі може вимкнути або примусово ввімкнути API-мислення Ollama для конкретної налаштованої моделі. OpenClaw зберігає ці явні параметри моделі, коли активний запуск має лише неявне типове значення `off`; runtime-команди, відмінні від off, як-от `/think medium`, усе ще перевизначають активний запуск.
|
||||
|
||||
</Accordion>
|
||||
|
||||
@ -884,23 +905,23 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Вартість моделей">
|
||||
Ollama безплатна й працює локально, тому всі вартості моделей установлені в $0. Це стосується як автоматично виявлених, так і вручну визначених моделей.
|
||||
Ollama безплатний і працює локально, тому всі вартості моделей установлені на $0. Це стосується як автоматично виявлених, так і вручну визначених моделей.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ембеддинги пам'яті">
|
||||
Вбудований Plugin Ollama реєструє провайдер ембеддингів пам'яті для
|
||||
[пошуку в пам'яті](/uk/concepts/memory). Він використовує налаштований базовий URL Ollama
|
||||
та API-ключ, викликає поточну кінцеву точку Ollama `/api/embed` і за можливості об'єднує
|
||||
кілька фрагментів пам'яті в один запит `input`.
|
||||
<Accordion title="Ембедінги пам’яті">
|
||||
Вбудований plugin Ollama реєструє провайдер ембедінгів пам’яті для
|
||||
[пошуку в пам’яті](/uk/concepts/memory). Він використовує налаштований базовий URL Ollama
|
||||
та API-ключ, викликає поточний endpoint Ollama `/api/embed` і, коли можливо, об’єднує
|
||||
кілька фрагментів пам’яті в один запит `input`.
|
||||
|
||||
| Властивість | Значення |
|
||||
| ------------- | ------------------- |
|
||||
| Стандартна модель | `nomic-embed-text` |
|
||||
| Автоматичне завантаження | Так — модель ембеддингів завантажується автоматично, якщо її немає локально |
|
||||
| Властивість | Значення |
|
||||
| --------------- | ------------------- |
|
||||
| Типова модель | `nomic-embed-text` |
|
||||
| Auto-pull | Так — модель ембедінгів автоматично завантажується, якщо її немає локально |
|
||||
|
||||
Ембеддинги під час запиту використовують префікси отримання для моделей, які їх потребують або рекомендують, зокрема `nomic-embed-text`, `qwen3-embedding` і `mxbai-embed-large`. Пакети документів пам'яті залишаються сирими, щоб наявні індекси не потребували міграції формату.
|
||||
Ембедінги під час запиту використовують retrieval prefixes для моделей, які їх потребують або рекомендують, включно з `nomic-embed-text`, `qwen3-embedding` і `mxbai-embed-large`. Пакети документів пам’яті лишаються сирими, щоб наявні індекси не потребували міграції формату.
|
||||
|
||||
Щоб вибрати Ollama як провайдера ембеддингів для пошуку в пам'яті:
|
||||
Щоб вибрати Ollama як провайдер ембедінгів пошуку в пам’яті:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -918,7 +939,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Для віддаленого хоста ембеддингів тримайте автентифікацію обмеженою цим хостом:
|
||||
Для віддаленого хоста ембедінгів тримайте автентифікацію обмеженою цим хостом:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -940,13 +961,13 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Конфігурація потокової передачі">
|
||||
Інтеграція OpenClaw з Ollama за замовчуванням використовує **нативний API Ollama** (`/api/chat`), який повністю підтримує потокову передачу й виклик інструментів одночасно. Спеціальна конфігурація не потрібна.
|
||||
<Accordion title="Конфігурація потокового передавання">
|
||||
Інтеграція OpenClaw з Ollama за замовчуванням використовує **нативний API Ollama** (`/api/chat`), який повністю підтримує потокове передавання та виклики інструментів одночасно. Спеціальна конфігурація не потрібна.
|
||||
|
||||
Для нативних запитів `/api/chat` OpenClaw також передає керування мисленням напряму в Ollama: `/think off` і `openclaw agent --thinking off` надсилають верхньорівневий `think: false`, якщо не налаштовано явне значення моделі `params.think`/`params.thinking`, тоді як `/think low|medium|high` надсилають відповідний верхньорівневий рядок зусилля `think`. `/think max` зіставляється з найвищим нативним зусиллям Ollama, `think: "high"`.
|
||||
Для нативних запитів `/api/chat` OpenClaw також напряму передає керування мисленням до Ollama: `/think off` і `openclaw agent --thinking off` надсилають `think: false` верхнього рівня, якщо не налаштовано явне значення `params.think`/`params.thinking` моделі, а `/think low|medium|high` надсилають відповідний рядок рівня зусилля `think` верхнього рівня. `/think max` відповідає найвищому нативному рівню зусилля Ollama, `think: "high"`.
|
||||
|
||||
<Tip>
|
||||
Якщо вам потрібно використовувати OpenAI-сумісну кінцеву точку, див. розділ "Застарілий OpenAI-сумісний режим" вище. Потокова передача й виклик інструментів можуть не працювати одночасно в цьому режимі.
|
||||
Якщо вам потрібно використовувати сумісну з OpenAI кінцеву точку, див. розділ «Застарілий режим сумісності з OpenAI» вище. Потокове передавання та виклики інструментів можуть не працювати одночасно в цьому режимі.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
@ -956,7 +977,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Цикл збоїв WSL2 (повторні перезавантаження)">
|
||||
У WSL2 з NVIDIA/CUDA офіційний інсталятор Ollama для Linux створює systemd-модуль `ollama.service` із `Restart=always`. Якщо ця служба запускається автоматично й завантажує модель із підтримкою GPU під час завантаження WSL2, Ollama може закріпити пам'ять хоста, доки модель завантажується. Механізм повернення пам'яті Hyper-V не завжди може повернути ці закріплені сторінки, тому Windows може завершити VM WSL2, systemd знову запускає Ollama, і цикл повторюється.
|
||||
У WSL2 з NVIDIA/CUDA офіційний інсталятор Ollama для Linux створює systemd-юніт `ollama.service` з `Restart=always`. Якщо ця служба запускається автоматично й завантажує модель із підтримкою GPU під час запуску WSL2, Ollama може закріпити пам’ять хоста, доки модель завантажується. Механізм повернення пам’яті Hyper-V не завжди може звільнити ці закріплені сторінки, тому Windows може завершити VM WSL2, systemd знову запускає Ollama, і цикл повторюється.
|
||||
|
||||
Типові ознаки:
|
||||
|
||||
@ -964,7 +985,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
- високе навантаження CPU в `app.slice` або `ollama.service` невдовзі після запуску WSL2
|
||||
- SIGTERM від systemd, а не подія Linux OOM-killer
|
||||
|
||||
OpenClaw реєструє попередження під час запуску, коли виявляє WSL2, увімкнений `ollama.service` з `Restart=always` і видимі маркери CUDA.
|
||||
OpenClaw записує попередження під час запуску, коли виявляє WSL2, увімкнений `ollama.service` з `Restart=always` і видимі маркери CUDA.
|
||||
|
||||
Пом’якшення:
|
||||
|
||||
@ -972,14 +993,14 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
sudo systemctl disable ollama
|
||||
```
|
||||
|
||||
Додайте це до `%USERPROFILE%\.wslconfig` на стороні Windows, а потім виконайте `wsl --shutdown`:
|
||||
Додайте це до `%USERPROFILE%\.wslconfig` на стороні Windows, потім виконайте `wsl --shutdown`:
|
||||
|
||||
```ini
|
||||
[experimental]
|
||||
autoMemoryReclaim=disabled
|
||||
```
|
||||
|
||||
Задайте коротший keep-alive у середовищі сервісу Ollama або запускайте Ollama вручну лише тоді, коли він потрібен:
|
||||
Установіть коротший keep-alive у середовищі служби Ollama або запускайте Ollama вручну лише тоді, коли вона потрібна:
|
||||
|
||||
```bash
|
||||
export OLLAMA_KEEP_ALIVE=5m
|
||||
@ -991,7 +1012,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ollama не виявлено">
|
||||
Переконайтеся, що Ollama запущено, що ви задали `OLLAMA_API_KEY` (або профіль автентифікації), і що ви **не** визначили явний запис `models.providers.ollama`:
|
||||
Переконайтеся, що Ollama запущено, що ви встановили `OLLAMA_API_KEY` (або профіль автентифікації) і що ви **не** визначили явний запис `models.providers.ollama`:
|
||||
|
||||
```bash
|
||||
ollama serve
|
||||
@ -1018,7 +1039,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="У з’єднанні відмовлено">
|
||||
Перевірте, що Ollama запущено на правильному порту:
|
||||
Перевірте, що Ollama працює на правильному порту:
|
||||
|
||||
```bash
|
||||
# Check if Ollama is running
|
||||
@ -1031,26 +1052,26 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Віддалений хост працює з curl, але не з OpenClaw">
|
||||
Перевірте з тієї самої машини та runtime, де працює Gateway:
|
||||
Перевірте з тієї самої машини та середовища виконання, де працює Gateway:
|
||||
|
||||
```bash
|
||||
openclaw gateway status --deep
|
||||
curl http://ollama-host:11434/api/tags
|
||||
```
|
||||
|
||||
Поширені причини:
|
||||
Типові причини:
|
||||
|
||||
- `baseUrl` вказує на `localhost`, але Gateway працює в Docker або на іншому хості.
|
||||
- URL використовує `/v1`, що вибирає OpenAI-сумісну поведінку замість нативної Ollama.
|
||||
- Віддаленому хосту потрібні зміни firewall або прив’язки LAN на стороні Ollama.
|
||||
- Модель є в daemon вашого ноутбука, але відсутня у віддаленому daemon.
|
||||
- `baseUrl` указує на `localhost`, але Gateway працює в Docker або на іншому хості.
|
||||
- URL використовує `/v1`, що вибирає сумісну з OpenAI поведінку замість нативної Ollama.
|
||||
- Віддалений хост потребує змін firewall або прив’язки до LAN на стороні Ollama.
|
||||
- Модель є в демоні вашого ноутбука, але її немає у віддаленому демоні.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Модель виводить JSON інструменту як текст">
|
||||
Зазвичай це означає, що провайдер використовує OpenAI-сумісний режим або модель не може обробляти схеми інструментів.
|
||||
Зазвичай це означає, що постачальник використовує сумісний з OpenAI режим або модель не може обробляти схеми інструментів.
|
||||
|
||||
Надавайте перевагу нативному режиму Ollama:
|
||||
Віддавайте перевагу нативному режиму Ollama:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -1065,14 +1086,14 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Якщо мала локальна модель усе ще не справляється зі схемами інструментів, задайте `compat.supportsTools: false` у записі цієї моделі й протестуйте знову.
|
||||
Якщо невелика локальна модель усе ще не справляється зі схемами інструментів, установіть `compat.supportsTools: false` у записі цієї моделі й перевірте ще раз.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Kimi або GLM повертає спотворені символи">
|
||||
Розміщені відповіді Kimi/GLM, які є довгими, немовними послідовностями символів, обробляються як невдалий вивід провайдера, а не як успішна відповідь асистента. Це дає змогу звичайній повторній спробі, fallback або обробці помилок перебрати керування без збереження пошкодженого тексту в сесії.
|
||||
Розміщені відповіді Kimi/GLM, які є довгими нелігвістичними послідовностями символів, обробляються як невдалий вивід постачальника, а не як успішна відповідь асистента. Це дає змогу звичайному повтору, fallback або обробці помилки спрацювати без збереження пошкодженого тексту в сесії.
|
||||
|
||||
Якщо це повторюється, зафіксуйте сире ім’я моделі, поточний файл сесії та чи використовував запуск `Cloud + Local` або `Cloud only`, а потім спробуйте нову сесію та fallback-модель:
|
||||
Якщо це повторюється, зафіксуйте сире ім’я моделі, поточний файл сесії та чи запуск використовував `Cloud + Local` або `Cloud only`, потім спробуйте нову сесію та fallback-модель:
|
||||
|
||||
```bash
|
||||
openclaw infer model run --model ollama/kimi-k2.5:cloud --prompt "Reply with exactly: ok" --json
|
||||
@ -1082,7 +1103,7 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Холодна локальна модель завершується за тайм-аутом">
|
||||
Великим локальним моделям може знадобитися тривале перше завантаження, перш ніж почнеться streaming. Обмежте timeout провайдером Ollama і, за бажанням, попросіть Ollama тримати модель завантаженою між ходами:
|
||||
Великим локальним моделям може знадобитися тривале перше завантаження перед початком потокового передавання. Обмежте тайм-аут постачальником Ollama й за потреби попросіть Ollama тримати модель завантаженою між ходами:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -1103,12 +1124,12 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Якщо сам хост повільно приймає з’єднання, `timeoutSeconds` також подовжує захищений timeout з’єднання Undici для цього провайдера.
|
||||
Якщо сам хост повільно приймає з’єднання, `timeoutSeconds` також подовжує захищений тайм-аут підключення Undici для цього постачальника.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Модель із великим контекстом занадто повільна або вичерпує пам’ять">
|
||||
Багато моделей Ollama оголошують контексти, які більші, ніж ваше обладнання може комфортно виконувати. Нативна Ollama використовує власний стандартний runtime-контекст Ollama, якщо ви не задасте `params.num_ctx`. Обмежте і бюджет OpenClaw, і контекст запиту Ollama, коли вам потрібна передбачувана затримка до першого токена:
|
||||
<Accordion title="Модель із великим контекстом надто повільна або вичерпує пам’ять">
|
||||
Багато моделей Ollama оголошують контексти, більші за ті, які ваше обладнання може комфортно виконувати. Нативна Ollama використовує власне стандартне значення контексту середовища виконання Ollama, якщо ви не встановите `params.num_ctx`. Обмежте і бюджет OpenClaw, і контекст запиту Ollama, коли хочете передбачувану затримку до першого токена:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -1130,26 +1151,26 @@ OpenClaw підтримує **вебпошук Ollama** як вбудовани
|
||||
}
|
||||
```
|
||||
|
||||
Спочатку зменште `contextWindow`, якщо OpenClaw надсилає забагато prompt. Зменште `params.num_ctx`, якщо Ollama завантажує runtime-контекст, завеликий для машини. Зменште `maxTokens`, якщо генерація триває надто довго.
|
||||
Спочатку зменште `contextWindow`, якщо OpenClaw надсилає забагато prompt. Зменште `params.num_ctx`, якщо Ollama завантажує контекст середовища виконання, який завеликий для машини. Зменште `maxTokens`, якщо генерація триває надто довго.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
Додаткова допомога: [Усунення несправностей](/uk/help/troubleshooting) і [Поширені запитання](/uk/help/faq).
|
||||
Більше довідки: [Усунення несправностей](/uk/help/troubleshooting) і [FAQ](/uk/help/faq).
|
||||
</Note>
|
||||
|
||||
## Пов’язане
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Провайдери моделей" href="/uk/concepts/model-providers" icon="layers">
|
||||
Огляд усіх провайдерів, посилань на моделі та поведінки failover.
|
||||
<Card title="Постачальники моделей" href="/uk/concepts/model-providers" icon="layers">
|
||||
Огляд усіх постачальників, посилань на моделі та поведінки failover.
|
||||
</Card>
|
||||
<Card title="Вибір моделі" href="/uk/concepts/models" icon="brain">
|
||||
Як вибирати й налаштовувати моделі.
|
||||
<Card title="Вибір моделей" href="/uk/concepts/models" icon="brain">
|
||||
Як вибирати й конфігурувати моделі.
|
||||
</Card>
|
||||
<Card title="Вебпошук Ollama" href="/uk/tools/ollama-search" icon="magnifying-glass">
|
||||
Повне налаштування та подробиці поведінки для вебпошуку на базі Ollama.
|
||||
Повне налаштування та деталі поведінки вебпошуку на базі Ollama.
|
||||
</Card>
|
||||
<Card title="Конфігурація" href="/uk/gateway/configuration" icon="gear">
|
||||
Повний довідник конфігурації.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user