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.
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.
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();
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.
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:
- Ollama models
- Calling Ollama with OpenAI library)
- HuggingFace models
- Langchain embedding met OLLama.
- Download LLMs met python en OpenLLM, inclusief webserver en Langchain integratie
- HuggingFace tutorial en 6 ways to run a local LLM on your laptop.
- Huggingface models in Langchain
- Running your own private Copilot
- Huggingface endpoints 💰.
- Geitje endpoint.