Gratis kurs lærer bort lokal generering med henting av kontekst ved bruk av Python
5. oktober 2026 · 2 min lesing
Også publisert på Svenska, Português (Brasil)
Et nytt gratis kurs er lansert for personer som ønsker å lære å lage lokale kunstig intelligens applikasjoner med Python. Gjennom syv leksjoner lærer deltakerne å bygge en assistent som kan søke i egne dokumenter, besvare spørsmål og vise kildetekstfragmenter for verifisering.
Programvaren i kurset, kjent som local-docs-ai, kan lese filer i formatene Markdown og TXT. Systemet bruker en lokal embedding-modell for å finne relevante tekstfragmenter, som deretter sendes til en språkmodell for å generere et svar. Brukeren kan se kildeteksten sammen med filnavn og linjenummer, og applikasjonen tilbyr både terminalkommandoer og et grensesnitt i nettleseren.
Teknisk sett er dette en implementering av generering med bruk av hentet kontekst, også kjent som RAG. Metoden fungerer ved at programmet velger ut dokumentfragmenter og legger dem til i forespørselen til språkmodellen før svaret genereres, uten at modellens vekter endres. Nye notater blir tilgjengelige etter at søkeindeksen er bygget på nytt, uten behov for ytterligere trening.
Applikasjonen benytter to separate prosesser. Modellen embeddinggemma oversetter tekst til vektorer for søk, mens modellen qwen3:1.7b formulerer selve svaret. Begge modellene kjøres via Ollama, og Python kommuniserer med dette systemet via et programmeringsgrensesnitt på adressen
Kjernen i systemet ligger i filen docqa.py og bruker standardbiblioteker som pathlib, hashlib, json, math og urllib.request. For nettleserdelen kreves avhengigheten Streamlit. Applikasjonen har visse begrensninger, da den støtter opptil 50 filer med et samlet innhold på maksimalt 1 000 000 byte. PDF-filer støttes ikke, noe som gjør det mulig å holde hele indeksen i minnet og analysere søket i vanlig Python-kode.
For å bruke systemet kreves Python 3.10 eller nyere, Git og installert Ollama. Nedlasting av modellene krever omtrent 622 megabyte for embeddinggemma og omtrent 1,4 gigabyte for qwen3:1.7b. For embeddinggemma kreves versjon 0.11.10 eller nyere av Ollama.
Kurset går gjennom hvordan tekst deles inn i fragmenter på maksimalt 1000 tegn. Funksjonen scan_documents går gjennom mapper og velger ut støttede filer, mens split_document sørger for at overskrifter i Markdown starter nye fragmenter for å bevare meningen i teksten. Dette er en enkel analyse som ikke håndterer kodeblokker eller overlappende fragmenter.