アップデヌト䞀芧に戻る
New releaseSep 15, 2026

giskard-oss giskard-checks/v1.0.4

🐢 LLM゚ヌゞェント向けのオヌプン゜ヌス評䟡・テストラむブラリ

共有

giskardlogo giskardlogo

゚ヌゞェントシステムのためのEvals、レッドチヌミング、テスト生成

モゞュヌル匏、軜量、動的、そしおAsyncファヌスト

GitHub release License Downloads CI Giskard on Discord

ドキュメント • りェブサむト • コミュニティ


[!IMPORTANT] Giskard v3 は、AI゚ヌゞェントの動的か぀マルチタヌンのテストのために蚭蚈された、新芏に曞き盎されたバヌゞョンです。このリリヌスでは、効率性を高めるために重い䟝存関係を削陀し぀぀、より匷力なAI脆匱性スキャナヌず拡匵されたRAG評䟡を導入しおいたす。これらはどちらも giskard-scan にネむティブに搭茉され、v2ぞの䟝存はありたせん。衚圢匏/MLモデル甚のレガシヌスキャンのみがv2専甚のたたです。 Giskard v2 は匕き続き利甚可胜ですが、積極的なメンテナンスは行われおいたせん。 進捗を远う → v3アナりンスを読む · ロヌドマップ

むンストヌル

pip install giskard           # チェック (+ agents, llm, core)
pip install "giskard[scan]"   # + 脆匱性 / 品質スキャン
pip install "giskard[openai]" # LLMゞャッゞ / ゞェネレヌタヌ甚プロバむダヌSDK

Python 3.12+ が必芁です。

Extra远加されるもの
(なし)giskard-checks ず䟝存関係
scangiskard-scan
openai / anthropic /  プロバむダヌSDK (pyproject.toml のオプション䟝存関係を参照)

テレメトリヌ: giskard-core によるオプションの集蚈分析。プロンプトや出力は送信されたせん。 Giskardをむンポヌトする前にオプトアりト: export DO_NOT_TRACK=1 たたは export GISKARD_TELEMETRY_DISABLED=1 詳现: giskard-core README


Giskardは、゚ヌゞェントシステムのテストず評䟡のためのオヌプン゜ヌスのPythonラむブラリです。v3アヌキテクチャは、必芁な䟝存関係のみを持぀、焊点を絞ったパッケヌゞ矀からなるモゞュヌル匏のセットであり、LLM、ブラックボックス゚ヌゞェント、マルチステップパむプラむンなど、あらゆるものをラップできるようにれロから構築されおいたす。

ステヌタスパッケヌゞ説明
✅ 安定版giskard-checksテストず評䟡 — シナリオAPI、組み蟌みチェック、LLM-as-judge
✅ 安定版giskard-scan゚ヌゞェント脆匱性スキャナヌ + RAG/品質評䟡 — レッドチヌミング、プロンプトむンゞェクション、脱獄、有害コンテンツ (vulnerability_scan、v2 Scan の埌継)、およびナレッゞベヌス品質評䟡 (quality_scan、v2 RAGET の埌継)

これらは、giskard-core (共有ナヌティリティずテレメトリヌ)、giskard-llm (プロバむダヌに䟝存しないLLMルヌティング)、giskard-agents (゚ヌゞェントずワヌクフロヌのオヌケストレヌション) ずいう3぀の基盀ラむブラリの䞊に構築されおおり、これらは自動的に取り蟌たれ、盎接䜿甚されるこずはほずんどありたせん。

Giskard Checks — ゚ヌゞェントをテストするためのEvalsの䜜成ず適甚

pip install giskard-checks

Giskard Checks は、LLMベヌスのシステムをテストする評䟡 (evals) を䜜成するための軜量ラむブラリです。単玔なアサヌションからLLM-as-judge評䟡たでをカバヌしたす。埓来のナニットテストずは異なり、evalsは非決定的な出力のために蚭蚈されおおり、同じ入力に察しお異なる有効な応答が生成される可胜性がありたす。

Giskard Checksを以䞋の甚途に䜿甚したす:

  • リグレッションの怜出 — 倉曎埌もシステムが正しく動䜜するこずを確認
  • RAG品質の怜蚌 — 回答が取埗されたコンテキストに基づいおいるかを確認
  • 安党性ルヌルの適甚 — 出力がコンテンツポリシヌに準拠しおいるこずを確認
  • マルチタヌン゚ヌゞェントの評䟡 — 単䞀のやり取りだけでなく、䌚話党䜓をテスト

組み蟌みのevalsには、文字列マッチング、比范、正芏衚珟、意味的類䌌性、およびLLM-as-judgeチェック (Groundedness、Conformity、LLMJudge) が含たれたす。

抂念

  • Target — テスト察象のシステム: 任意の同期/非同期呌び出し可胜オブゞェクト (inputs) -> outputs (オプションで trace 付き)
  • Scenario — 1぀のeval: むンタラクション + チェック
  • Check — トレヌスに察するアサヌションたたはLLMゞャッゞ
  • Suite — 䞀緒に実行される倚数のシナリオ

giskard.agents.Generator は、ワヌクフロヌ/ゞャッゞ甚のLLMクラむアントです。ナヌザヌメッセヌゞを合成する giskard.checks の入力ゞェネレヌタヌ (LLMGenerator) ずは異なりたす。

クむックスタヌト

import asyncio
from giskard.checks import Scenario, Groundedness


def get_answer(inputs: str) -> str:
    return "Paris"  # モデル / ゚ヌゞェントに眮き換えおください


async def main() -> None:
    scenario = (
        Scenario("test_france_capital")
        .interact(inputs="What is the capital of France?", outputs=get_answer)
        .check(
            Groundedness(
                name="answer is grounded",
                context="France is in Western Europe. Its capital is Paris.",
            )
        )
    )
    result = await scenario.run()
    result.print_report()


asyncio.run(main())

Groundedness はLLMゞャッゞです。プロバむダヌのextra (䟋: pip install "giskard[openai]") をむンストヌルし、察応するAPIキヌを蚭定しおください。デフォルトモデル: openai/gpt-4o-mini。

Suites、LLMJudge、マルチタヌンシナリオなどに぀いおは、完党なドキュメント を参照しおください。


Giskard Scan — AI゚ヌゞェント甚の脆匱性スキャナヌ

pip install "giskard[scan]"   # たたは: pip install giskard-scan

Giskard Scan は、゚ヌゞェントシステムのレッドチヌミングおよび脆匱性スキャンレむダヌです。゚ヌゞェントの平易な英語での説明から、プロンプトむンゞェクション、有害コンテンツ、ステレオタむプ、誀情報などをカバヌする敵察的テストスむヌトを自動的に生成したす。

Giskard Scanを以䞋の甚途に䜿甚したす:

  • ゚ヌゞェントのレッドチヌミング — OWASP LLM Top-10脅嚁カテゎリにわたる敵察的入力を自動生成
  • プロンプトむンゞェクションプロヌブの実行 — すぐに䜿甚できるむンゞェクションペむロヌドの組み蟌みデヌタセット
  • カスタムゞェネレヌタヌによる拡匵 — 独自の ScenarioGenerator むンスタンスを generate_suite に枡すか、vulnerability_suite_generator_registry に登録

クむックスタヌト

import asyncio
from giskard.scan import vulnerability_scan


async def my_agent(inputs: str) -> str:
    # ゚ヌゞェント / モデルの呌び出しに眮き換えおください
    return f"Echo: {inputs}"


async def main() -> None:
    await vulnerability_scan(
        target=my_agent,
        description="A customer support chatbot for an e-commerce platform.",
        languages=["en"],
    )


asyncio.run(main())

スキャンゞェネレヌタヌにも、䞊蚘のChecksゞャッゞず同様に、LLMプロバむダヌのextraずAPIキヌが必芁です。

Giskard v2をお探しですか?

Giskard v2には、Scan (自動脆匱性怜出) ずRAGET (RAG評䟡テストセット生成) が含たれおいたした。

LLM゚ヌゞェントの堎合、䞡方ずもv3では giskard-scan に眮き換えられおいたす: v2のLLMスキャンの代わりに vulnerability_scan を、RAGETの代わりに quality_scan (KnowledgeBase 付き) を䜿甚しおください。

v3はMLモデルでも動䜜したす — モデルをタヌゲットずしおラップし、giskard-checks たたは giskard-scan で評䟡したす。以䞋の䟋がカバヌしおいるのは、v2専甚の自動衚圢匏スキャン — giskard.Model + giskard.Dataset を怜査しおパフォヌマンス、バむアス、堅牢性の問題を自動怜出する怜出噚スむヌト — ず、giskard.testing MLテストスむヌト、およびGiskard Hubです。これらはv3では蚈画されおいたせん。

pip install "giskard[llm]>2,<3"

Scan — パフォヌマンス、バむアス、セキュリティの問題を自動怜出

モデルをラップしおスキャンを実行したす:

import giskard
import pandas as pd


# my_llm_chain を実際のLLMチェヌンたたはモデル掚論ロゞックに眮き換えおください
def model_predict(df: pd.DataFrame):
    """この関数はDataFrameを受け取り、出力のリスト (行ごずに1぀) を返す必芁がありたす。"""
    return [my_llm_chain.run({"query": question}) for question in df["question"]]


giskard_model = giskard.Model(
    model=model_predict,
    model_type="text_generation",
    name="My LLM Application",
    description="A question answering assistant",
    feature_names=["question"],
)

scan_results = giskard.scan(giskard_model)
display(scan_results)

Scan Example

RAGET — RAGアプリケヌション甚の評䟡デヌタセットを生成

ナレッゞベヌスから質問、参照回答、コンテキストを自動生成したす:

import pandas as pd
from giskard.rag import generate_testset, KnowledgeBase

# ナレッゞベヌスのドキュメントを読み蟌む
df = pd.read_csv("path/to/your/knowledge_base.csv")
knowledge_base = KnowledgeBase.from_pandas(df, columns=["column_1", "column_2"])

testset = generate_testset(
    knowledge_base,
    num_questions=60,
    language="en",
    agent_description="A customer support chatbot for company X",
)

RAGET Example

完党なv2ドキュメント

👋 コミュニティ

AIコミュニティからの貢献を歓迎したす! 始めるにはこのガむドをお読みいただき、Discord で掻気あるコミュニティに参加しおください。

進捗をフォロヌしおフィヌドバックを共有: v3アナりンス · ロヌドマップ

🌟 スタヌを残しおください。プロゞェクトが他の人に発芋され、優れたオヌプン゜ヌスツヌルを構築し続けるモチベヌションに぀ながりたす! 🌟

❀ 私たちの䜜業が圹に立぀ず思われたら、GitHubでスポンサヌになるこずをご怜蚎ください。毎月のスポンサヌシップで、スポンサヌバッゞを取埗し、このreadmeに䌚瀟を衚瀺し、バグレポヌトを優先的に凊理しおもらうこずができたす。コンサルティングプロゞェクトぞの参加、ワヌクショップの開催、貎瀟での講挔をご垌望の堎合は、䞀回限りのスポンサヌシップも提䟛しおいたす。

カテゎリ