AI Personal Learning
und praktische Anleitung
讯飞绘镜

Zuversichtliche KI: ein Rahmen für die automatische Bewertung großer Sprachmodelle, der die Qualität der Ausgabe verschiedener großer Modellstichwörter vergleicht

Allgemeine Einführung

DeepEval ist ein einfach zu bedienendes Open-Source-LLM-Evaluierungs-Framework zur Evaluierung und zum Testen großer Sprachmodellierungssysteme. DeepEval kombiniert die neuesten Forschungsergebnisse mit Metriken wie G-Eval, Phantom-Erkennung, Antwortrelevanz, RAGAS und mehr, um LLM-Ausgaben zu bewerten. Unabhängig davon, ob Ihre Anwendung durch RAG implementiert oder feinabgestimmt ist, kann DeepEval Ihnen helfen, die besten Hyperparameter zur Verbesserung der Modellleistung zu bestimmen. Darüber hinaus generiert es synthetische Datensätze, lässt sich nahtlos in jede CI/CD-Umgebung integrieren und bietet Red-Team-Testing-Funktionen für über 40 Sicherheitslücken. Das Framework ist außerdem vollständig in Confident AI integriert, um den gesamten Evaluierungslebenszyklus der Plattform zu unterstützen.

Confident AI:自动化大语言模型评估框架,对比不同大模型提示词输出质量-1


 

Funktionsliste

  • Mehrere LLM-Bewertungsmetriken wie G-Eval, Halluzinationstests, Antwortkorrelation, RAGAS, usw.
  • Unterstützung für benutzerdefinierte Bewertungsmetriken und automatische Integration in das DeepEval-Ökosystem
  • Erstellung synthetischer Datensätze für die Bewertung
  • Nahtlose Integration in jede CI/CD-Umgebung
  • Red-Team-Tests zur Aufdeckung von mehr als 40 Sicherheitsschwachstellen
  • Benchmarking mit Unterstützung für mehrere Benchmarks wie MMLU, HellaSwag, DROP, etc.
  • Vollständig in Confident AI integriert, um den gesamten Evaluierungszyklus von der Datensatzerstellung bis zur Fehlersuche in den Evaluierungsergebnissen zu unterstützen

 

Hilfe verwenden

Montage

Sie können DeepEval über pip installieren:

pip install -U deepeval

Es wird empfohlen, ein Konto einzurichten, um gemeinsam nutzbare Cloud-basierte Prüfberichte zu erstellen:

deepeval login

Schreiben von Testfällen

Erstellen Sie eine Testdatei:

touch test_chatbot.py

existierentest_chatbot.pySchreiben Sie den ersten Testfall in der

import pytest
from deepeval import assert_test
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
def test_case():
correctness_metric = GEval(
name="Correctness",
criteria="Determine if the 'actual output' is correct based on the 'expected output'.",
evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT, LLMTestCaseParams.EXPECTED_OUTPUT],
threshold=0.5
)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
assert_test(test_case, [correctness_metric])

Ihre RückgabeOPENAI_API_KEYWird als Umgebungsvariable gesetzt:

export OPENAI_API_KEY="..."

Führen Sie die Testdatei über die CLI aus:

deepeval test run test_chatbot.py

Verwendung von unabhängigen Indikatoren

DeepEval ist extrem modular aufgebaut, so dass jeder seine Metriken problemlos nutzen kann:

from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
answer_relevancy_metric.measure(test_case)
print(answer_relevancy_metric.score)
print(answer_relevancy_metric.reason)

Massenbewertungsdatensätze

In DeepEval sind Datensätze nur Sammlungen von Testfällen. Hier erfahren Sie, wie Sie diese Datensätze in großen Mengen auswerten können:

import pytest
from deepeval import assert_test
from deepeval.metrics import HallucinationMetric, AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
from deepeval.dataset import EvaluationDataset
first_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
second_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
dataset = EvaluationDataset(test_cases=[first_test_case, second_test_case])
@pytest.mark.parametrize("test_case", dataset)
def test_customer_chatbot(test_case: LLMTestCase):
hallucination_metric = HallucinationMetric(threshold=0.3)
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
assert_test(test_case, [hallucination_metric, answer_relevancy_metric])

Führen Sie die Testdatei über die CLI aus:

deepeval test run test_<filename>.py -n 4

LLM-Bewertung mit Confident AI

Melden Sie sich bei der DeepEval-Plattform an:

deepeval login

Führen Sie die Testdatei aus:

deepeval test run test_chatbot.py

Sobald der Test abgeschlossen ist, wird in der CLI ein Link angezeigt, den Sie in Ihren Browser einfügen können, um die Ergebnisse anzuzeigen.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Zuversichtliche KI: ein Rahmen für die automatische Bewertung großer Sprachmodelle, der die Qualität der Ausgabe verschiedener großer Modellstichwörter vergleicht
de_DEDeutsch