Skills.md 4.7 KB

“Skills” on Open WebUI-s taaskasutatavad juhendiplokid – sisuliselt püsivad süsteemipromtid konkreetsete ülesannete jaoks. Sinna ei pea panema koodi, vaid selged tekstilised juhised, kuidas mudel peaks mingit tööd tegema.openwebui+1 Arvestades sinu eesmärki (teadusartiklite analüüs ja kirjutamine), soovitan alustada selliste skills-idega:


1. “Teadusartikli analüüs” skill

  • Name: Teadusartikli analüüs
  • Description: Juhised, kuidas samm-sammult analüüsida teadusartiklit (eesmärk, meetod, tulemused, piirangud).
  • Content (Markdown):

    # Teadusartikli analüüsi juhend
    Kui analüüsid artiklit, toimi alati nii:
    1. Võta lühike kokkuvõte (2–3 lauset): valdkond, uurimisküsimus, peamine panus.
    2. Kirjelda metoodikat: andmestik, mudelid/metoodika, katseseaded, võrdlusbaasid.
    3. Too välja peamised tulemused ja mõõdikud.
    4. Analüüsi tugevusi: mis on uudsus, mis probleemi see lahendab, kus seda rakendada.
    5. Analüüsi piiranguid: andmed, üldistatavus, reprodutseeritavus, arvutusressursside vajadus
    6. Lõpuks anna praktiline soovitus:
    - kas seda lähenemist tasub meie projektis katsetada,
    - mis eeltöö oleks vaja teha (andmed, tööriistad, kood).
    Vasta alati struktureeritult alampealkirjadega: **Kokkuvõte**, **Metoodika**, **Tulemused**, **Tugevused**, **Piirangud**, **Soovitused**.
    

2. “Artikli kirjutamise stiil (eesti/inglise)” skill

  • Name: Teadusartikli kirjutamise stiil
  • Description: Stiilireeglid uute teadusartiklite ja kokkuvõtete kirjutamiseks.
  • Content:

    # Teadusartikli kirjutamise stiili juhend
    1. Kasuta selget, akadeemilist stiili, väldi liigset slängi ja liialdusi.
    2. Hoia laused pigem lühemad (1 idee lause kohta), üle 3 rea pikkuseid lauseid väldi.
    3. Struktureeri tekst peatükkideks: Sissejuhatus, Seotud tööd, Meetod, Tulemused, Arutelu, Kokkuvõte.
    4. Kui kirjutad eesti keeles:
    - kasuta termineid, mida kasutatakse Eesti teadusartiklites (võimalusel tõlgi ingliskeelne termin sulgudes),
    - säilita korrektsed kääned ja pöörded, väldi otseseid tõlkeid inglise sõnajärjest.
    5. Kui kirjutad inglise keeles:
    - kasuta neutraalset “academic English” stiili,
    - väldi „very“, „really“ jne, eelista täpseid omadussõnu.
    6. Kui kasutaja ei täpsusta, hoia tekst kompaktne (nt 200–400 sõna kokkuvõtte jaoks).
    

3. “Eksperimentide planeerimine (LLM/RAG server)” skill

  • Name: Eksperimentide planeerimine AI serveril
  • Description: Juhised, kuidas planeerida ja dokumenteerida katseid AMD/ROCm AI serveril.
  • Content:

    # Eksperimentide planeerimise juhend (AI server)  
    Kui kasutaja tahab uut katset või mudelit võrrelda, toimi nii:
    1. Küsi selgelt:
    - mis on eesmärk (nt täpsem kokkuvõte, kiirem inferents, väiksem mälukasutus),
    - mis andmestikku ja mõõdikuid ta saab kasutada.
    2. Paku välja minimaalne, reprodutseeritav katseplaan:
    - millised mudelid / versioonid,
    - millised hüperparameetrid (batch size, context window, temperatuur),
    - millised masinad / GPU seadistus (ROCm, mälu, threadid).
    3. Lisa alati, kuidas tulemusi logida ja võrrelda (tabel, mõõdikud, graafikud).
    4. Kui midagi jääb ebaselgeks, ära eelda – esita täpsustavad küsimused enne plaani kinnitamist.
    

Kuidas neid kasutada

  • Skills → New Skill → täida Name, Description, Content (Markdown) ja salvesta.[docs.openwebui]
  • Chatis: kirjuta $ ja vali sobiv skill (nt “Teadusartikli analüüs”), siis anna PDFi tekst või kokkuvõte.
  • Võid samad skills ka siduda konkreetsete mudelitega (Workspace → Models → vali mudel → Skills).openwebui+1

Seega “Skills” väljale kirjuta pikemad, korduskasutatavad juhendid tüüptööde jaoks (artikli analüüs, kirjutamise stiil, eksperimendi planeerimine, koodi review jne) – mitte ühekordset küsimust, vaid üldist juhendit, mille järgi mudel peaks alati sellist ülesannet lahendama.


Parandused

Selleks, et Skills List töötaks on vajalik veeru tüübi muuta:

Viimane parandus

PGPASSWORD="ai_secure_pass_2026" docker exec -u postgres -it postgres_postgis psql -d openwebui_db -c "
SELECT id, name, meta FROM skill;
UPDATE skill 
SET meta = meta::jsonb 
WHERE meta IS NOT NULL AND meta != '' AND meta::text LIKE '{%';
ALTER TABLE skill ALTER COLUMN meta TYPE JSONB USING meta::jsonb;
SELECT id, name, meta FROM skill;"

Siin on vana parandus:

ALTER TABLE public.skill
  ALTER COLUMN meta TYPE text
  USING meta::text;