Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

it:server:openwebui [2026/01/18 16:40] – vytvořeno Petr Nosekit:server:openwebui [2026/01/18 18:56] (aktuální) Petr Nosek
Řádek 1: Řádek 1:
-====== Open WebUI (self-hosting UI pro LLM) ======+====== Open WebUI: RAG, pluginy a integrace poskytovatelů (praktická orientace) ======
  
-===== Úvodní kontext =====+===== Úvod ===== 
 +Open WebUI používám jako webové rozhraní pro práci s LLM (chat, modely, nastavení) a pro napojení dalších funkcí přes RAG, pluginy a integrace poskytovatelů. V praxi mi slouží jako centrální UI, ve kterém kombinuji modely a rozšíření bez toho, abych přepisoval vlastní aplikaci.
  
-Open WebUI používám jako self-hostované webové rozhraní pro práci s LLM, protože mi dává jednu konzistentní „chat“ vrstvu nad více poskytovateli modelů a zároveň prostor pro rozšiřování (RAG, Functions/Pipelines, filtry)Když mi v poznámkách chybí konkrétní instalační krokyberu jako zdroj pravdy oficiální dokumentaci a tady popisuji postup jen obecně.+===== Kdy co použít (RAG vs pluginy vs integrace poskytovatelů===== 
 +Když si ujasňujijakou cestou něco řešit, držím se těchto pravidel:
  
-===== Co je v Open WebUI nejdůležitější =====+  * **RAG** používám, když potřebuji, aby model odpovídal z mých dokumentů (firemní know-how, návody, interní wiki) a šlo mi primárně o vyhledání relevantních pasáží a jejich citování/zužitkování. 
 +  * **Pluginy / funkce (filters, functions, pipelines)** používám, když chci upravit chování UI nebo požadavků na model (např. přepínač „reasoning“, transformace promptu, filtrování nebo přidání volitelných parametrů do requestu). 
 +  * **Integrace poskytovatelů (Gemini / Anthropic / OpenRouter)** používám, když chci přidat nové endpointy/modely a spravovat je jako zdroje v Open WebUI (typicky API klíče, dostupné modely, specifické parametry).
  
-==== RAG (Retrieval-Augmented Generation) ====+===== RAG (návody) ====
 +RAG beru jako „dokumenty → vyhledání → kontext v promptu“. Konkrétní postup konfigurace neodvozuji z poznámek, takže se držím oficiálního návodu.
  
-RAG beru jako způsob, jak přidat k odpovědím modelu kontext z mých dat (dokumenty, poznámky, interní wiki) bez toho, abych je musel „učit“ do modeluPrakticky to řeším jako samostatnou „feature“ v Open WebUI, která se dá nastudovat nakonfigurovat podle oficiálního návodu:+  * https://docs.openwebui.com/features/rag/   
 +    Tenhle odkaz používám jako hlavní dokumentaci k nastavení a používání RAG v Open WebUI (co to jejak to zapnout jak s tím pracovat v UI).
  
-  * [[https://docs.openwebui.com/features/rag/|RAG (Open WebUI docs)]]+===== Pluginypřepínač reasoning (reasoning toggle) ===== 
 +U „reasoning“ jsem narazil na praktickou potřebu: chci mít v UI jednoduché **zaškrtávací políčko**, které přepne chování modelu requestu bez toho, abych pokaždé ručně upravoval promptPro tohle existuje hotový community příspěvek a alternativně i ukázkový filter v developer toolkit repozitáři.
  
-==== Integrace poskytovatelů (providers====+  * [[https://openwebui.com/posts/a69a7a45-3960-42f1-bbf6-4c31ec982734|OpenAI Reasoning Effort • Open WebUI Community]]   
 +    Tenhle příspěvek z Open WebUI Community používám jako referenci k tomu, jak přidat do Open WebUI přepínač (checkboxpro „reasoning effort“ / reasoning režim.
  
-Open WebUI mi dává smysl tehdy, když chci kombinovat více backendů/modelů (např. různé API klíčerůzné cenové/performance profily, nebo specifické modality jako obrázky) pod jedním UI. Z mých poznámek tady explicitně řeším:+  * [[https://github.com/jrkropp/open-webui-developer-toolkit/blob/development/functions/filters/reason_toggle_filter/reason_toggle_filter.py|open-webui-developer-toolkit/functions/filters/reason_toggle_filter/reason_toggle_filter.py at development · jrkropp/open-webui-developer-toolkit · GitHub]]   
 +    Tenhle konkrétní soubor mi slouží jako čitelný příklad implementace „reason toggle“ filtru, když potřebuji pochopitco se reálně posílá a kde to v plugin architektuře sedí.
  
-  Google Gemini +Poznámka k praxi: u pluginů si hlídám, jestli jde o **UI/UX přepínač** (komfortnebo o **změnu request parametrů** (dopad na cenu/latenci/chování), protože „reasoning“ často mění spotřebu tokenů a výsledný styl odpovědí.
-  Claude (Anthropic) +
-  OpenRouter+
  
-===== Pluginy vs. Functions vs. Filtry vs. Pipelines (praktické vysvětlení) =====+===== Integrace poskytovatelů =====
  
-V komunitě a v projektu se často míchají pojmy. Já si je v praxi rozlišuji takto:+==== Google Gemini (včetně zmínky Nano Banana) ==== 
 +Gemini řeším jako integraci poskytovatele současně jako pipeline/skript, který napojuje širší kus Google API. V poznámkách mám explicitně zmíněno, že to zahrnuje i obrázkové modely jako **Nano Banana**, takže to beru jako „víc než jen text chat“.
  
-==== „Pluginy“ (komunitní rozšíření balíčky====+  * https://github.com/owndev/Open-WebUI-Functions/blob/main/pipelines/google/google_gemini.py   
 +    Tenhle soubor používám jako zdroj pravdy k tomu, jak je Gemini pipeline v Open WebUI reálně napojená (včetně toho, že sahá i na obrazové modely typu Nano Banana).
  
-Pluginem typicky myslím hotové komunitní řešení, které si vezmu a zapnu, protože řeší konkrétní potřebu bez zásahu do jádra. Příklad z mých poznámek je zapnutí reasoning modelu skrze zaškrtávací políčko, které je publikované jako komunitní íspěvek:+  * [[https://openwebui.com/posts/5a64dbc0-bd44-4d3a-84be-25232d5a-84be-25232d5a8e84|Google Gemini • Open WebUI Community]]   
 +    Tenhle community post používám jako UI-orientovanou“ referenci k integraci Gemini v Open WebUI (co idat a kde to v Open WebUI typicky najdu).
  
-  * [[https://openwebui.com/posts/a69a7a45-3960-42f1-bbf6-4c31ec982734|OpenAI Reasoning Effort • Open WebUI Community]]+==== Claude Anthropic (claude.ai) ==== 
 +Claude řeším přes integraci v Open WebUI, která je publikovaná v Open WebUI Community. V poznámkách je to označené jako integrace pro **claude.ai**, takže zachovávám pojmenování a držím se toho, co je v community postu.
  
-Kdy po tom sahámkdyž chci funkci rychle a nechci psát vlastní kód.+  * [[https://openwebui.com/posts/2e8d9af5-229a-4fa2-b6f9-95ec76d44c72|Anthropic • Open WebUI Community]]   
 +    Tenhle odkaz používám jako výchozí dokument k integraci Anthropic/Claude (claude.ai) do Open WebUI.
  
-==== Functions (logika, kterou přidávám do Open WebUI) ====+==== OpenRouter ==== 
 +OpenRouter používám, když chci jednotné API přes více modelů a poskytovatelů a nechci řešit každý backend zvlášť. V poznámkách mám jednak komunitní integraci a jednak doplněk, který má zobrazovat „reasoning tokeny“ v OpenRouteru.
  
-Functions beru jako mechanismus, jak do Open WebUI doplnit vlastní logiku: předzpracování promptu, obohacení kontextu, transformace výstupu, nebo kontrolu parametrůV poznámkách mám konkrétní ukázku v repozitáři „developer toolkit“, která je implementovaná jako filter function:+  * https://openwebui.com/posts/49e4df36-20dc-45a8-925f-382f445f80c1   
 +    Tenhle community post používám jako referenci k základní integraci OpenRouteru v Open WebUI.
  
-  * [[https://github.com/jrkropp/open-webui-developer-toolkit/blob/development/functions/filters/reason_toggle_filter/reason_toggle_filter.py|open-webui-developer-toolkit/functions/filters/reason_toggle_filter/reason_toggle_filter.py at development · jrkropp/open-webui-developer-toolkit · GitHub]]+  * repo: https://github.com/rmarfil3/openwebui-openrouter-reasoning-tokens   
 +    Tenhle repozitář používám jako doplněk/referenci, když potřebuji v Open WebUI vidět nebo řešit zobrazení „reasoning tokenů“ pro OpenRouter.
  
-Kdy po tom sahám: když potřebuji přesně řídit chování (např. „reasoning on/off“a hotový plugin mi nestačí.+===== Tipy a troubleshooting (rychlá reference===== 
 +Držím se jen toho, co plyne z poznámek, bez domýšlení konkrétních klikacích kroků:
  
-==== Filtry (specializovaný typ function) ==== +  Když řeším „reasoning“, ověřuji sijestli je to zapnuté přes **plugin přepínač** (reasoning togglenebo jestli to má řešit integrace poskytovatele; nejrychlejší orientace pro mě bývá es Open WebUI Community odkazy výše. 
- +  * Když řeším OpenRouter „reasoning tokeny“beru jako první krok ověření es repozitář ``openwebui-openrouter-reasoning-tokens``protože právě ten je v poznámkách explicitně uvedený jako řešení zobrazení reasoning tokenů
-Filtry si představuji jako „hooky“ v toku dat: něco upravím před odesláním do modelu, nebo po návratu odpovědi. V praxi mi to sedí na případy typu: +  * Když potřebuji Gemini „rozšířeně“ (včetně obrazových modelů jako Nano Banana), sahám primárně po implementaci v ``google_gemini.py``protožtam očekávám nejvíc detailů k tomuco integrace skutečně podporuje.
- +
-  přepínání „reasoning“ parametrů podle UI přepínače +
-  * sanitizace promptu +
-  * doplnění/omezení systémových instrukcí +
- +
-==== Pipelines (napojení providerůrouting, složitější tok) ==== +
- +
-Pipelines používám jako mental model pro věci, které jsou víc než jen jednoduchý filtr: typicky integrace poskytovatele, mapování parametrů, práce s více endpointy (např. text + obraz)nebo složitější routing podle modelu. V poznámkách je pipeline jasně vidět u Google Gemini, kde se řeší široké napojení API: +
- +
-  * [[https://github.com/owndev/Open-WebUI-Functions/blob/main/pipelines/google/google_gemini.py|google_gemini.py (Open-WebUI-Functions)]] +
- +
-Kdy po tom sahám: když integruji nového providera, potřebuji víc kontrolovat parametry a datové typy (text, obrázky), nebo když chci jednotný interface nad více modely. +
- +
-===== Reasoning: přepínání přes UI vs. vlastní filtr ===== +
- +
-Když potřebuji rychle zpřístupnit „reasoning“ jako přepínač pro uživatele, mám v poznámkách dvě cesty: +
- +
-  Hotové komunitní řešení s UI přepínačem: +
-    [[https://openwebui.com/posts/a69a7a45-3960-42f1-bbf6-4c31ec982734|OpenAI Reasoning Effort • Open WebUI Community]] +
-  Vlastní implementace jako filter function (pro jemnější kontrolu a auditovatelnost v kódu)+
-    * [[https://github.com/jrkropp/open-webui-developer-toolkit/blob/development/functions/filters/reason_toggle_filter/reason_toggle_filter.py|open-webui-developer-toolkit/functions/filters/reason_toggle_filter/reason_toggle_filter.py at development · jrkropp/open-webui-developer-toolkit · GitHub]] +
- +
-Praktický rozdíl pro mě: komunitní „plugin“ řeší UX rychle, vlastní filtr mi dává kontrolu nad tím, jak přesně se přepínač mapuje na parametry provideru a jaké defaulty vynucuji. +
- +
-===== Google Gemini (včetně obrázkových modelů) ===== +
- +
-U Gemini mě zajímá, že existuje pipeline, která údajně napojuje rozsáhle Google API včetně obrázkových modelů („Nano Banana“ podle mých poznámek): +
- +
-  * [[https://github.com/owndev/Open-WebUI-Functions/blob/main/pipelines/google/google_gemini.py|google_gemini.py (Open-WebUI-Functions)]] +
- +
-A zároveň existuje komunitní popis ímo v Open WebUI community: +
- +
-  * [[https://openwebui.com/posts/5a64dbc0-bd44-4d3a-84be-25232d5a8e84|Google Gemini • Open WebUI Community]] +
- +
-Co si z toho beru prakticky: +
- +
-  * Pipeline si projdu jako referenci pro to, jak se mapují parametry a jak je řešené volání API+
-  * Komunitní příspěvek beru jako „operational“ návod (co nastavit v Open WebUI). +
- +
-Konkrétní instalační/krokové instrukce v poznámkách nemám, takžpostup držím obecně: otevřu oficiální dokumentaci Open WebUI k integracím k Functions/Pipelineszvolím přístup (hotová integrace vs. vlastní pipeline) a ověřím funkčnost na minimálním testu (jeden chat, jeden model, základní prompt). +
- +
-===== Claude (Anthropic) ===== +
- +
-Claude řeším jako hotovou integraci pro claude.ai z komunitního příspěvku: +
- +
-  * [[https://openwebui.com/posts/2e8d9af5-229a-4fa2-b6f9-95ec76d44c72|Anthropic • Open WebUI Community]] +
- +
-Poznámky neobsahují konkrétní parametry ani konkrétní kroky konfigurace. Držím se tedy principu: +
- +
-  * nastavit integraci podle oficiální dokumentace Open WebUI a podle uvedeného community postu +
-  * ověřit, že se správně propisují klíče, modely a limity na úrovni backendu +
- +
-===== OpenRouter ===== +
- +
-OpenRouter používám jako agregátor modelů, protože mi umožní epínat modely přes jednu integraci. V poznámkách mám komunitní integraci: +
- +
-  * [[https://openwebui.com/posts/49e4df36-20dc-45a8-925f-382f445f80c1|OpenRouter • Open WebUI Community]] +
- +
-A doplněk, který má „zobrazit reasoning tokeny v OpenRouteru“: +
- +
-  * [[https://github.com/rmarfil3/openwebui-openrouter-reasoning-tokens|openwebui-openrouter-reasoning-tokens (repo)]] +
- +
-Prakticky si to vykládám tak, že+
- +
-  * základní integraci řeším přes community post +
-  * pokud chci detailní telemetrii/viditelnost nad reasoning tokeny, kouknu do uvedeného repozitáře a nasadím ho jako doplněk podle jeho README (kroky v poznámkách nemám) +
- +
-===== Praktické příklady (co přesně si z poznámek beru) ===== +
- +
-==== 1) RAG jako první „produkční“ feature ==== +
- +
-Když potřebuji, aby UI nebylo jen chat, začínám RAGem. Jako jediný mám v poznámkách přímý oficiální návod: +
- +
-  * [[https://docs.openwebui.com/features/rag/|RAG (Open WebUI docs)]] +
- +
-Můj postup je: nejdřív RAG rozchodím na jedné malé sadě dokumentů, až potom řeším škálování a automatizaci ingestu. +
- +
-==== 2) Reasoning přepínač (UX vs. kontrola) ==== +
- +
-Když chci rychle přidat přepínač, držím se community postu: +
- +
-  * [[https://openwebui.com/posts/a69a7a45-3960-42f1-bbf6-4c31ec982734|OpenAI Reasoning Effort • Open WebUI Community]] +
- +
-Když potřebuji dohledatelné chování v kódu, beru filtr jako vzor: +
- +
-  * [[https://github.com/jrkropp/open-webui-developer-toolkit/blob/development/functions/filters/reason_toggle_filter/reason_toggle_filter.py|open-webui-developer-toolkit/functions/filters/reason_toggle_filter/reason_toggle_filter.py at development · jrkropp/open-webui-developer-toolkit · GitHub]] +
- +
-==== 3) Provider jako pipeline (Gemini) ==== +
- +
-Když integruji providera, pipeline mi slouží jako zdroj pravdy“ pro mapování API. Z mých poznámek: +
- +
-  * [[https://github.com/owndev/Open-WebUI-Functions/blob/main/pipelines/google/google_gemini.py|google_gemini.py (Open-WebUI-Functions)]] +
- +
-===== Závěr / výstupy ===== +
- +
-Open WebUI mi dává jednotné UI nad více LLM backendy a rozšiřitelnost přes RAG a Functions/Pipelines. V praxi si vybírám mezi hotovým komunitním řešením (rychlost) a vlastním filtrem/pipeline (kontrola a auditovatelnost). +
- +
-===== Doporučený postup ===== +
- +
-  * Ověřím základní běh Open WebUI podle oficiální dokumentace (bez vlastních úprav)+
-  * Zprovozním RAG podle [[https://docs.openwebui.com/features/rag/|RAG (Open WebUI docs)]] na malé sadě dat. +
-  * Přidám integraci providera podle community postu (Gemini/Anthropic/OpenRouter) a ověřím jeden model end-to-end. +
-  * Rozhodnu sezda mi stačí hotový „plugin“, nebo potřebuji vlastní Function/Filter (např. reasoning toggle). +
-  * Teprve potom řeším pokročilé doplňky (např. reasoning tokeny pro OpenRouter) a automatizaci. +
- +
-===== Časté chyby / poznámky ===== +
- +
-  * Pletu si „plugin“ a „pipeline“: plugin řeší hotovou funkci/UX, pipeline řeší integraci/tok volání (provider, routing, modality). +
-  * Nasazuji doplňky bez minimálního testu: nejdřív jeden model + jeden prompt, až potom další vrstvy (RAG, filtry, token telemetry). +
-  * Spoléhám na poznámky místo dokumentace: u instalace a přesných kroků se držím oficiální dokumentace a README repozitářů, protože v poznámkách chybí detailní postupy.+
  
 +===== Zdroje =====
 +  * https://docs.openwebui.com/features/rag/  
 +    Dokumentace RAG v Open WebUI (návod a koncepty).
 +  * https://openwebui.com/posts/a69a7a45-3960-42f1-bbf6-4c31ec982734  
 +    Open WebUI Community post k „OpenAI Reasoning Effort“ a přepínači reasoning v UI.
 +  * https://github.com/jrkropp/open-webui-developer-toolkit/blob/development/functions/filters/reason_toggle_filter/reason_toggle_filter.py  
 +    Ukázkový filter pro reasoning toggle (implementační reference).
 +  * https://github.com/owndev/Open-WebUI-Functions/blob/main/pipelines/google/google_gemini.py  
 +    Gemini pipeline (včetně podpory pro obrazové modely jako Nano Banana).
 +  * https://openwebui.com/posts/5a64dbc0-bd44-4d3a-84be-25232d5a-84be-25232d5a8e84  
 +    Open WebUI Community post pro integraci Google Gemini.
 +  * https://openwebui.com/posts/2e8d9af5-229a-4fa2-b6f9-95ec76d44c72  
 +    Open WebUI Community post pro integraci Anthropic / Claude (claude.ai).
 +  * https://openwebui.com/posts/49e4df36-20dc-45a8-925f-382f445f80c1  
 +    Open WebUI Community post pro integraci OpenRouter.
 +  * https://github.com/rmarfil3/openwebui-openrouter-reasoning-tokens  
 +    Repozitář pro zobrazení/řešení reasoning tokenů u OpenRouteru v Open WebUI.
  • it/server/openwebui.txt
  • Poslední úprava: 2026/01/18 18:56
  • autor: Petr Nosek