58 lines
3.1 KiB
Markdown
58 lines
3.1 KiB
Markdown
# Overené odpovede v OpenWebUI
|
||
|
||
`verified_agent.py` je samostatná funkcia typu **Pipe**, ktorá sprístupní
|
||
dva modely: **ZP Agent / RAG – overené** a **ZP Agent / GraphRAG – overené**.
|
||
Vybraný model zavolá backend `/answer` a zobrazí jeho schválený text priamo.
|
||
Ďalší jazykový model tento text neprepisuje.
|
||
|
||
## Inštalácia administrátorom
|
||
|
||
1. V OpenWebUI otvorte **Admin Panel → Functions → Create New Function**.
|
||
2. Vložte obsah `verified_agent.py`, uložte funkciu napríklad ako `zp_verified`
|
||
a zapnite ju. Kód funkcie vykonáva server OpenWebUI; neinštaluje ju bežný používateľ.
|
||
3. Vo **Valves** nastavte `BACKEND_URL` na adresu API dostupnú zo servera
|
||
OpenWebUI a `BACKEND_API_KEY` na jeho `SEARCH_API_KEY`.
|
||
Ak sú obe služby v rovnakej Compose sieti, URL je `http://zp-agent-api:8000`.
|
||
`localhost` v školskom OpenWebUI neoznačuje tento vývojový počítač.
|
||
4. Backend potrebuje `OPENWEBUI_API_KEY` pre prístup ku generujúcemu modelu.
|
||
Voliteľné `ANSWER_LLM_URL` má predvolenú hodnotu
|
||
`https://ui.tukekemt.xyz/api/chat/completions`; `ANSWER_MODEL` je
|
||
predvolene `model120-fast`. Vyberte základný model, ktorý nevolá tento Pipe,
|
||
aby nevznikla slučka. Kľúče nezapisujte do zdrojového súboru ani Gitu.
|
||
5. V chate vyberte jeden z dvoch nových modelov. Overte bežnú odpoveď,
|
||
nedostupnosť backendu, chýbajúce podklady a neúplný výsledok.
|
||
|
||
Dokumentácia OpenWebUI:
|
||
[Functions](https://docs.openwebui.com/features/extensibility/plugin/functions/),
|
||
[Pipes](https://docs.openwebui.com/features/extensibility/plugin/functions/pipe/).
|
||
|
||
## Kontroly a hranice
|
||
|
||
- API `/answer` vyžaduje rovnakú autorizáciu ako vyhľadávanie.
|
||
- RAG kontroluje osobu, konkrétny názov, typ a rok z toho istého záznamu
|
||
v skutočne doručenom kontexte. Rok kategórie nenahrádza rok práce.
|
||
Používa iba vyhľadaný text; nečíta očakávania benchmarku ani Neo4j.
|
||
- Všeobecné odpovede môžu obsahovať doslovné citované výňatky. Ich zhoda
|
||
so zdrojom nezaručuje, že výňatok vyčerpáva význam celej otázky.
|
||
- GraphRAG používa kontroly typovaných faktov, väzieb, citácií a agregácií.
|
||
- Model má najviac jeden opravný pokus podľa podkladov. Potom sa odpoveď
|
||
odmietne. Finálny text zostavuje aplikácia z overených údajov.
|
||
- Pipe vyžaduje `accepted_for_delivery=true` a povolený stav. Odmietnutý
|
||
modelový text ani diagnostické pokusy sa používateľovi nevracajú.
|
||
- Neúplnosť a verzia indexov sa prenášajú z vyhľadávania. Upozornenie na
|
||
neúplnosť je súčasťou zobrazeného textu.
|
||
- Pôvodný `/rag` stále poskytuje podklady. Bežný OpenAPI Tool Server
|
||
nasledovaný ľubovoľným LLM nezabezpečuje túto kontrolovanú cestu.
|
||
- Funkcia pracuje s poslednou otázkou; zatiaľ neprepisuje odkazy typu
|
||
„a jeho ďalšia práca“ podľa histórie konverzácie.
|
||
|
||
Lokálny test integračného adaptéra a API:
|
||
|
||
```bash
|
||
.venv/bin/python -m pytest -q test/test_verified_rag.py
|
||
```
|
||
|
||
Test kontroluje aj HTTP payload, autorizáciu a priamy výstup oboch modelov.
|
||
Nezastupuje inštaláciu na školskom serveri: tú musí vykonať administrátor
|
||
a overiť sieťovú dostupnosť API zo servera OpenWebUI.
|