[{"data":1,"prerenderedAt":860},["ShallowReactive",2],{"tool-deepeval-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":35,"cover":90,"og":91,"expertise":92,"locales":93,"lang":95,"title":97,"description":98,"coverAlt":99,"url":25,"pricing":100,"kind":101,"metaTitle":102,"takeaways":103,"faq":109,"toc":122,"blocks":150,"others":519},"deepeval","2026-10-06",8,"llmops",[9,10,11,12,13],"LLM evaluation","pytest","LLM-as-a-judge","Red teaming","Open source",[4,15,16,17,18,19,20,21],"deepeval vs ragas","llm evaluation framework","pytest for llm outputs","g-eval metric","llm judge cost","deepeval pricing","llm red teaming open source",[23,26,29,32],{"name":24,"url":25},"DeepEval","https:\u002F\u002Fdeepeval.com",{"name":27,"url":28},"Confident AI","https:\u002F\u002Fwww.confident-ai.com",{"name":30,"url":31},"Pytest","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPytest",{"name":33,"url":34},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87],{"title":37,"url":38},"DeepEval documentation: getting started","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fgetting-started",{"title":40,"url":41},"GitHub: confident-ai\u002Fdeepeval, the README and licence","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval",{"title":43,"url":44},"PyPI: deepeval, the latest release and Python requirement","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeepeval\u002F",{"title":46,"url":47},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":49,"url":50},"DeepEval documentation: G-Eval","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-llm-evals",{"title":52,"url":53},"DeepEval documentation: Faithfulness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-faithfulness",{"title":55,"url":56},"DeepEval documentation: Tool Correctness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-tool-correctness",{"title":58,"url":59},"DeepEval documentation: generate goldens from documents","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fsynthesizer-generate-from-docs",{"title":61,"url":62},"DeepEval documentation: unit testing in CI\u002FCD","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fevaluation-unit-testing-in-ci-cd",{"title":64,"url":65},"DeepEval FAQ","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Ffaq",{"title":67,"url":68},"DeepEval documentation: data privacy","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fdata-privacy",{"title":70,"url":71},"GitHub: confident-ai\u002Fdeepteam, the red-teaming framework","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepteam",{"title":73,"url":74},"Confident AI pricing","https:\u002F\u002Fwww.confident-ai.com\u002Fpricing",{"title":76,"url":77},"Confident AI documentation: data residency","https:\u002F\u002Fwww.confident-ai.com\u002Fdocs\u002Fsettings\u002Fdata-residency",{"title":79,"url":80},"Confident AI subprocessor list","https:\u002F\u002Fwww.confident-ai.com\u002Fsubprocessors-list",{"title":82,"url":83},"GitHub: explodinggradients\u002Fragas, the README","https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas",{"title":85,"url":86},"GitHub: promptfoo\u002Fpromptfoo, the README","https:\u002F\u002Fgithub.com\u002Fpromptfoo\u002Fpromptfoo",{"title":88,"url":89},"Braintrust pricing","https:\u002F\u002Fwww.braintrust.dev\u002Fpricing","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fog.jpg","ai-engineer",[94,95,96],"en","de","hu","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","DeepEval-Test: pytest für LLM-Ausgaben · Balázs Csorba",[104,105,106,107,108],"DeepEval ist ein Apache-2.0-Framework für Python, das LLM-Prüfungen als Unit-Tests ausführt, und die Bibliothek funktioniert ohne Konto.","Die meisten vordefinierten Metriken nutzen ein anderes Modell als Richter, daher kann jeder Lauf Token kosten und einen anderen Wert liefern.","Mit den Standardeinstellungen ist der Richter OpenAI, Testfälle verlassen also dein Netz. Ein lokaler Richter wie Ollama hält sie drinnen, mit einer Qualität, die du messen musst.","Confident AI hat einen kostenlosen Tarif, Starter für $200 im Monat und Team für $2.000 im Monat, mit einem AVV für jeden Kunden und einer EU-Region in jedem Tarif.","Wähle Ragas, Promptfoo oder Braintrust für ein Apache-2.0-Metrik-Toolkit, eine deklarative CLI mit Red Teaming oder eine gehostete Oberfläche mit eigener Abrechnung.",[110,113,116,119],{"q":111,"a":112},"Sendet DeepEval meine Daten irgendwohin?","Ja, an das Richtermodell, das du konfigurierst. Ohne gesetztes Modell gilt laut FAQ OpenAI als Standard. Ergebnisse gehen nur an Confident AI, wenn du einen Schlüssel setzt, und der Standard-Speicherort sind die Vereinigten Staaten; die EU ist in jedem Tarif verfügbar.",{"q":114,"a":115},"Was kostet DeepEval?","Die Bibliothek ist unter Apache-2.0-Lizenz kostenlos. Confident AI hat einen kostenlosen Tarif mit zwei Plätzen und fünf Testläufen pro Woche, dazu Starter für $200 im Monat und Team für $2.000 im Monat, monatlich je Organisation abgerechnet. Richter-Aufrufe kommen extra hinzu und hängen vom Modell ab, das du wählst.",{"q":117,"a":118},"Sind die Werte wiederholbar?","Nicht genau. Die G-Eval-Doku sagt, die Metrik sei nicht deterministisch. Gib Schwellenwerten also etwas Spielraum und wiederhole einen fehlgeschlagenen Fall, bevor du ihn als Regression wertest. Tool Correctness ist anders, weil der Kernwert deterministisch ist.",{"q":120,"a":121},"Kann ich ein lokales Modell als Richter nutzen?","Ja. Die Metrikseite nennt Ollama unter den Richtern, und jedes andere Modell kannst du einbinden, indem du von DeepEvalBaseLLM ableitest. Prüfe den Richter an Fällen, die du selbst beschriftet hast, denn ein schwächerer Richter verschiebt jeden Wert.",[123,126,129,132,135,138,141,144,147],{"id":124,"title":125},"what-it-is","Was es ist",{"id":127,"title":128},"how-it-works","So funktioniert es",{"id":130,"title":131},"getting-started","Erste Schritte",{"id":133,"title":134},"metrics-and-judge-cost","Metriken und was der Richter kostet",{"id":136,"title":137},"goldens-red-teaming-and-ci","Goldens, Red Teaming und CI",{"id":139,"title":140},"cost-and-deployment","Kosten und Betrieb",{"id":142,"title":143},"where-it-falls-short","Wo es zu kurz greift",{"id":145,"title":146},"verdict","Fazit",{"id":148,"title":149},"sources","Quellen",[151,155,179,182,189,209,210,213,222,225,226,233,235,236,239,292,299,300,303,310,333,335,336,339,386,389,399,406,408,411,417,418,421,422,425,443,444],{"type":152,"content":153},"paragraph",[154],"DeepEval ist ein Open-Source-Framework für Python, das LLM-Prüfungen als Unit-Tests ausführt, mit mehr als dreißig eingebauten Metriken und einer optionalen Cloud-Plattform namens Confident AI. Das Urteil vorweg: Nimm es, wenn deine Entwickler:innen Python schreiben, Tests schon in der CI laufen lassen und das Verhalten des Modells bei jedem Pull Request prüfen wollen. Lass es weg, wenn der Standard-Richter OpenAI für deine Daten nicht akzeptabel ist oder wenn Nicht-Entwickler:innen zuerst einen gehosteten Arbeitsbereich brauchen.",{"type":152,"content":156},[157,158,163,164,168,169,173,174,178],"Es steht neben ",{"tag":159,"to":160,"children":161},"link","\u002Ftools\u002Fragas",[162],"Ragas",", ",{"tag":159,"to":165,"children":166},"\u002Ftools\u002Fpromptfoo",[167],"Promptfoo"," und ",{"tag":159,"to":170,"children":171},"\u002Ftools\u002Fbraintrust",[172],"Braintrust",", die ich separat besprochen habe. Zum Prozess rund um die Tests, vom Lesen der Traces von Hand bis zu einem Gate in der CI, siehe ",{"tag":159,"to":175,"children":176},"\u002Fblog\u002Fllm-evals-for-product-features",[177],"LLM-Evals für Produktfunktionen",".",{"type":180,"level":181,"id":124,"text":125},"heading",2,{"type":152,"content":183},[184,185,178],"DeepEval ist die Apache-2.0-Bibliothek hinter Confident AI, das sich selbst als Plattform für KI-Evals und Observability in Unternehmen beschreibt. Die Bibliothek läuft auf deinem Rechner und braucht kein Konto. Die aktuelle Version auf PyPI ist 4.2.8, veröffentlicht am 2. Oktober 2026, und sie braucht Python 3.9 oder neuer. Installiere sie mit ",{"tag":186,"children":187},"code",[188],"pip install -U deepeval",{"type":190,"ordered":191,"items":192},"list",false,[193,199,204],[194,198],{"tag":195,"children":196},"strong",[197],"Metriken. ","Mehr als dreißig benannte Metriken in neun Gruppen, von G-Eval und Agenten-Metriken bis zu Retrieval-, Mehrfach-Gesprächs-, Sicherheits- und Bildprüfungen.",[200,203],{"tag":195,"children":201},[202],"Richter. ","Fast alle vordefinierten Metriken nutzen ein LLM als Richter, und du kannst sie auf OpenAI, Azure OpenAI, Anthropic, Gemini, Ollama oder LiteLLM richten.",[205,208],{"tag":195,"children":206},[207],"Red Teaming. ","Ein eigenes Apache-2.0-Paket, DeepTeam, deckt Angriffe und Schwachstellen ab.",{"type":180,"level":181,"id":127,"text":128},{"type":152,"content":211},[212],"Ein Test ist gewöhnliches Python. Jede Metrik bekommt einen Testfall, der Eingabe, tatsächliche Ausgabe und je nach Metrik die erwartete Ausgabe, den Retrieval-Kontext oder die Werkzeuge enthält, die der Agent aufgerufen hat. Bei einer richterbasierten Metrik gehen Testfall und Kriterien an das Richtermodell, das einen Wert von 0 bis 1 und eine Begründung zurückgibt. Der Schwellenwert macht daraus Bestanden oder Nicht bestanden, und assert_test lässt den Test fehlschlagen, wenn der Wert darunter liegt.",{"type":214,"attrs":215,"inner":219,"caption":220},"diagram",{"viewBox":216,"role":217,"aria-labelledby":218},"0 0 720 330","img","d1-de-t d1-de-d","\u003Ctitle id=\"d1-de-t\">So entscheidet ein DeepEval-Test\u003C\u002Ftitle>\u003Cdesc id=\"d1-de-d\">Ein Testfall aus Eingabe und Ausgabe geht an eine Metrik. Bei richterbasierten Metriken gibt das Richtermodell einen Wert von 0 bis 1 mit Begründung zurück. Der Schwellenwert entscheidet über Bestanden oder Nicht bestanden, pytest meldet das Ergebnis, und die CI blockiert den Merge bei einem Fehler. Ergebnisse gehen nur mit gesetztem Schlüssel an Confident AI, und der optionale Upload ist der gestrichelte Schritt.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-de\" 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\">So entscheidet ein DeepEval-Test\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">der Richteraufruf kostet\u003C\u002Ftext>\u003Crect x=\"20\" y=\"52\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"95\" y=\"80\" text-anchor=\"middle\" class=\"d-text\">Testfall\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">Eingabe und Ausgabe\u003C\u002Ftext>\u003Crect x=\"195\" y=\"52\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"270\" y=\"80\" text-anchor=\"middle\" class=\"d-text\">Metrik\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">G-Eval, eingebaut\u003C\u002Ftext>\u003Crect x=\"370\" y=\"52\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"445\" y=\"80\" text-anchor=\"middle\" class=\"d-text\">Richtermodell\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">Standard: OpenAI\u003C\u002Ftext>\u003Crect x=\"545\" y=\"52\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"620\" y=\"80\" text-anchor=\"middle\" class=\"d-text\">Punktwert\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">0 bis 1 mit Grund\u003C\u002Ftext>\u003Cpath d=\"M170 83 H193\" class=\"d-line\" marker-end=\"url(#ah-de)\" \u002F>\u003Cpath d=\"M345 83 H368\" class=\"d-line\" marker-end=\"url(#ah-de)\" \u002F>\u003Cpath d=\"M520 83 H543\" class=\"d-line\" marker-end=\"url(#ah-de)\" \u002F>\u003Cpath d=\"M620 114 V178\" class=\"d-line\" marker-end=\"url(#ah-de)\" \u002F>\u003Crect x=\"545\" y=\"180\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"620\" y=\"208\" text-anchor=\"middle\" class=\"d-text\">Schwelle\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">bestanden ab Wert\u003C\u002Ftext>\u003Cpath d=\"M543 211 H522\" class=\"d-line\" marker-end=\"url(#ah-de)\" \u002F>\u003Crect x=\"370\" y=\"180\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"445\" y=\"208\" text-anchor=\"middle\" class=\"d-text\">pytest-Ergebnis\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">CI blockt Fehler\u003C\u002Ftext>\u003Cpath d=\"M368 211 H347\" class=\"d-line d-dash\" marker-end=\"url(#ah-de)\" \u002F>\u003Crect x=\"195\" y=\"180\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"270\" y=\"208\" text-anchor=\"middle\" class=\"d-text\">Confident AI\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">optionaler Upload\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"278\" class=\"d-small\">Ohne Schlüssel bleibt jedes Ergebnis auf deinem Rechner.\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"302\" class=\"d-label\">Der Richter ist der einzige Schritt, der bei richterbasierten Metriken ein Modell aufruft.\u003C\u002Ftext>",[221],"Bei richterbasierten Metriken ist das Richtermodell der einzige Schritt, der ein Modell aufruft, und Ergebnisse gehen nur mit gesetztem Schlüssel an Confident AI.",{"type":152,"content":223},[224],"Der Richter ist der Teil, der bei Kosten und Verlässlichkeit zählt. Die Metrikseite sagt, dass fast alle vordefinierten Metriken ein LLM als Richter nutzen und dass jeder Richter verwendet werden kann, darunter OpenAI, Azure OpenAI, Ollama, Anthropic, Gemini und LiteLLM. Du kannst auch dein eigenes Modell einbinden, indem du von DeepEvalBaseLLM ableitest. Die FAQ sagt, dass der Richter standardmäßig OpenAI ist, wenn du kein Modell angibst.",{"type":180,"level":181,"id":130,"text":131},{"type":152,"content":227},[228,229,232],"Setze einen OpenAI-Schlüssel für den Richter, installiere das Paket und schreibe den Test in eine Datei wie test_example.py. Das Beispiel prüft eine Antwort mit G-Eval, bei dem du die Kriterien in einfacher Sprache beschreibst und DeepEval daraus die Bewertungsschritte erzeugt. Starte es mit ",{"tag":186,"children":230},[231],"deepeval test run test_example.py",". Der Test schlägt fehl, wenn der Korrektheitswert unter 0,5 liegt.",{"type":186,"code":234},"# test_example.py\nfrom deepeval import assert_test\nfrom deepeval.metrics import GEval\nfrom deepeval.test_case import LLMTestCase, SingleTurnParams\n\n\ndef test_refund_answer():\n    correctness = GEval(\n        name='Correctness',\n        criteria='Is the actual output a correct answer to the input, consistent with the expected output?',\n        evaluation_params=[\n            SingleTurnParams.INPUT,\n            SingleTurnParams.ACTUAL_OUTPUT,\n            SingleTurnParams.EXPECTED_OUTPUT,\n        ],\n        threshold=0.5,\n    )\n    test_case = LLMTestCase(\n        input='Can I return shoes after 30 days?',\n        actual_output='You can return them within 30 days of delivery, if they are unworn.',\n        expected_output='Returns are accepted within 30 days of delivery if the item is unworn.',\n    )\n    assert_test(test_case, [correctness])",{"type":180,"level":181,"id":133,"text":134},{"type":152,"content":237},[238],"Die Wahl der Metrik entscheidet über die Rechnung. Faithfulness extrahiert die Behauptungen in einer Antwort, prüft jede gegen den Retrieval-Kontext und bewertet den Anteil der Behauptungen, die dem Kontext nicht widersprechen, mit einem Standard-Schwellenwert von 0,5. Der Richter hat mehr zu lesen, wenn eine Antwort viele Behauptungen macht, also wächst die Rechnung mit der Länge der Antwort. evaluate() bringt Caching, Parallelisierung, Kostenverfolgung und Fehlerbehandlung mit, während ein einzelner measure()-Aufruf diese Optimierungen verliert. Die Doku warnt außerdem, dass viele Metrikaufrufe gleichzeitig Rate-Limit-Fehler auslösen können, deshalb begrenze die Parallelität auf das Limit deines Anbieters.",{"type":240,"head":241,"rows":246},"table",[242,244],[243],"Gruppe",[245],"Benannte Metriken",[247,252,257,262,267,272,277,282,287],[248,250],[249],"Benutzerdefiniert",[251],"G-Eval, DAG, Arena G-Eval, JevEval und eigene Code-Metriken wie BLEU oder ROUGE",[253,255],[254],"Agenten, Verlauf",[256],"Task Completion, Step Efficiency, Plan Adherence, Plan Quality",[258,260],[259],"Agenten, Komponenten",[261],"Tool Correctness, Argument Correctness",[263,265],[264],"Retriever",[266],"Contextual Relevancy, Contextual Precision, Contextual Recall",[268,270],[269],"Generator",[271],"Answer Relevancy, Faithfulness",[273,275],[274],"Mehrfach-Chatbots",[276],"Knowledge Retention, Role Adherence, Conversation Completeness, Conversation Relevancy",[278,280],[279],"Sicherheit",[281],"Bias, Toxicity, Non-Advice, Misuse, PIILeakage, Role Violation",[283,285],[284],"Bild",[286],"Image Coherence, Image Helpfulness, Image Reference, Text-to-Image, Image-Editing",[288,290],[289],"Sonstige",[291],"Hallucination, JSON Correctness, Summarization, Ragas",{"type":293,"variant":294,"title":295,"body":296},"callout","note","Deterministisch, wo es geht",[297],[298],"Tool Correctness ist die Ausnahme von der Richter-zuerst-Regel. Der Kernwert zählt, wie viele der aufgerufenen Werkzeuge mit den erwarteten übereinstimmen, und dabei ist kein Modell beteiligt. Eine optionale zweite Prüfung nutzt ein LLM, um die Werkzeugauswahl zu beurteilen, aber nur, wenn du die verfügbaren Werkzeuge übergibst, und der Endwert ist der niedrigere der beiden.",{"type":180,"level":181,"id":136,"text":137},{"type":152,"content":301},[302],"Handgeschriebene Testfälle gehen schnell aus, deshalb kann DeepEval sie erzeugen. generate_goldens_from_docs nimmt eine Liste von Dokumentpfaden, liest .txt-, .docx-, .pdf- und Markdown-Dateien, legt die Abschnitte in chromadb ab und lässt ein Kritikermodell jeden Abschnitt von 0 bis 1 bewerten. Standardmäßig bekommt jedes Golden auch eine erwartete Ausgabe. Ohne OpenAI-Schlüssel musst du ein eigenes Embedding-Modell und ein eigenes LLM stellen, denn der Standard-Embedder ist text-embedding-3-small. Die Doku beschreibt keinen Prüfschritt, also lass jemanden eine Stichprobe lesen, bevor ein erzeugter Satz zur Regressionssuite wird.",{"type":152,"content":304},[305,306,309],"Red Teaming ist ein eigenes Paket. DeepTeam ist ein Apache-2.0-Framework, um LLMs und KI-Agenten im Red Teaming zu prüfen, mit mehr als 50 fertigen Schwachstellen und mehr als 20 forschungsbasierten Angriffsmethoden, mit Einzel- und Mehrfachgesprächen. Seine richterbasierten Metriken laufen auf deinem Rechner und liefern Bestanden oder Nicht bestanden mit Begründung. Es ordnet seine Prüfungen den OWASP Top 10 für LLMs 2025, den OWASP Top 10 für Agenten 2026, dem NIST AI RMF und MITRE ATLAS zu, und es wird mit ",{"tag":186,"children":307},[308],"pip install -U deepteam"," installiert. Das KI-Red-Teaming-Modul der Plattform liegt laut Preisseite im Tarif Enterprise ++.",{"type":152,"content":311},[312,313,316,317,320,321,324,325,328,329,332],"Das CI-Muster in der Doku ist kurz. Lege den Richter-Schlüssel als ",{"tag":186,"children":314},[315],"OPENAI_API_KEY"," in den Secrets ab, füge ",{"tag":186,"children":318},[319],"CONFIDENT_API_KEY"," nur hinzu, wenn die Ergebnisse auf der Plattform landen sollen, und führe ",{"tag":186,"children":322},[323],"deepeval test run"," aus. Ohne den Schlüssel laufen dieselben Tests trotzdem lokal. Mit ",{"tag":186,"children":326},[327],"--official"," (oder ",{"tag":186,"children":330},[331],"-o",") markierst du einen Lauf als offizielle Baseline auf Confident AI.",{"type":186,"code":334},"- name: Run LLM tests\n  env:\n    OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n    CONFIDENT_API_KEY: ${{ secrets.CONFIDENT_API_KEY }}\n  run: poetry run deepeval test run test_llm_app.py",{"type":180,"level":181,"id":139,"text":140},{"type":152,"content":337},[338],"Die Bibliothek kostet außer dem Richter nichts im Betrieb. Die Plattform hat vier Tarife, monatlich je Organisation abgerechnet, und die Preisseite trägt kein Datum, also prüfe sie erneut, bevor du planst.",{"type":240,"head":340,"rows":349},[341,343,345,347],[342],"Tarif",[344],"Preis",[346],"Enthalten",[348],"Was dazukommt",[350,359,368,377],[351,353,355,357],[352],"Free",[354],"$0",[356],"2 Plätze, 1 Projekt, 1 GB-Monat Trace-Daten",[358],"5 Testläufe pro Woche",[360,362,364,366],[361],"Starter",[363],"$200 im Monat",[365],"Unbegrenzte Plätze, 5 Projekte, 5 GB-Monate, danach $1 pro GB-Monat",[367],"Online-Evals, Annotations-Warteschlangen, Echtzeit-Warnungen",[369,371,373,375],[370],"Team",[372],"$2.000 im Monat",[374],"Unbegrenzte Plätze und Projekte, 75 GB-Monate, danach $1 pro GB-Monat",[376],"SOC 2, SSO, eigene Rollen, individuelle Verträge und SLAs",[378,380,382,384],[379],"Enterprise",[381],"Individuell",[383],"Unbegrenzte Nutzung",[385],"On-Prem, eigene Datenresidenz, 24x7-Support, Red-Teaming-Modul (Enterprise ++)",{"type":152,"content":387},[388],"Zum Vergleich: Die Starter-Stufe von Braintrust ist kostenlos mit 14 Tagen Aufbewahrung, und der Pro-Tarif kostet $249 im Monat, mit verarbeiteten Daten zu $3 pro GB und Scores zu $1,50 pro 1.000 über den enthaltenen Mengen. Der Starter-Tarif von Confident AI kostet pauschal $200 im Monat ohne Gebühr pro Platz und enthält Online-Evals und Annotations-Warteschlangen.",{"type":152,"content":390},[391,392,394,395,398],"Es gibt drei getrennte Datenflüsse, die verschiedene Fragen beantworten. Der Richter bekommt den Testfall, also geht ohne konfiguriertes Modell dieser Inhalt an OpenAI, von deinem Laptop oder vom CI-Runner aus. Confident AI bekommt Ergebnisse nur, wenn ",{"tag":186,"children":393},[319]," gesetzt ist, und die GitHub-README sagt, dass bei Nutzung der Cloud-Plattform alle Testfälle automatisch protokolliert werden. Telemetrie ist der dritte Fluss: Standardmäßig sendet DeepEval grundlegende, nicht identifizierende Zählwerte, etwa wie viele Auswertungen liefen und welche Metriken genutzt wurden, und die Datenschutzseite nennt PostHog als einziges Ziel. Mit ",{"tag":186,"children":396},[397],"DEEPEVAL_TELEMETRY_OPT_OUT=1"," schaltest du das ab.",{"type":152,"content":400},[401,402,405],"Auf der Plattform speichert die FAQ die Daten in einer privaten AWS-Cloud, auf die nur deine Organisation zugreifen kann. Die Standardregion sind die Vereinigten Staaten, und die EU ist in jedem Tarif verfügbar. Wähle sie beim Login oder bei der Anmeldung, oder führe ",{"tag":186,"children":403},[404],"deepeval set-confident-region EU"," aus, was nur DeepEval konfiguriert. Die Regionsseite ergänzt, dass ein API-Schlüssel allein nicht bestimmt, wohin die Daten gehen, also setze auch die beiden Endpunkte.",{"type":186,"code":407},"deepeval set-confident-region EU\nexport CONFIDENT_BASE_URL=https:\u002F\u002Feu.api.confident-ai.com\nexport CONFIDENT_OTEL_ENDPOINT=https:\u002F\u002Feu.otel.confident-ai.com\u002Fv1\u002Ftraces",{"type":152,"content":409},[410],"Für den Vertrag gilt: Die Liste der Unterauftragsverarbeiter, zuletzt geändert am 18. Februar 2026, sagt, dass jeder Kunde einen Auftragsverarbeitungsvertrag (AVV) bekommt. Personenbezogene Daten bleiben in der gewählten Region, außer sie müssen aus Gründen der Leistung oder Verfügbarkeit oder nach Vereinbarung verschoben werden. Die Liste nennt OpenAI für die Ausführung von KI-Modellen, nur USA, und AWS, ClickHouse, Supabase und PostHog als USA und Europa. Eine Aufbewahrungsfrist für die Cloud habe ich auf keiner der geöffneten Seiten gefunden, also verlange sie schriftlich, bevor Produktionsdaten hineinkommen. Selbst hosten ist eine Enterprise-Option, und die On-Prem-Variante richtet dieselben zwei Variablen auf deine eigenen Hosts.",{"type":293,"variant":412,"title":413,"body":414},"warn","Was die EU-Option nicht ändert",[415],[416],"Die Regionseinstellung legt fest, wo Confident AI Plattformdaten speichert und verarbeitet. Den Richter verschiebt sie nicht. Ist der Richter OpenAI, gehen die Aufrufe weiterhin an OpenAI, egal wo deine Plattformdaten liegen. Für ein strikt europäisches Setup betreibe den Richter selbst, zum Beispiel mit Ollama, und miss seine Werte an Fällen, die du selbst beschriftet hast, bevor du dich darauf verlässt.",{"type":180,"level":181,"id":142,"text":143},{"type":152,"content":419},[420],"Drei Schwächen wiegen am schwersten. Erstens sind die Werte nicht wiederholbar: Die G-Eval-Doku sagt, die Metrik sei nicht deterministisch, also kippt ein Wert nahe am Schwellenwert gelegentlich, und der Richter begrenzt die Qualität alles, was du mit ihm misst. Zweitens ist die Oberfläche groß. Die Metrikliste ist lang, der Dokumentweg für erzeugte Goldens braucht chromadb und mehrere LangChain-Pakete, und die Doku zeigt einen TypeScript-Befehl neben dem Python-Befehl, obwohl alles, was ich für diese Rezension geprüft habe, Python ist. Drittens sind die Preisstufen grob. Der Free-Tarif mit fünf Testläufen pro Woche trägt keine stark genutzte Pipeline, und der Sprung von $200 auf $2.000 im Monat ist groß für ein Team, das nur einen gemeinsamen Verlauf will.",{"type":180,"level":181,"id":145,"text":146},{"type":152,"content":423},[424],"DeepEval ist der richtige Standard für ein Python-Team, das LLM-Verhaltenstests im selben Runner und im selben Pull Request wie den Rest seiner Suite haben will. Bibliothek und DeepTeam sind beide Apache-2.0, die Metrikliste deckt Agenten, Retrieval, Gespräche und Sicherheit ab, ohne dass du eigene Richter schreibst, und der lokale Modus funktioniert ohne Konto. Ich würde es nicht einsetzen, wenn die Testdaten keinen Richter erreichen dürfen, dem du vertraust, oder wenn Nicht-Entwickler:innen vom ersten Tag an einen gehosteten Arbeitsbereich brauchen. Wähle in diesen Fällen eine Alternative.",{"type":190,"ordered":426,"items":427},true,[428,433,438],[429,432],{"tag":195,"children":430},[431],"Ragas, wenn ","du ein Apache-2.0-Toolkit mit vorgefertigten Metriken und Testdaten-Generierung willst und die Plattform von Confident AI nicht brauchst.",[434,437],{"tag":195,"children":435},[436],"Promptfoo, wenn ","du deklarative Konfigurationen willst, die Prompts und Modelle in der Kommandozeile und in der CI vergleichen, mit Red Teaming im selben Werkzeug. Das MIT-lizenzierte Repository sagt jetzt, dass Promptfoo Teil von OpenAI ist, also wäge das gegen deine Anbieter-Regeln ab.",[439,442],{"tag":195,"children":440},[441],"Braintrust, wenn ","du eine gehostete Oberfläche und einen Klick-AVV im Pro-Tarif willst und du seine Abrechnung akzeptierst, bei der Nutzung über die enthaltenen Daten und Scores hinaus zusätzlich zu den $249 im Monat berechnet wird.",{"type":180,"level":181,"id":148,"text":149},{"type":190,"ordered":191,"items":445},[446,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515],[447],{"tag":448,"href":38,"children":449},"a",[450],"DeepEval-Dokumentation: Erste Schritte",[452],{"tag":448,"href":41,"children":453},[454],"GitHub: confident-ai\u002Fdeepeval, README und Lizenz",[456],{"tag":448,"href":44,"children":457},[458],"PyPI: deepeval, neueste Version und Python-Anforderung",[460],{"tag":448,"href":47,"children":461},[462],"DeepEval-Dokumentation: Einführung in die Metriken",[464],{"tag":448,"href":50,"children":465},[466],"DeepEval-Dokumentation: G-Eval",[468],{"tag":448,"href":53,"children":469},[470],"DeepEval-Dokumentation: Faithfulness",[472],{"tag":448,"href":56,"children":473},[474],"DeepEval-Dokumentation: Tool Correctness",[476],{"tag":448,"href":59,"children":477},[478],"DeepEval-Dokumentation: Goldens aus Dokumenten erzeugen",[480],{"tag":448,"href":62,"children":481},[482],"DeepEval-Dokumentation: Unit-Tests in CI\u002FCD",[484],{"tag":448,"href":65,"children":485},[486],"DeepEval-FAQ",[488],{"tag":448,"href":68,"children":489},[490],"DeepEval-Dokumentation: Datenschutz",[492],{"tag":448,"href":71,"children":493},[494],"GitHub: confident-ai\u002Fdeepteam, das Red-Teaming-Framework",[496],{"tag":448,"href":74,"children":497},[498],"Confident AI: Preise",[500],{"tag":448,"href":77,"children":501},[502],"Confident AI-Dokumentation: Datenresidenz",[504],{"tag":448,"href":80,"children":505},[506],"Confident AI: Liste der Unterauftragsverarbeiter",[508],{"tag":448,"href":83,"children":509},[510],"GitHub: explodinggradients\u002Fragas, README",[512],{"tag":448,"href":86,"children":513},[514],"GitHub: promptfoo\u002Fpromptfoo, README",[516],{"tag":448,"href":89,"children":517},[518],"Braintrust: Preise",[520,633,710,816],{"slug":521,"published":5,"minutes":6,"category":7,"tags":522,"keywords":528,"about":536,"sources":549,"cover":625,"og":626,"expertise":92,"locales":627,"lang":95,"title":628,"description":629,"coverAlt":630,"url":539,"pricing":631,"kind":632},"dspy",[523,524,525,526,527],"Prompt optimisation","LLM programs","MIPROv2","GEPA","Python",[521,529,530,531,532,533,534,535],"dspy tutorial","dspy optimizer","miprov2","gepa prompt optimization","dspy vs prompt engineering","automatic prompt optimization","dspy signatures",[537,540,543,546],{"name":538,"url":539},"DSPy","https:\u002F\u002Fdspy.ai",{"name":541,"url":542},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":544,"url":545},"Bayesian optimization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBayesian_optimization",{"name":547,"url":548},"Fine-tuning (deep learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFine-tuning_(deep_learning)",[550,553,556,559,562,565,568,571,574,577,580,583,586,589,592,595,598,601,604,607,610,613,616,619,622],{"title":551,"url":552},"DSPy home and cost example","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002F",{"title":554,"url":555},"DSPy installation","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Finstallation\u002F",{"title":557,"url":558},"DSPy: program, don't prompt","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fprogram-dont-prompt\u002F",{"title":560,"url":561},"DSPy signatures","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fdiving-deeper\u002Fsignatures-in-depth\u002F",{"title":563,"url":564},"DSPy metrics","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fmetrics\u002F",{"title":566,"url":567},"DSPy Example API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fprimitives\u002FExample\u002F",{"title":569,"url":570},"DSPy Predict API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FPredict\u002F",{"title":572,"url":573},"DSPy ChainOfThought API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FChainOfThought\u002F",{"title":575,"url":576},"DSPy ReAct API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FReAct\u002F",{"title":578,"url":579},"DSPy optimizers index","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002F",{"title":581,"url":582},"DSPy MIPROv2 API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FMIPROv2\u002F",{"title":584,"url":585},"MIPROv2 source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fmipro_optimizer_v2.py",{"title":587,"url":588},"DSPy BootstrapFewShot API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFewShot\u002F",{"title":590,"url":591},"DSPy BootstrapFinetune API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFinetune\u002F",{"title":593,"url":594},"DSPy GEPA guide","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fgepa-optimization\u002F",{"title":596,"url":597},"GEPA source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fgepa\u002Fgepa.py",{"title":599,"url":600},"DSPy saving programs","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fsaving\u002F",{"title":602,"url":603},"DSPy caching","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fcache\u002F",{"title":605,"url":606},"DSPy LM API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodels\u002FLM\u002F",{"title":608,"url":609},"DSPy FAQ","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ffaqs\u002F",{"title":611,"url":612},"DSPy GitHub repository","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy",{"title":614,"url":615},"DSPy 3.4.0 release","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Freleases\u002Ftag\u002F3.4.0",{"title":617,"url":618},"DSPy paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.03714",{"title":620,"url":621},"MIPRO paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.11695",{"title":623,"url":624},"GEPA paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.19457","\u002Fimages\u002Fblog\u002Fdspy\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdspy\u002Fog.jpg",[94,95,96],"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":634,"published":635,"minutes":6,"category":7,"tags":636,"keywords":642,"about":650,"sources":660,"cover":702,"og":703,"expertise":92,"locales":704,"lang":95,"title":705,"description":706,"coverAlt":707,"url":652,"pricing":708,"kind":709},"llama-cpp","2026-10-05",[637,638,639,640,641],"llama.cpp","GGUF","Quantisation","Local inference","llama-server",[637,643,644,645,646,647,648,649],"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",[651,653,654,657],{"name":637,"url":652},"https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp",{"name":33,"url":34},{"name":655,"url":656},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":658,"url":659},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[661,663,666,669,672,675,678,681,684,687,690,693,696,699],{"title":662,"url":652},"llama.cpp repository: goals, backends, licence",{"title":664,"url":665},"llama.cpp releases: builds b11538 to b11541","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Freleases",{"title":667,"url":668},"llama.cpp build documentation: CMake flags","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Fdocs\u002Fbuild.md",{"title":670,"url":671},"llama.cpp server README: endpoints, slots and grammars","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fserver\u002FREADME.md",{"title":673,"url":674},"llama.cpp quantisation README: bits, size and speed","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fquantize\u002FREADME.md",{"title":676,"url":677},"GGUF specification in the ggml repository","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md",{"title":679,"url":680},"Performance of llama.cpp on Apple Silicon M-series","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F4167",{"title":682,"url":683},"Performance of llama.cpp on Nvidia CUDA","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F15013",{"title":685,"url":686},"Ollama README: supported backends and REST API","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":688,"url":689},"LM Studio documentation: app overview","https:\u002F\u002Flmstudio.ai\u002Fdocs\u002Fapp",{"title":691,"url":692},"vLLM README: features, hardware and licence","https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm",{"title":694,"url":695},"vLLM documentation: GGUF support","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Ffeatures\u002Fquantization\u002Fgguf.html",{"title":697,"url":698},"GDPR Article 28: processor","https:\u002F\u002Fgdpr-info.eu\u002Fart-28-gdpr\u002F",{"title":700,"url":701},"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",[94,95,96],"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",{"slug":711,"published":635,"minutes":712,"category":7,"tags":713,"keywords":719,"about":727,"sources":739,"cover":809,"og":810,"expertise":92,"locales":811,"lang":95,"title":812,"description":813,"coverAlt":814,"url":751,"pricing":815,"kind":714},"opik",7,[714,715,716,717,718],"LLM observability","Tracing","Evaluation","OpenTelemetry","Self-hosting",[711,720,721,722,723,724,725,726],"opik review","opik vs langfuse","opik pricing","self-hosted llm tracing","opik opentelemetry","llm as a judge metrics","opik guardrails",[728,731,733,736],{"name":729,"url":730},"Comet ML","https:\u002F\u002Fwww.comet.com",{"name":717,"url":732},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":734,"url":735},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",{"name":737,"url":738},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[740,743,746,749,752,755,758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803,806],{"title":741,"url":742},"Opik repository README on GitHub","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik",{"title":744,"url":745},"Opik LICENSE file: Apache License 2.0","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik\u002Fblob\u002Fmain\u002FLICENSE",{"title":747,"url":748},"Opik on PyPI: package metadata","https:\u002F\u002Fpypi.org\u002Fpypi\u002Fopik\u002Fjson",{"title":750,"url":751},"Opik product page","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fproducts\u002Fopik\u002F",{"title":753,"url":754},"Opik pricing","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fpricing\u002F",{"title":756,"url":757},"Opik docs: run locally with Docker Compose","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Flocal_deployment",{"title":759,"url":760},"Opik docs: Kubernetes deployment with Helm","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Fkubernetes",{"title":762,"url":763},"Opik docs: platform architecture","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Farchitecture",{"title":765,"url":766},"Opik docs: tracing getting started","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Ftracing\u002Fgetting-started",{"title":768,"url":769},"Opik docs: OpenTelemetry integration","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fintegrations\u002Fopentelemetry",{"title":771,"url":772},"Opik docs: evaluation metrics overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fevaluation\u002Fmetrics\u002Foverview",{"title":774,"url":775},"Opik docs: online evaluation rules","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fonline-evaluation\u002Frules",{"title":777,"url":778},"Opik docs: Prompt Library overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Fprompt-library\u002Foverview",{"title":780,"url":781},"Opik docs: optimisation algorithms","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Foptimization-runs\u002Falgorithms\u002Foverview",{"title":783,"url":784},"Opik docs: guardrails overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Foverview",{"title":786,"url":787},"Opik docs: guardrails server","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Fserver",{"title":789,"url":790},"Opik docs: SDK anonymizers","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fgateway-guardrails\u002Fanonymizers",{"title":792,"url":793},"Opik docs: data anonymization","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fadministration\u002Fdata_anonymization",{"title":795,"url":796},"Comet ML privacy policy","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fprivacy-policy\u002F",{"title":798,"url":799},"Comet Trust Center","https:\u002F\u002Ftrust.comet.com\u002F",{"title":801,"url":802},"Langfuse repository README (licence)","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse",{"title":804,"url":805},"Arize Phoenix repository README (licence)","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fphoenix",{"title":807,"url":808},"LangChain pricing (LangSmith plans)","https:\u002F\u002Fwww.langchain.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fopik\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopik\u002Fog.jpg",[94,95,96],"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":817,"published":818,"minutes":819,"category":7,"tags":820,"keywords":823,"about":830,"sources":834,"cover":852,"og":853,"expertise":92,"locales":854,"lang":95,"title":855,"description":856,"coverAlt":857,"url":858,"pricing":859,"kind":709},"ollama","2026-09-29",11,[640,821,637,638,822],"Open models","Model serving",[817,824,825,826,827,828,829],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[831],{"name":832,"url":833},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[835,838,840,843,846,849],{"title":836,"url":837},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":839,"url":686},"Ollama on GitHub, with the MIT LICENSE file",{"title":841,"url":842},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":844,"url":845},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":847,"url":848},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":850,"url":851},"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",[94,95,96],"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",1791636874031]