AIパーソナル・ラーニング
と実践的なガイダンス
讯飞绘镜

信頼できるAI:自動化された大規模言語モデル評価のためのフレームワーク。

はじめに

DeepEvalは、大規模な言語モデリングシステムを評価およびテストするための、使いやすいオープンソースのLLM評価フレームワークです。DeepEvalは、G-Eval、ファントム検出、解答の関連性、RAGASなどのメトリクスと最新の研究結果を組み合わせて、LLM出力を評価します。DeepEvalは、アプリケーションが実装されているか、RAGによって微調整されているかにかかわらず、モデルのパフォーマンスを向上させるために最適なハイパーパラメータを決定するのに役立ちます。さらに、合成データセットを生成し、あらゆるCI/CD環境にシームレスに統合し、40以上のセキュリティ脆弱性に対するレッドチームテスト機能を提供します。また、このフレームワークはConfident AIと完全に統合されており、プラットフォームの評価ライフサイクル全体をサポートします。

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


 

機能一覧

  • G-Eval、幻覚テスト、解答相関、RAGASなど、複数のLLM評価指標。
  • カスタム評価指標のサポートとDeepEvalエコシステムへの自動統合
  • 評価用合成データセットの生成
  • あらゆるCI/CD環境へのシームレスな統合
  • 40以上のセキュリティ脆弱性を検出するレッドチームのテスト機能
  • MMLU、HellaSwag、DROPなど、複数のベンチマークをサポートするベンチマーク。
  • Confident AIと完全に統合され、データセットの作成から評価結果のデバッグまで、評価ライフサイクル全体をサポート。

 

ヘルプの使用

取り付け

DeepEval は pip 経由でインストールできます:

pip install -U deepeval

共有可能なクラウドベースのテストレポートを作成するには、アカウントを作成することをお勧めします:

deepeval login

テストケースの作成

テストファイルを作成する:

touch test_chatbot.py

あるtest_chatbot.py最初のテストケースを

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])

を返す。OPENAI_API_KEY環境変数として設定する:

export OPENAI_API_KEY="..."

CLIでテストファイルを実行する:

deepeval test run test_chatbot.py

独立した指標の使用

DeepEvalは非常にモジュール化されているため、誰でも簡単にメトリクスを使用できます:

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)

一括査定データセット

DeepEval では、データセットはテスト・ケースの単なるコレクションです。ここでは、これらのデータセットを一括評価する方法を説明します:

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])

CLIでテストファイルを実行する:

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

コンフィデントAIによるLLMアセスメント

DeepEval プラットフォームにログインします:

deepeval login

テストファイルを実行する:

deepeval test run test_chatbot.py

テストが完了すると、CLIにリンクが表示され、ブラウザに貼り付けて結果を見ることができます。

無断転載を禁じます:チーフAIシェアリングサークル " 信頼できるAI:自動化された大規模言語モデル評価のためのフレームワーク。
ja日本語