Ollama AI - sådan bruger du store sprogmodeller.

AI: Ollama (noter)

Her er et par noter om AI og opbygning af bots.

  • llama3: virker ikke videre intelligent (2GB)
  • glm-4.7-flash: kan mere (19GB)

Installer Ollama

Se: https://github.com/ollama/ollama

Kommandoer:

Available Commands:
  serve       Start Ollama
  create      Create a model
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  signin      Sign in to ollama.com
  signout     Sign out from ollama.com
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  launch      Launch the Ollama menu or an integration
  help        Help about any command

Eksempler

# Kør llama3
ollama run llama3

# Kør glm-4.7-flash
ollama run glm-4.7-flash

# Launch
ollama launch glm-4.7-flash

# Server
ollama serve <MODEL>

JavaScript

# Terminal
npm i ollama

Anvendes sådan:

import ollama from "ollama";

const response = await ollama.chat({
  model: "gemma3",
  messages: [{ role: "user", content: "Why is the sky blue?" }],
});
console.log(response.message.content);

Ollama kan med andre ord køre i browseren – og selvfølgelig bygges ind i fx WP.

Byg personaer

Nu bliver det sjovt! Du kan give din AI bot en stemme og en personlighed ved hjælp af modelfiler.

Brug en modelfile til at skabe en persona, som i dette eksempel (kilde):

# Base model optimized for text generation
FROM llama2:7b

# Define the assistant's role and expertise
SYSTEM """You are TechDoc, an expert technical writing assistant. 

Your specialties:
- Convert complex concepts into clear explanations
- Write documentation that developers actually read
- Use active voice and concrete examples
- Structure information with proper headings
- Include code snippets when helpful

Writing style:
- Direct and concise sentences
- Practical examples over theory
- Step-by-step instructions
- Avoid jargon unless necessary
- Use bullet points for lists

Always ask clarifying questions if the topic isn't specific enough."""

# Optimize for consistent, focused responses
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER repeat_penalty 1.1

# Custom template for technical documentation
TEMPLATE """System: {{ .System }}

User Question: {{ .Prompt }}

TechDoc Response:"""

Det burde være muligt at fremstille en programmør-persona, der ligner fx en multimediedesigner.

Modelfile Reference

Parametre

# Temperature: Controls creativity (0.0-2.0)
PARAMETER temperature 0.1    # Conservative, factual
PARAMETER temperature 0.7    # Balanced creativity
PARAMETER temperature 1.5    # Highly creative

# Top-p: Limits vocabulary selection (0.0-1.0)
PARAMETER top_p 0.5          # Conservative word choice
PARAMETER top_p 0.9          # Diverse vocabulary

# Repeat penalty: Reduces repetition (1.0-2.0)
PARAMETER repeat_penalty 1.3 # Strong anti-repetition

# Context window: Available memory
PARAMETER num_ctx 4096       # Standard context
PARAMETER num_ctx 8192       # Extended context

(kilde: Parameter Optimization Guide)

Indlæs personaen

Ollama skal skabe din persona. Gør sådan:

# skab modellen ud fra din fil
ollama create tech-writer -f tech-forfatter.modelfile

# tjek om personaen faktisk er til stede
ollama list | grep tech-writer 

# Kør Ollama og få svar fra din persona
ollama run tech-writer

Eksperiment

Byg en bot, der ligner dig selv – og som har en viden, du gerne ville have …

Kritik

Det er sjovt at prøve disse modeller; men det er min fornemmelse, at der er laaang vej igen, i hvert fald for llama3.

Llama3

Sproget ligner et sammensurium af sprog, der nærmer sig vrøvl. Det historiske kendskab til Danmark er forbløffende …. mangelfuldt. Llama vil så gerne behage og imponere; men når man prøver at imponere med uvidenhed, så bliver resultatet det modsatte. Jeg oplevede den sprogmodel som spild af tid.

Glm-4.7-flash

Glm-4.7-flash er derimod lovende. Den kører lidt langsomt; men man kan følge ræsonnementet. Det kan i sig selv være spændende. Når jeg udvikler personaer, så svarer de relevant. Men jeg har kun prøvet at lave nogen personaer, som kan programmere.

Senere vil jeg lave nogen andre til helt andre formål. Det kunne være sjovt at lave en persona, der er inspireret af Joseph Weizenbaums Eliza-eksperiment fra 1960’erne- og sådan noget.

Hardware

Llama3 kan køre på en Macbook Air. Det kan GLM ikke, den er for tung og får systemet til at stalle.

GLM kører fint på Minisforum. Det er en god stresstest, hvor snart sagt alle CPU’er går i gang.

AI kræver altså en del af hardwaren.

Kan du stole på en LLM?

Det korte svar er: nej. Du kan aldrig vide om det du læser er rigtigt, næsten rigtigt eller et lidt for smart vildskud i tågen.

De forskellige sprogmodeller, som llama3, qwen og glm arbejder i virkeligheden med en form for formel logik. De tænker i syllogismer. Prøver at ræsonere sig frem til noget. De gætter. Nogen gange så gætter de altså forkert. Derfor ligner processen mest af alt en brainstorm.

Når jeg fx beder Llama om et citat fra en forfatter, ja så kommer der noget frem, som sådan set godt kunne være af den forfatter; men det er noget som vedkommende aldrig har skrevet. Derfor kan du ikke gå ud fra, at alle oplysninger i en session er korrekte. Enhver oplysning skal kontrolleres. Som regel er det tæt på, næsten rigtigt. Og det kan være noget frustrerende, når sådan nogen informationer er tæt på; men ikke helt rigtige.

Set fra et akademisk synspunkt er det reelt noget skrammel. Men det er det ikke, når du ser det fra et kreativt synspunkt. Så ligner det mest af alt en brainstorm.

Eksempel

Her er et eksempel fra en ollama session:

Who owns Yubikey?

Thank you for reaching out! Yubico is a privately held company founded in 2007 by Gustaf Hielm and Jonas Ulander. They are headquartered inStockholm, Sweden, and have offices in the United States, Canada, and
Singapore.

(Konversation: Llama3)

Prøv at sammenligne svaret med Wikipedia:

The YubiKey is a collection of hardware authentication devices manufactured by Yubico AB (Nasdaq Stockholm: YUBICO), a company founded in 2007 by Jakob and Stina Ehrensvärd and headquartered in StockholmSweden, with an American subdivision incorporated in Santa Clara California.[1][2]

Llama3 og Wikipedia er altså ikke enige, hverken om navne eller stifternes køn. Hvem har ret? Det må undersøges nærmere. Det er blot et enkelt eksempel på AI-hallucinationer.

En LLM er således nærmest det modsatte af en søgerobot, som Duckduckgo eller (hvidløg, 7 kors, etc.) Google. De forsøger at finde information, og viser præcist med links, hvor denne information findes. Det er op til brugeren at afgøre om url’ens informationer er valide eller ej.

Situationen er en noget anden. LLM’en er trænet med store mængder data. Den prøver at ræsonere sig frem til en sammenhæng. Den gætter og digter. Derfor vil du sjældent opleve, at den citerer korrekt, når du beder om det. LLM’er skaber altså noget nyt.

Så en LLM kan faktisk ikke bruges når du vil skrive en akademisk opgave. For du kan ikke være sikker på, hvornår LLM’en digter og hvornår den taler “sandt”. Hvad det så end er.

Derfor minder en LLM altså mere om en brainstorm eller en freudiansk-jungsk fri association. LLM’en sætter nogen stumper sammen på en ny måde ved hjælp af syllogismer og intelligente gæt.

Og derfor er en LLM mere et kreativt redskab end et forsøg på at være akademisk korrekt.

LLM’er kan være noget begrænsede i deres funktioner, især de mindre modeller nærmer sig noget decideret skrammel. Omvendt er de større LLM’er noget bedre; men de kan sjældent køre på systemer med begrænsede ressourcer.

Mine egne LLM’er

NAME                            ID              SIZE      MODIFIED          
mozart-api-brainstorm:latest    bd467093fd8d    2.0 GB    About an hour ago    
bango:latest                    92a1ddf3fbe6    2.0 GB    2 hours ago          
pythonass:latest                3fc9cfd22934    2.0 GB    2 hours ago          
droem:latest                    9a95ba0b0db5    2.0 GB    8 hours ago          
aleister:latest                 30edc8b82d73    2.0 GB    8 hours ago          
wordpress-help:latest           a8e5fd850347    6.6 GB    11 hours ago         
jung:latest                     a05f40961b9a    2.0 GB    11 hours ago         

Over et par dage har jeg udviklet en række LLM’er på basis af Llama3, glm, etc. De er sjove at bruge, og der kan komme noget brugbart ud af dem. I projekter ser jeg dem som den indledende brainstorm. De kan give en slags skelet, som man kan arbejde videre på.

Jeg udviklede i løbet af et par dage disse personaer:

  • Jungiansk inspireret drømmeanalyse, der faktisk kunne give ideer til tolkninger af drømme. Tolkningerne lignede noget, Jung (1875 – 1961) kunne ha sagt. LLM’er er ikke helt tossede til drømmearbejde. GLM gav de bedste resultater. Mange sætninger begynder med et smil, og Jung retter på brillerne, og spørger …
  • Aleister, der var en persona med afsæt i den engelske mystiker og okkultist Aleister Crowley (1875 – 1947). Han rettede også på brillerne – og svarene lignede i høj grad noget, der kunne findes i hans bøger; men ingen citater var korrekte.
  • Bango og Mozart-api var kvindelige personaer med særlig viden om B&O produkter. De var de mest lovende personaer. Selv om visse råd ikke var helt korrekte, så kunne mange ideer om links med lidt fantasi omsættes til ægte links. Det krævede lidt research. Så fri fantasi kunne føre til noget fornuftigt. Metoden nærmer sig noget vildt.
  • WordPress help er en assistent, som udvikler små trinvise tutorials, når noget skal løses WordPress. Svarene virkede fornuftige; men jeg har ikke prøvet om PHP’en virker.

Ollama – lettere avanceret

Ollama er relativt nem at bruge, og man lærer hurtigt at anvende kommandoer. Prøv at starte ollama sådan:

ollama

# du ser nu en prompt, der ser sådan ud:
>>> 

# Hjælp får du sådan
>>> /?

# importer en persona, her en psykolog
>>> /load jung

# rens en session fra hukommelsen
>>> /clear

# Længere beskedder indledes med """

I hjælpen kan du få adgang til alle indstillinger. Du kan endda justere dem lidt, og bygge videre på din personas psyke og opførsel. Og du kan gemme dit arbejde med:

/save <MODELNAVN>

Modellen gemmes i ollamas interne liste, som kan ses med:

# i en terminal
ollama list

# i ollamas interface
>>> /list

Her kan det gå rigtigt hurtigt, når mere eller mindre nyttige personaer udvikles til en brainstorm.

Enable Notifications OK No thanks

This site will set some cookies. læs videre / more information

Multimusen.dk will set a few cookies from Doubleclick, Google and the Social Media plugins they ay set some cookies. Some of my pages use APIs - such as YouTube, LinkedIn, Google Fonts, Google Maps, Mapbox, Spotify, Jetpack, Twitter, Facebook &c.. Such plugins may set the odd cookie.

Close