Types:
from giskard_hub.types import (
Agent,
AgentDetectStatefulness,
AgentOutput,
ChatMessage,
Header,
)Methods:
client.agents.create(**params) -> Agentclient.agents.retrieve(agent_id) -> Agentclient.agents.update(agent_id, **params) -> Agentclient.agents.list(**params) -> List[Agent]client.agents.delete(agent_id) -> Noneclient.agents.bulk_delete(**params) -> Noneclient.agents.generate_completion(agent_id, **params) -> AgentOutputclient.agents.test_connection(**params) -> AgentOutputclient.agents.generate_description(agent_id) -> strclient.agents.detect_statefulness(agent_id) -> AgentDetectStatefulness
Types:
from giskard_hub.types import (
Audit,
AuditDisplay,
APIPaginatedMetadata,
)Methods:
client.audit_logs.search(**params, include_metadata: bool = False) -> List[Audit] | Tuple[List[Audit], APIPaginatedMetadata]client.audit_logs.list_entities(entity_id, entity_type, **params, include_metadata: bool = False) -> List[AuditDisplay] | Tuple[List[AuditDisplay], APIPaginatedMetadata]
Types:
from giskard_hub.types import (
Check,
CheckResult,
ConformityParams,
CorrectnessParams,
GroundednessParams,
MetadataParams,
SemanticSimilarityParams,
StringMatchParams,
)Methods:
client.checks.create(**params) -> Checkclient.checks.retrieve(check_id) -> Checkclient.checks.update(check_id, **params) -> Checkclient.checks.list(**params) -> List[Check]client.checks.delete(check_id) -> Noneclient.checks.bulk_delete(**params) -> None
Types:
from giskard_hub.types import (
Dataset,
TestCase,
TaskProgress,
APIPaginatedMetadata,
)Methods:
client.datasets.create(**params) -> Datasetclient.datasets.upload(**params) -> Datasetclient.datasets.retrieve(dataset_id) -> Datasetclient.datasets.update(dataset_id, **params) -> Datasetclient.datasets.list(**params) -> List[Dataset]client.datasets.delete(dataset_id) -> Noneclient.datasets.bulk_delete(**params) -> Noneclient.datasets.generate_scenario_based(**params) -> Datasetclient.datasets.generate_document_based(**params) -> Datasetclient.datasets.list_tags(dataset_id) -> List[str]client.datasets.list_test_cases(dataset_id) -> List[TestCase]client.datasets.search_test_cases(dataset_id, **params, include_metadata: bool = False) -> List[TestCase] | Tuple[List[TestCase], APIPaginatedMetadata]
Types:
from giskard_hub.types import (
Agent,
AgentOutput,
CheckResult,
Dataset,
DatasetSubset,
DivergenceWarning,
Evaluation,
Metric,
MinimalAgent,
OutputAnnotation,
)Methods:
client.evaluations.create(**params) -> Evaluationclient.evaluations.retrieve(evaluation_id, **params) -> Evaluationclient.evaluations.update(evaluation_id, **params) -> Evaluationclient.evaluations.list(**params) -> List[Evaluation]client.evaluations.delete(evaluation_id) -> Noneclient.evaluations.bulk_delete(**params) -> Noneclient.evaluations.create_local(**params) -> Evaluationclient.evaluations.rerun_errored_results(evaluation_id) -> Evaluationclient.evaluations.run_single(**params) -> List[CheckResult]
The helpers resource exposes convenience methods for common workflows such as running evaluations and waiting for completion.
Types:
from giskard_hub.resources.helpers import (
HelpersResource,
AsyncHelpersResource,
)
from giskard_hub.types import (
Evaluation,
ChatMessage,
)Methods:
-
client.helpers.wait_for_completion(entity, *, poll_interval=5.0, max_retries=360, running_states={"running"}, error_states={"error"}, raise_on_error=True) -> TStatefulWaits until a task-like entity (such as an evaluation) leaves a running state or reaches an error state. -
client.helpers.evaluate(agent, *, dataset, project=None, name=None, tags=None) -> EvaluationRun an evaluation for a given agent over a dataset. Theagentcan be:- a remote agent identifier (
strorAgent), which creates a regular evaluation, or - a local Python callable with signature
(messages: list[ChatMessage]) -> AgentReturn, which creates a local evaluation and submits outputs on your behalf.
- a remote agent identifier (
-
client.helpers.print_metrics(entity) -> NonePrint metrics for an evaluation or scan result to the console. For an evaluation, displays a table of metric names, success rates, and pass/fail/error/skipped counts. For a scan result, displays probe categories, names, severity, and issue/attack counts.
For asynchronous usage, use the corresponding methods on async_client.helpers (for example, await async_client.helpers.evaluate(...)).
Types:
from giskard_hub.types.evaluation import (
FailureCategory,
TaskState,
TestCaseEvaluation,
)
from giskard_hub.types import (
TestCase,
APIPaginatedMetadata,
)Methods:
client.evaluations.results.retrieve(result_id, *, evaluation_id, **params) -> TestCaseEvaluationclient.evaluations.results.update(result_id, *, evaluation_id, **params) -> TestCaseEvaluationclient.evaluations.results.list(evaluation_id, **params) -> List[TestCaseEvaluation]client.evaluations.results.rerun_test_case(result_id, *, evaluation_id) -> TestCaseEvaluationclient.evaluations.results.submit_local_output(result_id, *, evaluation_id, **params) -> TestCaseEvaluationclient.evaluations.results.search(evaluation_id, **params, include_metadata: bool = False) -> List[TestCaseEvaluation] | Tuple[List[TestCaseEvaluation], APIPaginatedMetadata]client.evaluations.results.update_visibility(result_id, *, evaluation_id, **params) -> TestCaseEvaluation
Types:
from giskard_hub.types import (
KnowledgeBase,
KnowledgeBaseDocumentRow,
KnowledgeBaseDocumentDetail,
APIPaginatedMetadata,
)Methods:
client.knowledge_bases.create(**params) -> KnowledgeBaseclient.knowledge_bases.retrieve(knowledge_base_id) -> KnowledgeBaseclient.knowledge_bases.update(knowledge_base_id, **params) -> KnowledgeBaseclient.knowledge_bases.list(**params) -> List[KnowledgeBase]client.knowledge_bases.delete(knowledge_base_id) -> Noneclient.knowledge_bases.bulk_delete(**params) -> Noneclient.knowledge_bases.search_documents(knowledge_base_id, **params, include_metadata: bool = False) -> List[KnowledgeBaseDocumentRow] | Tuple[List[KnowledgeBaseDocumentRow], APIPaginatedMetadata]client.knowledge_bases.retrieve_document(knowledge_base_id, document_id) -> KnowledgeBaseDocumentDetail
Types:
from giskard_hub.types import (
Project,
)Methods:
client.projects.create(**params) -> Projectclient.projects.retrieve(project_id) -> Projectclient.projects.update(project_id, **params) -> Projectclient.projects.list() -> List[Project]client.projects.delete(project_id) -> Noneclient.projects.bulk_delete(**params) -> None
Types:
from giskard_hub.types import (
Scenario,
ScenarioPreview,
)Methods:
client.projects.scenarios.create(project_id, **params) -> Scenarioclient.projects.scenarios.retrieve(scenario_id, *, project_id) -> Scenarioclient.projects.scenarios.update(scenario_id, *, project_id, **params) -> Scenarioclient.projects.scenarios.list(project_id) -> List[Scenario]client.projects.scenarios.delete(scenario_id, *, project_id) -> Noneclient.projects.scenarios.preview(project_id, **params) -> ScenarioPreview
Types:
from giskard_hub.types import (
Agent,
AgentReference,
KnowledgeBase,
Scan,
ScanAvailableProbe,
ScanCategory,
ScanProbe,
)Methods:
client.scans.create(**params) -> Scanclient.scans.retrieve(scan_id, **params) -> Scanclient.scans.list(**params) -> List[Scan]client.scans.delete(scan_id) -> Noneclient.scans.bulk_delete(**params) -> Noneclient.scans.list_categories() -> List[ScanCategory]client.scans.list_probes(scan_id) -> List[ScanProbe]client.scans.list_available_probes() -> List[ScanAvailableProbe]
Types:
from giskard_hub.types.scan import (
ScanProbe,
ScanProbeAttempt,
)Methods:
client.scans.probes.retrieve(probe_id) -> ScanProbeclient.scans.probes.list_attempts(probe_id) -> List[ScanProbeAttempt]
Types:
from giskard_hub.types.scan import (
ReviewStatus,
ScanProbeAttempt,
Severity,
)Methods:
client.scans.attempts.update(probe_attempt_id, **params) -> ScanProbeAttempt
Types:
from giskard_hub.types import (
Agent,
Dataset,
ScheduledEvaluation,
Evaluation,
ErrorExecutionStatus,
FrequencyOption,
SuccessExecutionStatus,
)Methods:
client.scheduled_evaluations.create(**params) -> ScheduledEvaluationclient.scheduled_evaluations.retrieve(scheduled_evaluation_id, **params) -> ScheduledEvaluationclient.scheduled_evaluations.update(scheduled_evaluation_id, **params) -> ScheduledEvaluationclient.scheduled_evaluations.list(**params) -> List[ScheduledEvaluation]client.scheduled_evaluations.delete(scheduled_evaluation_id) -> Noneclient.scheduled_evaluations.bulk_delete(**params) -> Noneclient.scheduled_evaluations.list_evaluations(scheduled_evaluation_id, **params) -> List[Evaluation]
Types:
from giskard_hub.types import (
TestCase,
TestCaseComment,
TestCaseCheckConfig,
ChatMessageWithMetadata,
)Methods:
client.test_cases.create(**params) -> TestCaseclient.test_cases.retrieve(test_case_id) -> TestCaseclient.test_cases.update(test_case_id, **params) -> TestCaseclient.test_cases.delete(test_case_id) -> Noneclient.test_cases.bulk_delete(**params) -> Noneclient.test_cases.bulk_update(**params) -> List[TestCase]client.test_cases.bulk_move(**params) -> None
Types:
from giskard_hub.types import (
TestCaseComment,
)Methods:
client.test_cases.comments.delete(comment_id, *, test_case_id) -> Noneclient.test_cases.comments.add(test_case_id, **params) -> TestCaseCommentclient.test_cases.comments.edit(comment_id, *, test_case_id, **params) -> TestCaseComment
Types:
from giskard_hub.types import (
Task,
TaskStatus,
TaskPriority,
)Methods:
client.tasks.create(**params) -> Taskclient.tasks.retrieve(task_id) -> Taskclient.tasks.update(task_id, **params) -> Taskclient.tasks.list(**params) -> List[Task]client.tasks.delete(task_id) -> Noneclient.tasks.bulk_delete(**params) -> None
Types:
from giskard_hub.types import (
Agent,
PlaygroundChat,
)Methods:
client.playground_chats.list(**params) -> List[PlaygroundChat]client.playground_chats.retrieve(chat_id, **params) -> PlaygroundChatclient.playground_chats.delete(chat_id) -> Noneclient.playground_chats.bulk_delete(**params) -> None