2024-12-06 Eldigen Document checker task

Darbību secība:

  1. Tiek pieslēgtas integrācijas, viena no:

    1. Sharepoint, NextCloud faili no konkrētas direktorijas. Taisam, ka Ja direktorija satur apakšdirektorijas, tad katra jaunā direktorija ir jauna failu grupa, jeb iesniegums. Ja satur tikai failus, tad katrs fails atsevišķi ir iesniegums.

    2. Epastos saņemtie attachements faili, atfiltrējot pēc tēmu kritērijiem (kā jau tas tagad ieplānots). Vienā epastā var būt vairāki faili, kas visi tiks apstrādāti vienā grupā.

    3. Formas no Custom business.gov.lv vai nākotnē google forms, airtable, typeform, HTML formas

    4. Vēl var arī vispār neizmantot nekādas integrācijas un manuāli augšupielādēt failus. Faili var saturēt arī vairākus failus, jeb failu grupu. Pievienojot jaunus submissions nav jānorāda checklists, jo visi būs aktīvi konkrētajam agent.

      image-20241206115100647

  2. Tiek izveidoti checklists, kur var izvēlēties:

    1. Visi pievienotie checklists tiks izpildīti uz attiecīgā aģenta pievienotajiem dokumentiem caur integrācijām vai manuāli. Jāspē Pārkopēt checklists no cita agent savā organizācijā, lai nav vēlreiz manuāli jāievada.

    2. Minimālo procentu pie kura dokuments kvalificējas - nevis jautājumu, bet tieši kritēriju procentu

    3. Piesaisti konkrētai Formai vai Failiem

      1. Ja ir izvēlēts Fails, tad nenorāda vispār nekādu lauku pie jautājuma un tiks izmantots RAG, lai meklētu teksta gabalus, kas pamato atbildes. Jair izvēlēts fails jābūt iespējai pievienot opcionāli Zvaigznīšu filename atpazīšanu, lai atpazītu, kuram failam jāpielieto konkrētais checlist!

      2. Ja ir izvēlēta Forma , tad pārbauda katru definēto lauku

    4. Kvalifikācijas kritērijus

      1. Pats kritērijs var būt "Kritisks" pārsaukt "Obligāts" nevis Jautājumi Kritiski 🔴 Viktors.

      2. Katrs kritērijs sastāv no jautājumiem Jā/Nē

      3. Nosaka vai visi jautājumi izpildās kā OR vai kā ANY

      4. Nosaka, kuram laukam atbilst Jautājums, ja ir izvēlēta Formai

      5. Svarīgi, ka ievades lauks Formai arī var būt Fails (vai vairāki faili!), tādā gadījumā tiks izmantots RAG

      image.png

    5. 🔴 Raitis - Neveiksmīgs dizains (līdzīgi kā pie topics editora), kur vienā pusē ļoti garš scroll

    6. Checklists pārskatā qualified documents varētu rādīt kā procentus ar domu, lai saprastu cik daudz dokumenti spējuši izturēt atlasi

    7. image.png|400

  3. Dokumentu skati (pārsaukt Submissions / Iesniegumi)

    1. Dokumentu skati ir paši galvenie ikdienā, tur parāda cik daudz saturs ir noprocesēts un kādu kvalifikācijas kritērija vērtību esam ieguvuši

  4. Jārāda cik kritēriji ir % noprocesēti un cik ir % kritēriju izpildās no katra checklist, ja visi izpildās ir Qualified. Jārada arī no kuras formas nāk dokuments, ka tāda forma eksistē. Šeit vara arī manuāli augšupielādēt dokumentus, kuri izprocēsēs visus checklists, kas ir pievienoti agent. Ja būs 3 checklisti, tad katram dokumentam būs 3 kvalifikācijas rezultāti - būtu labi tos sagrupēt vizuāli, bet lielākajā daļā gadījumu būs tikai viens checklist. Ja izpildās visi checklists, tad dokuments vai forma ir Qualified. Var redzēt arī katras apakš cheklist statusu. Ja ir tikai viens checklist visu rādam vienā rindā bez grupas. image.png

Šādā veidā vizuāls saturs būtu labāk, jāņem vērā, ka būs daudz lapas un vajadzētu image.png|600

Atvērt var katra checklist rezultātus atsevišķi image.png

 

  1. AI pārbaudes daļa

    1. Jāatceras, ka vienā checklist_result var saturēt N checklists un katrai checklist var būt N files piesaistīti vai viena forma. Bet formā var būt lauki, kurā ir N files.

    2. Number laukiem, jautājumus jāpārvērš python code un jātaisa (jāuztaisa aizsardzība pret injections)

  1. Failu gadījumā - Jāveic semantic un BM25 search no translated teksta un jāpiemeklē chunks pārbaudei, lai nebūtu pilnīgi viss jāpārbauda

  2. Nedrīkst izmantot Jauātājums - Atbildes daļu, jāizmanto Raw translated teksts, jāveic prompt engineering pēc principa:

checklist
checklist_id: PK
assistant_id: FK
checklist_name: string
checklist_type: form | files
checklist_form_name: string
qualified_percentage: number
checklist_criteria
checklist_criteria_id: PK
checklist_id: FK
criteria_id: FK
criteria_order: number
criteria_type: or | and
is_critical: boolean
checklist_criteria_question
checklist_criteria_question_id: PK
checklist_id: FK
criteria_id: FK
question_id: FK
question_order: number
question_type: yes_no | number
question_form_field_name: string
submission
submission_id: PK
assistant_id: FK
submission_type: form | files
submission_name: string
submission_form_name: string
submission_status: qualified | not_qualified
submission_qualified_percentage: number
submission_progress_percentage: number
submission_checklist_result
submission_id: FK
checklist_id: FK
checklist_status: qualified | not_qualified
checklist_qualified_percentage: number
checklist_progress_percentage: number
submission_checklist_criteria_result
submission_id: FK
checklist_id: FK
criteria_id: FK
criteria_status: qualified | not_qualified
submission_checklist_criteria_question_result
submission_id: FK
checklist_id: FK
criteria_id: FK
question_id: FK
question_status: qualified | not_qualified
question_reference_text: string
question_reference_file_name: string
question_reference_file_id: FK
question_reference_file_url: string
question_reference_file_chunk_id: FK
question_reference_file_page_number: number
assistant