dp-zp-agent/integrations/openwebui/README.md

3.1 KiB
Raw Blame History

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, Pipes.

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:

.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.