[{"data":1,"prerenderedAt":878},["ShallowReactive",2],{"tool-llama-cpp-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":34,"cover":76,"og":77,"expertise":78,"locales":79,"lang":81,"title":83,"description":84,"coverAlt":85,"url":24,"pricing":86,"kind":87,"metaTitle":88,"takeaways":89,"faq":95,"toc":108,"blocks":135,"others":523},"llama-cpp","2026-10-05",8,"llmops",[9,10,11,12,13],"llama.cpp","GGUF","Quantisation","Local inference","llama-server",[9,15,16,17,18,19,20,21],"llama.cpp review","GGUF quantisation levels","llama-server OpenAI compatible","llama.cpp vs Ollama","run LLM locally GDPR","llama.cpp CUDA Metal Vulkan","Q4_K_M vs Q8_0",[23,25,28,31],{"name":9,"url":24},"https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp",{"name":26,"url":27},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":29,"url":30},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":32,"url":33},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[35,37,40,43,46,49,52,55,58,61,64,67,70,73],{"title":36,"url":24},"llama.cpp repository: goals, backends, licence",{"title":38,"url":39},"llama.cpp releases: builds b11538 to b11541","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Freleases",{"title":41,"url":42},"llama.cpp build documentation: CMake flags","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Fdocs\u002Fbuild.md",{"title":44,"url":45},"llama.cpp server README: endpoints, slots and grammars","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fserver\u002FREADME.md",{"title":47,"url":48},"llama.cpp quantisation README: bits, size and speed","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fquantize\u002FREADME.md",{"title":50,"url":51},"GGUF specification in the ggml repository","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md",{"title":53,"url":54},"Performance of llama.cpp on Apple Silicon M-series","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F4167",{"title":56,"url":57},"Performance of llama.cpp on Nvidia CUDA","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F15013",{"title":59,"url":60},"Ollama README: supported backends and REST API","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":62,"url":63},"LM Studio documentation: app overview","https:\u002F\u002Flmstudio.ai\u002Fdocs\u002Fapp",{"title":65,"url":66},"vLLM README: features, hardware and licence","https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm",{"title":68,"url":69},"vLLM documentation: GGUF support","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Ffeatures\u002Fquantization\u002Fgguf.html",{"title":71,"url":72},"GDPR Article 28: processor","https:\u002F\u002Fgdpr-info.eu\u002Fart-28-gdpr\u002F",{"title":74,"url":75},"GDPR Article 32: security of processing","https:\u002F\u002Fgdpr-info.eu\u002Fart-32-gdpr\u002F","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fog.jpg","ai-engineer",[80,81,82],"en","de","hu","llama.cpp im Test: die lokale Engine unter Ollama und LM Studio","llama.cpp führt offene Modelle in reinem C und C++ auf Metal, CUDA, Vulkan oder der CPU aus. Ich zeige GGUF-Quants, llama-server und die Grenzen.","Titelgrafik zum llama.cpp-Test: Eine GGUF-Datei fächert sich auf Metal, CUDA, Vulkan und CPU auf, dahinter steht eine OpenAI-kompatible API.","MIT · free","Local inference runtime","llama.cpp im Test: GGUF, Quants und Server · Balázs Csorba",[90,91,92,93,94],"llama.cpp ist die MIT-lizenzierte Engine unter Ollama und LM Studio. Nimm sie direkt, wenn du Modelldatei, Quant und jedes Serverflag selbst bestimmen willst.","Eine GGUF-Datei enthält Gewichte, Tokenizer und Metadaten. Das Build-Flag wählt das Backend, sodass dieselbe Datei auf Metal, CUDA, Vulkan oder der CPU läuft.","Q4_K_M ist ein sinnvoller Startpunkt. Die Quantisierungstabelle misst aber nur Größe und Geschwindigkeit, die Qualitätsprüfung musst du selbst durchführen.","Die Geschwindigkeit auf Apple-Chips folgt der Speicherbandbreite, aber nicht linear. Ein High-End-Chip erzeugt bei einem 7B-Modell zweistellige Tokens pro Sekunde, eine Rechenzentrums-GPU ist im selben Testtyp grob dreimal so schnell.","Lokale Inferenz hält Prompts auf deiner Hardware und nimmt damit einen Auftragsverarbeiter aus dem Inferenzschritt, aber die DSGVO-Pflichten für Logs, Zugriff und Aufbewahrung bleiben bestehen.",[96,99,102,105],{"q":97,"a":98},"Ist llama.cpp kommerziell kostenlos nutzbar?","Das Projekt steht unter der MIT-Lizenz, du kannst es also ohne Lizenzgebühr nutzen und ausliefern. Die Modellgewichte behalten ihre eigenen Lizenzen, die kommerzielle Nutzung einschränken können. Prüfe deshalb jede Modellkarte, bevor du ein Produkt darauf aufbaust.",{"q":100,"a":101},"Was ist der Unterschied zwischen llama.cpp und Ollama?","Ollama führt llama.cpp unter seinen unterstützten Backends auf und bringt eine REST-API zum Ausführen und Verwalten von Modellen mit. llama.cpp ist die Engine selbst: Du wählst die GGUF-Datei, den Quant und jedes Flag und aktualisierst das Binary selbst.",{"q":103,"a":104},"Mit welchem GGUF-Quant sollte ich anfangen?","Mit Q4_K_M. Die Quantisierungs-README verwendet eine naive Q4_K_M-Quantisierung als Beispiel. Steige auf Q5_K_M oder Q6_K um, wenn deine eigenen Evals eine Qualitätslücke zeigen, denn die Geschwindigkeitstabelle sagt nichts über die Qualität.",{"q":106,"a":107},"Hilft ein lokaler llama.cpp-Server bei der DSGVO?","Es hilft, weil kein Modellanbieter die Prompts erhält und dieser Auftragsverarbeiter aus der Kette fällt. Zugriffskontrolle, Aufbewahrung der Logs und eine Rechtsgrundlage gelten weiter. Ein gemieteter GPU-Host, der personenbezogene Daten für dich verarbeitet, ist ein Auftragsverarbeiter und braucht einen Vertrag nach Artikel 28.",[109,112,115,118,121,123,126,129,132],{"id":110,"title":111},"what-it-is","Was es ist",{"id":113,"title":114},"how-it-works","So funktioniert es",{"id":116,"title":117},"getting-started","Erste Schritte",{"id":119,"title":120},"quantisation-and-speed","Quantisierung und Geschwindigkeit",{"id":13,"title":122},"llama-server: API, Slots und strukturierte Ausgabe",{"id":124,"title":125},"cost-and-deployment","Kosten und Betrieb",{"id":127,"title":128},"where-it-falls-short","Wo es an Grenzen stößt",{"id":130,"title":131},"verdict","Fazit",{"id":133,"title":134},"sources","Quellen",[136,140,143,146,175,176,179,188,189,192,230,233,236,237,240,305,314,321,324,327,333,334,337,340,343,345,346,382,385,393,399,400,427,428,431,463,464],{"type":137,"content":138},"paragraph",[139],"llama.cpp ist die C- und C++-Engine, die offene Sprachmodelle auf Hardware ausführt, die du kontrollierst. Mehrere komfortablere lokale Werkzeuge setzen darauf auf, darunter Ollama und LM Studio. Das Urteil vorweg: Nimm es direkt, wenn du Modelldatei, Quantisierung und jedes Serverflag selbst festlegen willst, auf einem Laptop oder einem Server, den du betreibst. Lass die Finger davon, wenn du einen einzigen Befehl willst, der Modelle für dich lädt und verwaltet. Ebenso wenig eignet es sich als Serving-Schicht für einen stark genutzten GPU-Dienst mit vielen Nutzern, dafür ist vLLM die bessere Wahl.",{"type":141,"level":142,"id":110,"text":111},"heading",2,{"type":137,"content":144},[145],"Das Projekt nennt als Ziel LLM- und VLM-Inferenz mit minimalem Aufwand und Spitzenleistung auf einer breiten Palette an Hardware. Es ist eine schlanke C- und C++-Implementierung ohne externe Abhängigkeiten und baut auf der Tensor-Bibliothek ggml auf. Der neueste Build auf der Releases-Seite ist b11541, veröffentlicht am 10. Oktober 2026.",{"type":147,"ordered":148,"items":149},"list",false,[150,156,161,165,170],[151,155],{"tag":152,"children":153},"strong",[154],"MIT-Lizenz"," für das ganze Projekt, du kannst es also ohne Lizenzgebühr nutzen und ausliefern.",[157,160],{"tag":152,"children":158},[159],"Backends"," für Apple Metal, NVIDIA CUDA, AMD HIP, Vulkan, OpenCL, SYCL und WebGPU, dazu x86- und ARM-CPU-Pfade.",[162,164],{"tag":152,"children":163},[13],", ein OpenAI-kompatibler HTTP-Server mit eingebauter Web-Oberfläche.",[166,169],{"tag":152,"children":167},[168],"Quantisierung"," von 1,5 bis 8 Bit, mit GGUF als Modellformat.",[171,174],{"tag":152,"children":172},[173],"Hugging-Face-Unterstützung"," über das Flag -hf, dazu Konvertierungsskripte wie convert_hf_to_gguf.py.",{"type":141,"level":142,"id":113,"text":114},{"type":137,"content":177},[178],"Die GGUF-Datei erledigt den größten Teil der Arbeit. Die Spezifikation beschreibt GGUF als Dateiformat zum Speichern von Modellen für die Inferenz mit GGML und darauf aufbauenden Ausführungsumgebungen, ausgelegt auf schnelles Laden und Speichern. Jede Datei hat einen Header mit den Zählern für Tensoren und Metadaten, typisierte Schlüssel-Wert-Metadaten, eine Beschreibung jedes Tensors (Name, Form, Typ und Offset) und die Tensordaten, aufgefüllt auf eine Ausrichtungsgrenze. Die Spezifikation nennt Speicher-Mapping als Ziel, sodass das Betriebssystem die Gewichte einblenden statt kopieren kann. Auch der Tokenizer steckt in der Datei, unter den Schlüsseln tokenizer.ggml. Die Spezifikation warnt, dass das eingebettete Vokabular ungenauer sein kann als der Original-Tokenizer. Prüfe deshalb nach jeder Konvertierung die Ausgabequalität.",{"type":180,"attrs":181,"inner":185,"caption":186},"diagram",{"viewBox":182,"role":183,"aria-labelledby":184},"0 0 720 330","img","d1-lc-t d1-lc-d","\u003Ctitle id=\"d1-lc-t\">Eine GGUF-Datei, eine API\u003C\u002Ftitle>\u003Cdesc id=\"d1-lc-d\">Eine GGUF-Datei enthält Gewichte, Tokenizer und Metadaten. llama.cpp lädt sie und führt sie auf dem beim Build gewählten Backend aus, etwa Metal, CUDA, Vulkan oder der CPU. llama-server stellt das Modell über eine OpenAI-kompatible API bereit, die jeder OpenAI-Client aufrufen kann. Nur das Backend ändert sich mit der Hardware, Datei und API bleiben gleich.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-lc\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Eine GGUF-Datei, eine API\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">llama.cpp auf deinem Rechner\u003C\u002Ftext>\u003Crect x=\"20\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"95\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">GGUF-Datei\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">Gewichte, Tokenizer\u003C\u002Ftext>\u003Cpath d=\"M170 91 H193\" class=\"d-line\" marker-end=\"url(#ah-lc)\" \u002F>\u003Crect x=\"195\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"270\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">llama.cpp\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">ggml-Graph\u003C\u002Ftext>\u003Cpath d=\"M345 91 H368\" class=\"d-line\" marker-end=\"url(#ah-lc)\" \u002F>\u003Crect x=\"370\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"445\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">llama-server\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">OpenAI-kompatibel\u003C\u002Ftext>\u003Cpath d=\"M520 91 H543\" class=\"d-line\" marker-end=\"url(#ah-lc)\" \u002F>\u003Crect x=\"545\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"620\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Deine App\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">jeder OpenAI-Client\u003C\u002Ftext>\u003Cpath d=\"M270 122 V180\" class=\"d-line\" \u002F>\u003Cpath d=\"M95 180 H620\" class=\"d-line\" \u002F>\u003Cpath d=\"M95 180 V200\" class=\"d-line\" \u002F>\u003Cpath d=\"M270 180 V200\" class=\"d-line\" \u002F>\u003Cpath d=\"M445 180 V200\" class=\"d-line\" \u002F>\u003Cpath d=\"M620 180 V200\" class=\"d-line\" \u002F>\u003Crect x=\"20\" y=\"200\" width=\"150\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"95\" y=\"224\" text-anchor=\"middle\" class=\"d-text\">Metal\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"244\" text-anchor=\"middle\" class=\"d-small\">Apple Silicon\u003C\u002Ftext>\u003Crect x=\"195\" y=\"200\" width=\"150\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"224\" text-anchor=\"middle\" class=\"d-text\">CUDA\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"244\" text-anchor=\"middle\" class=\"d-small\">NVIDIA-GPUs\u003C\u002Ftext>\u003Crect x=\"370\" y=\"200\" width=\"150\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"445\" y=\"224\" text-anchor=\"middle\" class=\"d-text\">Vulkan\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"244\" text-anchor=\"middle\" class=\"d-small\">GPU-Treiber\u003C\u002Ftext>\u003Crect x=\"545\" y=\"200\" width=\"150\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"620\" y=\"224\" text-anchor=\"middle\" class=\"d-text\">CPU\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"244\" text-anchor=\"middle\" class=\"d-small\">x86 und ARM\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"290\" class=\"d-small\">Build-Flags wählen das Backend: -DGGML_CUDA=ON, -DGGML_VULKAN=ON, Metal standardmäßig auf macOS.\u003C\u002Ftext>",[187],"Eine GGUF-Datei und eine API: Das Backend folgt deiner Hardware, die Schnittstelle bleibt gleich.",{"type":141,"level":142,"id":116,"text":117},{"type":137,"content":190},[191],"Die Build-Dokumentation aktiviert Metal auf macOS standardmäßig, ein schlichter Build auf dem Mac enthält das Apple-Backend also schon. Die übrigen Backends brauchen beim Konfigurieren ein Flag, wie die Tabelle zeigt.",{"type":193,"head":194,"rows":201},"table",[195,197,199],[196],"Backend",[198],"Hardware",[200],"Aktivierung",[202,209,216,223],[203,205,207],[204],"Metal",[206],"Apple Silicon",[208],"Standardmäßig auf macOS aktiv",[210,212,214],[211],"CUDA",[213],"NVIDIA-GPUs",[215],"-DGGML_CUDA=ON",[217,219,221],[218],"Vulkan",[220],"GPUs mit Vulkan-Treiber",[222],"-DGGML_VULKAN=ON",[224,226,228],[225],"CPU",[227],"x86 (AVX2, AVX512, AMX) und ARM (NEON)",[229],"Im Standard-Build enthalten",{"type":231,"code":232},"code","# macOS includes Metal by default; for NVIDIA GPUs use cmake -B build -DGGML_CUDA=ON\ncmake -B build\ncmake --build build --config Release\n.\u002Fbuild\u002Fbin\u002Fllama-server -m models\u002FLlama-3.1-8B-Instruct-Q4_K_M.gguf -c 8192 -np 4 --host 127.0.0.1 --port 8080",{"type":137,"content":234},[235],"Drei Flags entscheiden das meiste. -m nennt die GGUF-Datei, -c legt die Kontextgröße in Tokens fest (0 bedeutet den Wert aus dem Modell) und -np die Zahl paralleler Slots. Der Server lauscht standardmäßig auf 127.0.0.1, andere Rechner erreichen ihn also erst, wenn du --host änderst.",{"type":141,"level":142,"id":119,"text":120},{"type":137,"content":238},[239],"Ein Quant ist die Zahl der Bits pro Gewicht, abgewogen gegen Dateigröße und Qualität. Die _K-Namen kennzeichnen k-Quants, die IQ-Typen sind i-Quants, die bis etwa 2 Bit pro Gewicht reichen; IQ1_S steht in der Tabelle der README bei 2,00 Bit. Das Beispielkommando der README ist eine naive Q4_K_M-Quantisierung mit Standardeinstellungen, deshalb ist Q4_K_M der vernünftige Startpunkt.",{"type":193,"head":241,"rows":250},[242,244,246,248],[243],"Quant",[245],"Bit pro Gewicht",[247],"Größe (GiB)",[249],"Generierung (Tokens\u002Fs)",[251,260,269,278,287,296],[252,254,256,258],[253],"Q2_K",[255],"3,16",[257],"2,95",[259],"79,85",[261,263,265,267],[262],"Q4_K_M",[264],"4,89",[266],"4,58",[268],"71,93",[270,272,274,276],[271],"Q5_K_M",[273],"5,70",[275],"5,33",[277],"67,23",[279,281,283,285],[280],"Q6_K",[282],"6,56",[284],"6,14",[286],"58,67",[288,290,292,294],[289],"Q8_0",[291],"8,50",[293],"7,95",[295],"50,93",[297,299,301,303],[298],"F16",[300],"16,00",[302],"14,96",[304],"29,17",{"type":137,"content":306},[307,308,313],"Lies die Tabelle als Abwägung. Die Größe sinkt mit der Bitzahl, und die Generierung wird schneller, wenn die Datei kleiner wird, weil jedes Token die Gewichte erneut lesen muss. F16 erzeugt 29,17 Tokens pro Sekunde gegenüber 71,93 bei Q4_K_M und braucht mehr als das Dreifache an Speicher. Die README misst Llama 3.1 8B, sagt aber nicht, welche Maschine die Zahlen erzeugt hat, lies sie also als relative Werte. Die Tabelle hat keine Qualitätsspalte, denn die README nennt weder Perplexität noch KL-Divergenz. Ich würde vor der Wahl denselben Evaluationssatz für jeden Kandidaten laufen lassen, wie ich in meinem Beitrag zu ",{"tag":309,"to":310,"children":311},"link","\u002Fblog\u002Fllm-evals-for-product-features",[312],"Evals für LLM-Produktfunktionen"," beschreibe.",{"type":315,"variant":316,"title":317,"body":318},"callout","tip","Ein Standard, der hält",[319],[320],"Starte mit Q4_K_M. Wechsle zu Q5_K_M oder Q6_K nur, wenn deine Evals eine relevante Lücke zeigen, und geh auf Q2_K nur, wenn der Speicher dazu zwingt. Miss dabei den Qualitätsverlust, statt ihn anzunehmen.",{"type":137,"content":322},[323],"Auf Apple-Chips folgt die Geschwindigkeit der Speicherbandbreite. Im Apple-Silicon-Thread erzeugt LLaMA 7B mit Q4_0 auf dem M4 Max 83,06 Tokens pro Sekunde bei 546 GB\u002Fs Speicherbandbreite, auf dem M1 Pro 36,41 bei 200 GB\u002Fs. Der M2 Ultra erreicht 94,27 bei 800 GB\u002Fs. Der Zusammenhang ist nicht linear: Der M1 Pro hat ein Viertel der Bandbreite des M2 Ultra und erreicht weniger als die Hälfte von dessen Tempo.",{"type":137,"content":325},[326],"Der CUDA-Thread sammelt llama-bench-Ergebnisse für Llama 2 7B mit Q4_0: 186,21 Tokens pro Sekunde für eine RTX 4090, 267,81 für eine H100 mit 80 GB und 290,02 für eine RTX 5090. Für die Planung heißt das: Ein Nutzer auf einem High-End-Apple-Chip bekommt bei einem 7B-Modell zweistellige Tokens pro Sekunde, und eine Rechenzentrums-GPU ist im selben Testtyp grob dreimal so schnell. Modelle und Builds unterscheiden sich zwischen den Threads, vergleiche also Größenordnungen. Keiner der beiden Threads testet einen Server unter gleichzeitiger Last, und genau dort zahlt sich eine GPU-Maschine aus.",{"type":315,"variant":328,"title":329,"body":330},"note","Miss den Build, den du betreibst",[331],[332],"Builds ändern sich schnell. Die Releases-Seite zeigte allein am 9. und 10. Oktober 2026 vier Builds. Miss mit deinem Modell, deinem Quant und deiner Hardware und notiere die Build-Nummer neben dem Ergebnis.",{"type":141,"level":142,"id":13,"text":122},{"type":137,"content":335},[336],"llama-server ist die Stelle, an der die meisten Anwendungen auf llama.cpp treffen. Seine OpenAI-kompatiblen Routen liegen unter \u002Fv1: Chat-Completions, Completions, Responses, Modelle und Embeddings. Native Routen decken Tokenisierung, Template-Rendering, den Slot-Zustand und den Health-Check ab. Ein Prometheus-Metrik-Endpunkt existiert, bleibt aber aus, bis du --metrics setzt, was du wissen solltest, bevor du einen Port veröffentlichst.",{"type":137,"content":338},[339],"Parallele Slots funktionieren so: Steht -np auf dem Standardwert auto, teilen sich die Slots einen KV-Cache-Puffer, den die README in diesem Modus standardmäßig einschaltet. Eine lange Anfrage kann so Speicher nutzen, den ein untätiger Slot sonst belegen würde. Kontinuierliches Batching ist ebenfalls standardmäßig aktiv. Die README dokumentiert den Schalter (--kv-unified) und ein Limit pro Slot (--kv-unified-per-slot), erklärt aber nicht genau, wie sich das Budget aufteilt, wenn du die Slot-Zahl von Hand setzt. Miss deshalb den Speicher, bevor du einen Server für mehrere Nutzer dimensionierst.",{"type":137,"content":341},[342],"Strukturierte Ausgabe läuft über zwei Wege. --json-schema begrenzt die Generierung auf ein JSON-Schema, --grammar nimmt eine BNF-ähnliche Grammatik; die README beschreibt beides als Wege, Generierungen einzuschränken. Der Chat-Endpunkt akzeptiert außerdem ein response_format vom Typ json_schema, wie in dieser Anfrage.",{"type":231,"code":344},"curl -s http:\u002F\u002F127.0.0.1:8080\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"messages\": [{\"role\": \"user\", \"content\": \"Extract the author from: Written by Balázs Csorba.\"}], \"response_format\": {\"type\": \"json_schema\", \"schema\": {\"type\": \"object\", \"properties\": {\"author\": {\"type\": \"string\"}}, \"required\": [\"author\"]}}}'",{"type":141,"level":142,"id":124,"text":125},{"type":193,"head":347,"rows":354},[348,350,352],[349],"Kostenposten",[351],"Was du zahlst",[353],"Hinweis",[355,361,368,375],[356,357,359],[9],[358],"Nichts",[360],"MIT-Lizenz, keine Nutzungsgebühr",[362,364,366],[363],"Eigene Hardware",[365],"Anschaffung und Strom",[367],"Der Speicher bestimmt das größte Modell und Quant, das du laden kannst",[369,371,373],[370],"Gemieteter GPU-Server",[372],"Preis des Anbieters",[374],"EU-Region wählen und einen Auftragsverarbeitungsvertrag abschließen",[376,378,380],[377],"Modellgewichte",[379],"Die eigenen Bedingungen des Modells",[381],"Die Modellkarte nennt die Lizenz",{"type":137,"content":383},[384],"Datenschutz ist das stärkste Argument für lokale Inferenz. Läuft das Modell auf eigener Hardware, bleiben Prompts, abgerufene Dokumente und Antworten auf dieser Maschine, und kein Modellanbieter erhält sie. Der Inferenzschritt hat dann keinen Auftragsverarbeiter. Artikel 28 DSGVO verlangt, dass die Verarbeitung durch einen Auftragsverarbeiter durch einen verbindlichen Vertrag geregelt wird, der ihn an dokumentierte Weisungen bindet. Ein gemieteter GPU-Host, der personenbezogene Daten für dich verarbeitet, ist ein Auftragsverarbeiter, egal wo er in der EU steht, und braucht diesen Vertrag.",{"type":137,"content":386},[387,388,392],"Lokal heißt nicht automatisch konform. Artikel 32 verlangt von Verantwortlichen und Auftragsverarbeitern angemessene technische und organisatorische Maßnahmen und nennt Verschlüsselung und Pseudonymisierung als Beispiele. Auf einem llama.cpp-Server zählen vor allem diese Einstellungen: die Bindungsadresse (127.0.0.1, außer du änderst --host), der API-Schlüssel (--api-key akzeptiert einen oder mehrere Schlüssel), der Metrik-Endpunkt (aus, außer du setzt --metrics) und deine eigenen Logs, für die dieselben Aufbewahrungsregeln gelten wie für jeden Prompt-Speicher. Die Notizen zu ",{"tag":309,"to":389,"children":390},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[391],"DSGVO und Datenresidenz bei LLM-APIs"," decken den Rest der Checkliste ab.",{"type":315,"variant":394,"title":395,"body":396},"warn","Das Docker-Beispiel bindet alle Schnittstellen",[397],[398],"Das Docker-Beispiel der README startet den Server mit --host 0.0.0.0. Im Container ist das normal, weil das Port-Mapping entscheidet, wer ihn erreicht. Auf einem Laptop setzt du den Server damit dem ganzen Netzwerk aus. Bleib also bei 127.0.0.1 oder setze zuerst --api-key.",{"type":141,"level":142,"id":127,"text":128},{"type":147,"ordered":148,"items":401},[402,407,412,417,422],[403,406],{"tag":152,"children":404},[405],"Es ist eine Laufzeit, keine Plattform."," Du wählst Datei, Quant, Kontextgröße und Flags und aktualisierst das Binary selbst. Das Tempo gehört dazu: Die Releases-Seite zeigte allein am 9. und 10. Oktober 2026 vier Builds.",[408,411],{"tag":152,"children":409},[410],"Keine Modellverwaltung."," Die GGUF-Datei lädst du selbst herunter. Das Flag -hf holt ein Hugging-Face-Repository und nimmt standardmäßig Q4_K_M oder die erste Datei des Repos, wenn dieser Quant fehlt.",[413,416],{"tag":152,"children":414},[415],"Keine Qualitätsmessung."," Die Quantisierungstabelle zeigt nur Größe und Geschwindigkeit, die Qualitätsprüfung bleibt also bei dir.",[418,421],{"tag":152,"children":419},[420],"Parallelität ist eine Speicherfrage."," Slots und kontinuierliches Batching gibt es, aber die Benchmark-Threads testen keinen Server unter gleichzeitiger Last, und die README erklärt die Speicheraufteilung bei handgesetzter Slot-Zahl nicht genau.",[423,426],{"tag":152,"children":424},[425],"GGUF in vLLM ist kein Abkürzungsweg für den Betrieb."," vLLM nennt seine GGUF-Unterstützung stark experimentell und nicht ausreichend optimiert und sagt, GGUF sei derzeit vor allem ein Weg, den Speicherbedarf zu senken.",{"type":141,"level":142,"id":130,"text":131},{"type":137,"content":429},[430],"Nimm llama.cpp, wenn du die Engine selbst willst, mit Datei, Quant und Flags unter deiner Kontrolle, und wenn die Daten die Maschine nie verlassen sollen. Es ist eine gute Basis für eigene Werkzeuge und einen kleinen privaten Server. Wer nur einen Befehl zum Laden eines Modells sucht, fängt besser woanders an, und als Serving-Schicht für einen stark genutzten GPU-Dienst taugt es nicht. Wenn du zwischen lokalen Optionen wählst: LM Studio führt llama.cpp auf Mac, Windows und Linux aus und nutzt auf Apple Silicon MLX. Es passt also zu Leuten, die eine App mit Oberfläche wollen.",{"type":147,"ordered":432,"items":433},true,[434,439,443,453],[435,438],{"tag":152,"children":436},[437],"Nimm es, wenn"," du Datei, Quant und jedes Flag auf deiner eigenen Hardware bestimmen willst.",[440,442],{"tag":152,"children":441},[437]," du einen Server willst, den du Zeile für Zeile nachvollziehen kannst, mit jeder Einstellung im eigenen Befehl sichtbar.",[444,447,448,452],{"tag":152,"children":445},[446],"Nimm es nicht, wenn"," du einen Befehl willst, der Modelle lädt und verwaltet. Dann nimm ",{"tag":309,"to":449,"children":450},"\u002Ftools\u002Follama",[451],"Ollama",", das llama.cpp unter seinen unterstützten Backends aufführt.",[454,457,458,462],{"tag":152,"children":455},[456],"Nimm es nicht für einen gemeinsamen GPU-Dienst"," mit vielen Nutzern gleichzeitig. Teste zuerst ",{"tag":309,"to":459,"children":460},"\u002Ftools\u002Fvllm",[461],"vLLM",", denn sein Kern sind PagedAttention und kontinuierliches Batching.",{"type":141,"level":142,"id":133,"text":134},{"type":147,"ordered":148,"items":465},[466,471,475,479,483,487,491,495,499,503,507,511,515,519],[467],{"tag":468,"href":24,"children":469},"a",[470],"llama.cpp-Repository: Ziele, Backends, Lizenz",[472],{"tag":468,"href":39,"children":473},[474],"llama.cpp-Releases: Builds b11538 bis b11541",[476],{"tag":468,"href":42,"children":477},[478],"llama.cpp-Build-Dokumentation: CMake-Flags",[480],{"tag":468,"href":45,"children":481},[482],"llama.cpp-Server-README: Endpunkte, Slots und Grammatiken",[484],{"tag":468,"href":48,"children":485},[486],"llama.cpp-Quantisierungs-README: Bits, Größe und Geschwindigkeit",[488],{"tag":468,"href":51,"children":489},[490],"GGUF-Spezifikation im ggml-Repository",[492],{"tag":468,"href":54,"children":493},[494],"Leistung von llama.cpp auf Apple Silicon (M-Serie)",[496],{"tag":468,"href":57,"children":497},[498],"Leistung von llama.cpp auf Nvidia CUDA",[500],{"tag":468,"href":60,"children":501},[502],"Ollama-README: unterstützte Backends und REST-API",[504],{"tag":468,"href":63,"children":505},[506],"LM-Studio-Dokumentation: Übersicht der App",[508],{"tag":468,"href":66,"children":509},[510],"vLLM-README: Funktionen, Hardware und Lizenz",[512],{"tag":468,"href":69,"children":513},[514],"vLLM-Dokumentation: GGUF-Unterstützung",[516],{"tag":468,"href":72,"children":517},[518],"DSGVO Artikel 28: Auftragsverarbeiter",[520],{"tag":468,"href":75,"children":521},[522],"DSGVO Artikel 32: Sicherheit der Verarbeitung",[524,615,728,834],{"slug":525,"published":526,"minutes":6,"category":7,"tags":527,"keywords":533,"about":541,"sources":552,"cover":607,"og":608,"expertise":78,"locales":609,"lang":81,"title":610,"description":611,"coverAlt":612,"url":544,"pricing":613,"kind":614},"deepeval","2026-10-06",[528,529,530,531,532],"LLM evaluation","pytest","LLM-as-a-judge","Red teaming","Open source",[525,534,535,536,537,538,539,540],"deepeval vs ragas","llm evaluation framework","pytest for llm outputs","g-eval metric","llm judge cost","deepeval pricing","llm red teaming open source",[542,545,548,551],{"name":543,"url":544},"DeepEval","https:\u002F\u002Fdeepeval.com",{"name":546,"url":547},"Confident AI","https:\u002F\u002Fwww.confident-ai.com",{"name":549,"url":550},"Pytest","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPytest",{"name":26,"url":27},[553,556,559,562,565,568,571,574,577,580,583,586,589,592,595,598,601,604],{"title":554,"url":555},"DeepEval documentation: getting started","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fgetting-started",{"title":557,"url":558},"GitHub: confident-ai\u002Fdeepeval, the README and licence","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval",{"title":560,"url":561},"PyPI: deepeval, the latest release and Python requirement","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeepeval\u002F",{"title":563,"url":564},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":566,"url":567},"DeepEval documentation: G-Eval","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-llm-evals",{"title":569,"url":570},"DeepEval documentation: Faithfulness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-faithfulness",{"title":572,"url":573},"DeepEval documentation: Tool Correctness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-tool-correctness",{"title":575,"url":576},"DeepEval documentation: generate goldens from documents","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fsynthesizer-generate-from-docs",{"title":578,"url":579},"DeepEval documentation: unit testing in CI\u002FCD","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fevaluation-unit-testing-in-ci-cd",{"title":581,"url":582},"DeepEval FAQ","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Ffaq",{"title":584,"url":585},"DeepEval documentation: data privacy","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fdata-privacy",{"title":587,"url":588},"GitHub: confident-ai\u002Fdeepteam, the red-teaming framework","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepteam",{"title":590,"url":591},"Confident AI pricing","https:\u002F\u002Fwww.confident-ai.com\u002Fpricing",{"title":593,"url":594},"Confident AI documentation: data residency","https:\u002F\u002Fwww.confident-ai.com\u002Fdocs\u002Fsettings\u002Fdata-residency",{"title":596,"url":597},"Confident AI subprocessor list","https:\u002F\u002Fwww.confident-ai.com\u002Fsubprocessors-list",{"title":599,"url":600},"GitHub: explodinggradients\u002Fragas, the README","https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas",{"title":602,"url":603},"GitHub: promptfoo\u002Fpromptfoo, the README","https:\u002F\u002Fgithub.com\u002Fpromptfoo\u002Fpromptfoo",{"title":605,"url":606},"Braintrust pricing","https:\u002F\u002Fwww.braintrust.dev\u002Fpricing","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fog.jpg",[80,81,82],"DeepEval-Test: pytest für LLM-Ausgaben, samt Richter-Rechnung","DeepEval führt LLM-Prüfungen als pytest-artige Tests aus, mit eingebauten Richter-Metriken. Die Bibliothek ist frei; Richter-Aufrufe und Datenfluss kosten.","Coverbild zur DeepEval-Rezension: ein Testfall läuft durch eine Richter-Metrik bis zu einem Gate für Bestanden oder Nicht bestanden","Apache-2.0 · free; Confident AI from $0, Starter $200 a month","Evaluation framework",{"slug":616,"published":526,"minutes":6,"category":7,"tags":617,"keywords":623,"about":631,"sources":644,"cover":720,"og":721,"expertise":78,"locales":722,"lang":81,"title":723,"description":724,"coverAlt":725,"url":634,"pricing":726,"kind":727},"dspy",[618,619,620,621,622],"Prompt optimisation","LLM programs","MIPROv2","GEPA","Python",[616,624,625,626,627,628,629,630],"dspy tutorial","dspy optimizer","miprov2","gepa prompt optimization","dspy vs prompt engineering","automatic prompt optimization","dspy signatures",[632,635,638,641],{"name":633,"url":634},"DSPy","https:\u002F\u002Fdspy.ai",{"name":636,"url":637},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":639,"url":640},"Bayesian optimization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBayesian_optimization",{"name":642,"url":643},"Fine-tuning (deep learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFine-tuning_(deep_learning)",[645,648,651,654,657,660,663,666,669,672,675,678,681,684,687,690,693,696,699,702,705,708,711,714,717],{"title":646,"url":647},"DSPy home and cost example","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002F",{"title":649,"url":650},"DSPy installation","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Finstallation\u002F",{"title":652,"url":653},"DSPy: program, don't prompt","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fprogram-dont-prompt\u002F",{"title":655,"url":656},"DSPy signatures","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fdiving-deeper\u002Fsignatures-in-depth\u002F",{"title":658,"url":659},"DSPy metrics","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fmetrics\u002F",{"title":661,"url":662},"DSPy Example API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fprimitives\u002FExample\u002F",{"title":664,"url":665},"DSPy Predict API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FPredict\u002F",{"title":667,"url":668},"DSPy ChainOfThought API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FChainOfThought\u002F",{"title":670,"url":671},"DSPy ReAct API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FReAct\u002F",{"title":673,"url":674},"DSPy optimizers index","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002F",{"title":676,"url":677},"DSPy MIPROv2 API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FMIPROv2\u002F",{"title":679,"url":680},"MIPROv2 source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fmipro_optimizer_v2.py",{"title":682,"url":683},"DSPy BootstrapFewShot API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFewShot\u002F",{"title":685,"url":686},"DSPy BootstrapFinetune API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFinetune\u002F",{"title":688,"url":689},"DSPy GEPA guide","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fgepa-optimization\u002F",{"title":691,"url":692},"GEPA source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fgepa\u002Fgepa.py",{"title":694,"url":695},"DSPy saving programs","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fsaving\u002F",{"title":697,"url":698},"DSPy caching","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fcache\u002F",{"title":700,"url":701},"DSPy LM API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodels\u002FLM\u002F",{"title":703,"url":704},"DSPy FAQ","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ffaqs\u002F",{"title":706,"url":707},"DSPy GitHub repository","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy",{"title":709,"url":710},"DSPy 3.4.0 release","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Freleases\u002Ftag\u002F3.4.0",{"title":712,"url":713},"DSPy paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.03714",{"title":715,"url":716},"MIPRO paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.11695",{"title":718,"url":719},"GEPA paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.19457","\u002Fimages\u002Fblog\u002Fdspy\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdspy\u002Fog.jpg",[80,81,82],"DSPy im Test: Prompts gegen eine Metrik kompilieren, nicht von Hand","DSPy erzeugt Prompts aus Signaturen, einer Metrik und Beispielen. Was Optimierer an Modellaufrufen kosten und wann ein handgeschriebener Prompt besser ist.","Titelgrafik zur DSPy-Kritik: eine Signatur und eine Metrik speisen einen Optimierer, der ein gespeichertes Programm kompiliert.","MIT · free, you pay the model API","Prompt optimisation framework",{"slug":729,"published":5,"minutes":730,"category":7,"tags":731,"keywords":737,"about":745,"sources":757,"cover":827,"og":828,"expertise":78,"locales":829,"lang":81,"title":830,"description":831,"coverAlt":832,"url":769,"pricing":833,"kind":732},"opik",7,[732,733,734,735,736],"LLM observability","Tracing","Evaluation","OpenTelemetry","Self-hosting",[729,738,739,740,741,742,743,744],"opik review","opik vs langfuse","opik pricing","self-hosted llm tracing","opik opentelemetry","llm as a judge metrics","opik guardrails",[746,749,751,754],{"name":747,"url":748},"Comet ML","https:\u002F\u002Fwww.comet.com",{"name":735,"url":750},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":752,"url":753},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",{"name":755,"url":756},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803,806,809,812,815,818,821,824],{"title":759,"url":760},"Opik repository README on GitHub","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik",{"title":762,"url":763},"Opik LICENSE file: Apache License 2.0","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik\u002Fblob\u002Fmain\u002FLICENSE",{"title":765,"url":766},"Opik on PyPI: package metadata","https:\u002F\u002Fpypi.org\u002Fpypi\u002Fopik\u002Fjson",{"title":768,"url":769},"Opik product page","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fproducts\u002Fopik\u002F",{"title":771,"url":772},"Opik pricing","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fpricing\u002F",{"title":774,"url":775},"Opik docs: run locally with Docker Compose","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Flocal_deployment",{"title":777,"url":778},"Opik docs: Kubernetes deployment with Helm","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Fkubernetes",{"title":780,"url":781},"Opik docs: platform architecture","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Farchitecture",{"title":783,"url":784},"Opik docs: tracing getting started","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Ftracing\u002Fgetting-started",{"title":786,"url":787},"Opik docs: OpenTelemetry integration","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fintegrations\u002Fopentelemetry",{"title":789,"url":790},"Opik docs: evaluation metrics overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fevaluation\u002Fmetrics\u002Foverview",{"title":792,"url":793},"Opik docs: online evaluation rules","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fonline-evaluation\u002Frules",{"title":795,"url":796},"Opik docs: Prompt Library overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Fprompt-library\u002Foverview",{"title":798,"url":799},"Opik docs: optimisation algorithms","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Foptimization-runs\u002Falgorithms\u002Foverview",{"title":801,"url":802},"Opik docs: guardrails overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Foverview",{"title":804,"url":805},"Opik docs: guardrails server","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Fserver",{"title":807,"url":808},"Opik docs: SDK anonymizers","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fgateway-guardrails\u002Fanonymizers",{"title":810,"url":811},"Opik docs: data anonymization","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fadministration\u002Fdata_anonymization",{"title":813,"url":814},"Comet ML privacy policy","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fprivacy-policy\u002F",{"title":816,"url":817},"Comet Trust Center","https:\u002F\u002Ftrust.comet.com\u002F",{"title":819,"url":820},"Langfuse repository README (licence)","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse",{"title":822,"url":823},"Arize Phoenix repository README (licence)","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fphoenix",{"title":825,"url":826},"LangChain pricing (LangSmith plans)","https:\u002F\u002Fwww.langchain.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fopik\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopik\u002Fog.jpg",[80,81,82],"Opik im Test: Open-Source-Tracing und Evals mit US-gehosteter Cloud","Opik vereint Traces, Judge-Metriken, Prompts und einen Optimierer unter Apache 2.0. Selbst hosten gratis, Pro-Cloud ab 19 Dollar im Monat, Hosting in den USA.","Coverbild zum Opik-Test: ein Trace läuft von der App über das Backend zu einem Judge und einem Score-Gate.","Apache 2.0 · free to self-host · Pro cloud from $19 a month",{"slug":835,"published":836,"minutes":837,"category":7,"tags":838,"keywords":841,"about":848,"sources":852,"cover":870,"og":871,"expertise":78,"locales":872,"lang":81,"title":873,"description":874,"coverAlt":875,"url":876,"pricing":877,"kind":87},"ollama","2026-09-29",11,[12,839,9,10,840],"Open models","Model serving",[835,842,843,844,845,846,847],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[849],{"name":850,"url":851},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[853,856,858,861,864,867],{"title":854,"url":855},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":857,"url":60},"Ollama on GitHub, with the MIT LICENSE file",{"title":859,"url":860},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":862,"url":863},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":865,"url":866},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":868,"url":869},"OpenAI compatibility, including what is not supported","https:\u002F\u002Fdocs.ollama.com\u002Fapi\u002Fopenai-compatibility","\u002Fimages\u002Fblog\u002Follama\u002Fcover.webp","\u002Fimages\u002Fblog\u002Follama\u002Fog.jpg",[80,81,82],"Ollama im Test: der freundliche Weg zu offenen Modellen","Ollama liefert offene Modelle über eine HTTP-API auf eigener Hardware aus. Was es gut macht, wo der Durchsatz zu kurz kommt, was die MIT-Lizenz nicht abdeckt.","Covergrafik zum Ollama-Test: Eine Anfrage auf Port 11434 läuft durch Scheduler und Engine und liefert gestreamte Tokens; darunter das Laden der Modelle und das Entladen im Leerlauf.","https:\u002F\u002Follama.com","MIT · free for personal use",1791636874043]