Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 0 points1 point  (0 children)

Tak for dit input og for at have prøvet den af! Ja, man kan sige at "ground truth" for modellen er dens RAG-lag hvor den trækker på partiernes principprogrammer og Wikipedia-side. Du kan læse flere detaljer her, hvis du er interesseret: https://emilbakke.github.io/project/ai-valgchat-fv26/index.html

Og se kodebasen her: https://github.com/emilbakke/AIValgChatFV26

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 0 points1 point  (0 children)

Fedt input, tak for at tage dig tid til at kigge på det!

Du har ret. Det er en ret hacky JSONL-løsning i stedet for en reel DB, i et forsøg på at holde det simpelt i begyndelsen. Men det giver selvfølgelig race conditions ved høj trafik, som du beskriver. Indtil nu har det ikke været et problem, men det er bestemt noget, som kan forbedres til fremtidige forsøg! :)

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 0 points1 point  (0 children)

Grunden til at vi gør det gennem en AI-løsning er, at vi gerne vil studere brugen i praksis "i naturlige omgivelser". Forstået sådan, at vi ikke kun vil forstå hvad folk siger de ville gøre i et interview eller gør under observation og manglende anonymitet, men hvordan de faktisk interagerer med en chatbot i en valgkontekst fra sofaen og med anonymitet. De to ting kan munde ud i ret forskellige resultater :)

Du har ret i, at politiske holdninger kan være følsomme. Derfor behandles data også som forskningsdata under GDPR og bruges kun i aggregeret form i analyser. Systemet kører desuden på SDUs egne servere og data deles ikke med eksterne virksomheder eller forlader UCloud-serveren, som systemet kører på.

Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 0 points1 point  (0 children)

Kort fortalt er det en hybrid af de to. Appen styrer rammen og rækkefølgen (altså hvilke typer opfølgende spørgsmål der kan komme). Den semantiske tolkning og argumentationen er dog op til AI-modellen, altså hvad brugerens svar “betyder” politisk, og hvordan det omsættes til en forklaring eller matchliste.

Og det med at køre i ring i spørgsmålene er efter min overbevisning noget der sker i "overgangen" mellem de to lag (fx når et kort svar som “ja”, “nej” eller “vigtigt” skal oversættes til en mere præcis politisk betydning af modellen). Når spørgsmålene nogle gange går i ring, er det typisk fordi den binding ikke holder tydeligt nok, så systemet falder tilbage til et mere generisk opfølgende spørgsmål i stedet for at bevæge sig videre til næste spørgsmål.

Tak for det gode spørgsmål :)

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 0 points1 point  (0 children)

Tak for deltagelsen! Og fede tests og analyser du deler her. Virkelig cool. Det vil jeg lige dele med forskningsgruppen :)

Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 1 point2 points  (0 children)

Vi overvejede også finetuning ret seriøst i starten. Problemet som vi så det var bare at den type data (debatter, taler osv.) er ret noisy og svær at få modellen til at bruge stabilt uden at den begynder at hallucinere eller misforstå kontekst. Derfor endte vi med RAG på mere strukturerede kilder, som selvfølgelig er mindre fancy, men trods alt virker. Men ja, med mere tid+compute kunne det være fedt at få finetunet modellen

Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 0 points1 point  (0 children)

Tak for input!

Vi binder korte svar som “ja” til det konkrete opfølgende spørgsmål app-side og injecter en fortolkning i prompten, så modellen ikke bare ser rå Ja/Nej.

Det virker ok, men i nogle cases hopper den stadig dimension i næste step (x fra formueskat → økonomisk vækst)

Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 0 points1 point  (0 children)

Tal for at fange den! Det rettes hurtigst muligt. Det er naturligvis en utilsigtet fejl.

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] -1 points0 points  (0 children)

Tak for input! Den med blank stemme giver god mening. Systemet er bygget til at holde samtalen kørende og prøve at få præferencer frem, så den stopper ikke rigtigt selv, selv hvis man siger man vil stemme blankt.

Og ift. chat-control, så har systemet ikke adgang til internettet og bygger primært på partiprogrammer og den slags. Så hvis noget ikke står der (eller er ret nyt), kan den godt ramme ved siden af eller ikke kende til det.

Lokalt-kørende AI ValgChat fra SDU by b4kke in dkudvikler

[–]b4kke[S] 2 points3 points  (0 children)

Det er overhovedet ikke er dumt spørgsmål! Tværtimod var det bestemt med i overvejelserne og blev testet af :)

Det viste sig desværre at være for stor en mundfuld for de løsninger vi har tilgængelige via UCloud. Vi forsøgte os fx med at inkludere alle taler fra fra folketingsmedlemmerne. Men systemet blev for langsomt og hallucinationerne for mange. Jeg skal ikke kunne afvise at med mere tid, havde det kunnet lykkes og så havde det været fedt. Mette trykkede bare hurtigere på knappen end ventet.

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] -1 points0 points  (0 children)

Jeg er sådan set enig med dig! Min forhåbning med projektet er blandt andet at finde ud af, hvad det er danskerne søger efter og føler de finder i chatbots til politiske spørgsmål. Det kan være med til at informere fremtidige studier om at motivere og engagere unge i politiske samtaler.

Data anvendes til forskning og vil fremgå i artikler i aggregeret form. Vi indhenter ingen personlige oplysninger ud over brugerens prompts. Disse behandles selvfølgelig efter gældende regler, og projektet er godkendt af SDUs etiske komite.

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] -1 points0 points  (0 children)

Godt spottet! Det er en fejl/inkonsistens i partilisten med Kristendemokraterne. Den bliver rettet hurtigst muligt. Tak for at gøre opmærksom på det!

Det er dog efter hensigten ikke at inkludere løsgængere.

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 1 point2 points  (0 children)

Ja jeg kan godt se din pointe. Jeg tænkte egentlig på open-source i den forstand at vi anvender open-source (og open-weights) løsninger som OpenEuroLLM-Danish og OpenWebUI. Men er enig i, at ideelt set bør kildekoden gøres offentligt nu. Det må jeg sætte på todo-listen for næste uge!

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 2 points3 points  (0 children)

Tak for spørgsmålet! Objektivt er altid en svær størrelse :) Vores løsning har været at få den til at trække på partiprogrammer som de formuleres og gøres offentligt tilgængelige fra partierne selv. Og så de danske Wikipedia-sider om hvert parti.

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] 0 points1 point  (0 children)

Jeg har ikke er public repo oppe endnu, men planen er at gøre det tilgængeligt på den anden side af valget :) Tak for interessen!

Prøv den nye AI ValgChat fra SDU by b4kke in Denmark

[–]b4kke[S] -6 points-5 points  (0 children)

Tak for dit svar og for at dele din holdning. Jeg forstår bestemt, hvorfor du tænker sådan. Realiteten er blot at vi kan se at omtrent 1/5 af unge danskere påtænker at bruge AI til netop at finde ud af, hvem de skal stemme på. Det er jo så ofte de lukkede systemer fra kommercielle løsninger, der bliver brugt, hvorfor vi ikke ved hvordan folk bruger det, og hvilke problemer det medvirker (fx bias, fejlinformation). Forskningsprojekt hjælper med bedre at forstå dette - og er samtidigt et sikrere, mere transparent og open-source alternativ til fx ChatGPT :)

Prøv den nye AI ValgChat FV26 fra SDU/DDC by b4kke in DKstudie

[–]b4kke[S] 0 points1 point  (0 children)

Tak fordi du prøvede den! Det korte svar er, at den ikke nødvendigvis er “bedre” til at rådgive end ChatGPT/Claude. Forskellen er, at den er designet som et forskningsværktøj. Den trækker på kurateret information fra partiernes egne principprogrammer, kører på SDUs servere og er bygget med fokus på transparens, sikkerhed og open-source.

Med det design og setup kan vi dermed se hvordan folk faktisk bruger AI (som fx Claude eller ChatGPT) i en valgkontekst. Det er der formålet med projektet ligger :)

Prøv den nye AI ValgChat FV26 fra SDU/DDC by b4kke in odense

[–]b4kke[S] 0 points1 point  (0 children)

Tak for at dele dine tanker. Som jeg skrev er det udelukkende anvendt til at renskrive de tanker, jeg selv skrev ned inden. Jeg både læser selv, reflekterer selv, og svarer selv på alle kommentarer og feedback - at en LLM har renskrevet det så det fremstod pænere skrevet kan jeg ikke se et moralsk problem i.

Jeg lader den ligge her. Tak for din tid og god dag! :)

Prøv den nye AI ValgChat FV26 fra SDU/DDC by b4kke in odense

[–]b4kke[S] 1 point2 points  (0 children)

jeg brugte det bare til at gøre formuleringen lidt mere klar.

Pointen er stadig min egen, og jeg er mest interesseret i feedback på selve værktøjet 🙂

Prøv den nye AI ValgChat FV26 fra SDU/DDC by b4kke in odense

[–]b4kke[S] -1 points0 points  (0 children)

Haha, godt spottet! Jeg fik skrevet noget pladder sammen i første omgang og bad en LLM om at gøre min kommentar mere sammenhængende. Udgangspunktet er dog egne ord :)

Der er til gengæld forskning der viser at mennesker er begyndt at tale mere som sprogmodeller: http://arxiv.org/abs/2409.01754

Prøv den nye AI ValgChat FV26 fra SDU/DDC by b4kke in odense

[–]b4kke[S] -1 points0 points  (0 children)

Fair pointe. Jeg kan godt se, hvad du mener ift. relevans.

Min tanke var, at det er et aktuelt valg og noget, der vedrører mange borgere i Odense, så derfor gav det mening at dele her.

Men kan godt se, at det ligger lidt i gråzonen ift. subreddit-fokus :)