Skip to content

Latest commit

 

History

History

les10

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Les 10

Lokale taalmodellen

Het grote nadeel van werken met online API's is dat het vaak niet gratis is. Je betaalt per token bij de meeste API's. Een ander nadeel is dat je privacy niet is gegarandeerd. Het wordt afgeraden om privé documenten zoals je belastingaangiftes of je afstudeerscriptie te delen met OpenAI, Google Gemini of AliBaba Qwen.

Om die reden kan je kiezen om met een lokaal taalmodel te gaan werken.




Lokaal LLM

Met OLLama of LM Studio kan je LLMs installeren en krijg je meteen een ingebouwde webserver om je prompts naartoe te sturen. Je kan vervolgens een model kiezen om te downloaden.

🚨 Voor het draaien van een lokaal LLM heb je een recente (4 jaar oud of nieuwer) laptop nodig met minimaal 8GB RAM. Voor macbooks heb je een M1 of hoger nodig. Zelfs dan moet je opletten dat je alleen kleine modellen download :1B of 7B versies.




Code voorbeeld Ollama

In dit codevoorbeeld roepen we Ollama aan met langchain

import { ChatOllama } from "@langchain/ollama";

const llm = new ChatOllama({
  model: "llama3",
  temperature: 0,
  maxRetries: 2,
});

const aiMsg = await llm.invoke([
  ["system",  "You are a helpful assistant that translates English to Japanese. Translate the user sentence.",],
  ["human", "I love cheesecake."],
]);

In dit codevoorbeeld roepen we Ollama aan met de openai library. Ondanks dat je deze library gebruikt wordt er geen data naar openai verstuurd.

import { OpenAI } from "openai";

const openai = new OpenAI({
    temperature: 0.3,
    baseURL: "http://localhost:1234/v1",
});

async function main() {
    const completion = await openai.chat.completions.create({
        messages: [
            { role: "system", content: "You are a grumpy code assistant." },
            { role : "user",  content: "Can you tell me how to install node?"}
        ],
    });
    console.log(completion.choices[0]);
}

main();




Documenten bevragen

Nu je een lokaal taalmodel hebt draaien kan je ook RAG (documenten bevragen) gaan uitvoeren. Het grote voordeel is dat je geen privé documenten naar een server hoeft te sturen. Daarnaast verbrand je geen API tokens. Je kan RAG op twee manieren doen:

  • Gebruik dezelfde javascript code als bij het bouwen van embeddings in les 8 over documenten. Echter nu roep je een lokaal embedding model aan dat in OLLama is gedownload. Je moet de embeddings zelf opslaan.
  • Download een interface tool die dit voor je kan doen: Je kan kiezen uit AnythingLLM en OpenWebUI. Het voordeel van deze tools is dat je een drag&drop interface krijgt. Ook slaan ze automatisch je embeddings op. Deze tools hebben ook een API endpoint zodat je vanuit je eigen javascript app vragen kan stellen.




Code assistent

Als je een lokaal model hebt gedownload dat goed is in code, dan kan je dit model integereren in je code editor. Je hebt dan geen Copilot of andere code AI subscription (zoals Cursor )meer nodig! Download de Continue plugin voor jouw editor:




Links

Advanced