sable-sphynx 0.7.0.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sable_sphynx-0.7.0.dev0.dist-info/METADATA +152 -0
- sable_sphynx-0.7.0.dev0.dist-info/RECORD +174 -0
- sable_sphynx-0.7.0.dev0.dist-info/WHEEL +5 -0
- sable_sphynx-0.7.0.dev0.dist-info/top_level.txt +1 -0
- sphynx/__init__.py +469 -0
- sphynx/__init__.pyi +376 -0
- sphynx/_analytical_client.py +77 -0
- sphynx/_analytical_values.py +252 -0
- sphynx/_audit_client.py +173 -0
- sphynx/_comparison_adapters.py +113 -0
- sphynx/_componentized_full_rag.py +34 -0
- sphynx/_composed_pipeline.py +109 -0
- sphynx/_full_rag_grading.py +218 -0
- sphynx/_full_rag_trace.py +221 -0
- sphynx/_local_eval.py +268 -0
- sphynx/_pipeline_core.py +243 -0
- sphynx/_pr_client.py +237 -0
- sphynx/_rag_diagnostics_calibration.py +285 -0
- sphynx/_rag_diagnostics_catalog.py +39 -0
- sphynx/_rag_diagnostics_common.py +26 -0
- sphynx/_rag_diagnostics_contracts.py +186 -0
- sphynx/_rag_diagnostics_engine.py +243 -0
- sphynx/_rag_diagnostics_importers.py +242 -0
- sphynx/_rag_diagnostics_ranking.py +81 -0
- sphynx/_rag_diagnostics_semantic.py +325 -0
- sphynx/_rag_ranking.py +149 -0
- sphynx/_speech_benchmark_scoring.py +140 -0
- sphynx/_speech_benchmark_sources.py +275 -0
- sphynx/_speech_complete_scoring.py +218 -0
- sphynx/_speech_complete_source.py +118 -0
- sphynx/_speech_kido.py +294 -0
- sphynx/_speech_scoring.py +77 -0
- sphynx/_track_capture.py +213 -0
- sphynx/analytical_views.py +515 -0
- sphynx/assessment_contracts.py +378 -0
- sphynx/assessment_selection.py +57 -0
- sphynx/audit_access.py +245 -0
- sphynx/audit_contracts.py +204 -0
- sphynx/audit_requests.py +180 -0
- sphynx/authoring.py +188 -0
- sphynx/benchmarks.py +568 -0
- sphynx/candidates.py +62 -0
- sphynx/catalog.py +272 -0
- sphynx/chunking.py +372 -0
- sphynx/clickhouse_reader.py +169 -0
- sphynx/client.py +486 -0
- sphynx/comparison_core.py +149 -0
- sphynx/comparison_views.py +223 -0
- sphynx/components.py +1661 -0
- sphynx/contracts.py +514 -0
- sphynx/customer_rerank.py +299 -0
- sphynx/customer_retrieval.py +146 -0
- sphynx/data/benchmark-releases.v1.json +164 -0
- sphynx/data/public-benchmark-release.v1.json +354 -0
- sphynx/data/rag-diagnostics-synthetic.v1.json +6982 -0
- sphynx/data/rag-paper-references.v1.json +176 -0
- sphynx/data/rag-paper-schemas.v1.json +1069 -0
- sphynx/data/rag-rerank-v1.json +507 -0
- sphynx/dataset_catalog_data.py +1214 -0
- sphynx/dataset_readiness.py +138 -0
- sphynx/dataset_v3.py +999 -0
- sphynx/demo.py +130 -0
- sphynx/demo_candidates/__init__.py +1 -0
- sphynx/demo_candidates/dense.py +11 -0
- sphynx/demo_candidates/lexical.py +21 -0
- sphynx/diagnostics.py +207 -0
- sphynx/documentation.py +737 -0
- sphynx/documentation_candidate.py +939 -0
- sphynx/evals.py +538 -0
- sphynx/evaluation_protocols.py +124 -0
- sphynx/evaluator_bindings.py +370 -0
- sphynx/evidence.py +352 -0
- sphynx/execution_capabilities.py +109 -0
- sphynx/fast_search.py +285 -0
- sphynx/full_rag.py +341 -0
- sphynx/hosted/__init__.py +18 -0
- sphynx/hosted/benchmark_intake.py +218 -0
- sphynx/hosted/contracts.py +361 -0
- sphynx/hosted/model_admission.py +130 -0
- sphynx/hosted/model_artifacts.py +298 -0
- sphynx/hosted/model_contracts.py +63 -0
- sphynx/hosted/model_gcs.py +181 -0
- sphynx/hosted/model_history.py +84 -0
- sphynx/hosted/model_session.py +233 -0
- sphynx/hosted/public_suite.py +74 -0
- sphynx/hosted/registry.py +97 -0
- sphynx/hosted/revisions.py +126 -0
- sphynx/hosted/sandbox.py +105 -0
- sphynx/hosted/submission.py +287 -0
- sphynx/hosted_workflow.py +451 -0
- sphynx/http_transport.py +86 -0
- sphynx/integrated_rag.py +352 -0
- sphynx/integrated_workflow.py +552 -0
- sphynx/integration_contracts.py +474 -0
- sphynx/invocation.py +791 -0
- sphynx/invocation_candidates.py +392 -0
- sphynx/invocation_catalog_data.py +40 -0
- sphynx/learned_catalog_data.py +30 -0
- sphynx/learned_rerank.py +267 -0
- sphynx/legacy_full_rag.py +67 -0
- sphynx/lifecycle.py +885 -0
- sphynx/lifecycle_workflow.py +490 -0
- sphynx/metric_views.py +474 -0
- sphynx/metrics.py +282 -0
- sphynx/model_adapters.py +438 -0
- sphynx/model_catalog_data.py +30 -0
- sphynx/official_benchmarks.py +385 -0
- sphynx/packs.py +258 -0
- sphynx/pipeline.py +313 -0
- sphynx/pipeline_workflow.py +551 -0
- sphynx/pr_evaluations.py +560 -0
- sphynx/progress.py +89 -0
- sphynx/public_bundle.py +173 -0
- sphynx/public_eval.py +62 -0
- sphynx/public_rerank.py +355 -0
- sphynx/py.typed +0 -0
- sphynx/pytest_plugin.py +62 -0
- sphynx/question_robustness.py +437 -0
- sphynx/rag.py +329 -0
- sphynx/rag_diagnostics.py +309 -0
- sphynx/rag_papers/__init__.py +29 -0
- sphynx/rag_papers/__main__.py +45 -0
- sphynx/rag_papers/candidates.py +19 -0
- sphynx/rag_papers/contracts.py +282 -0
- sphynx/rag_papers/datasets.py +291 -0
- sphynx/rag_papers/experiments.py +116 -0
- sphynx/rag_papers/judges.py +308 -0
- sphynx/rag_papers/registry.py +33 -0
- sphynx/rag_papers/runner.py +176 -0
- sphynx/rag_papers/sable.py +135 -0
- sphynx/rag_papers/schemas.py +12 -0
- sphynx/rag_papers/scoring.py +249 -0
- sphynx/rag_papers/semantic.py +288 -0
- sphynx/rag_papers/trec.py +80 -0
- sphynx/recorded_scores.py +352 -0
- sphynx/records.py +124 -0
- sphynx/reflex_traces.py +193 -0
- sphynx/report_rendering.py +71 -0
- sphynx/rerank_family_contracts.py +150 -0
- sphynx/rerank_workflow.py +424 -0
- sphynx/research_candidate.py +190 -0
- sphynx/results.py +852 -0
- sphynx/retrieval.py +750 -0
- sphynx/retrieval_candidates.py +295 -0
- sphynx/retrieval_catalog_data.py +19 -0
- sphynx/retrieval_recordings.py +125 -0
- sphynx/reviewer_audit.py +266 -0
- sphynx/routing_policies.py +375 -0
- sphynx/runner.py +544 -0
- sphynx/sable_rerank.py +489 -0
- sphynx/score_reliability.py +393 -0
- sphynx/speech_benchmarks.py +204 -0
- sphynx/speech_campaigns.py +378 -0
- sphynx/speech_complete.py +236 -0
- sphynx/speech_contracts.py +225 -0
- sphynx/speech_evidence.py +429 -0
- sphynx/speech_listening.py +115 -0
- sphynx/speech_multilingual.py +71 -0
- sphynx/speech_tts.py +479 -0
- sphynx/sql/001_sync_v1.sql +30 -0
- sphynx/stage_contracts.py +199 -0
- sphynx/statistical_catalog_data.py +53 -0
- sphynx/statistical_rerank.py +232 -0
- sphynx/sync.py +797 -0
- sphynx/workbench.py +378 -0
- sphynx/workbench_catalog_data.py +13 -0
- sphynx/workbench_tracks.py +78 -0
- sphynx/workflow_async.py +197 -0
- sphynx/workflow_contracts.py +594 -0
- sphynx/workflow_decisions.py +211 -0
- sphynx/workflow_defaults.py +16 -0
- sphynx/workflow_extensions.py +212 -0
- sphynx/workflow_registry.py +513 -0
- sphynx/workflows.py +792 -0
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "rag-evals.dataset.v2",
|
|
3
|
+
"dataset_id": "help-center-evidence-mini",
|
|
4
|
+
"version": "2.0.0",
|
|
5
|
+
"default_relevance_threshold": 2,
|
|
6
|
+
"tasks": [
|
|
7
|
+
{
|
|
8
|
+
"task_id": "core-onboarding-security",
|
|
9
|
+
"query_id": "q-onboarding-security",
|
|
10
|
+
"cluster_id": "cluster-onboarding-security",
|
|
11
|
+
"split_group_id": "split-onboarding-security",
|
|
12
|
+
"split": "dev",
|
|
13
|
+
"suite_type": "core",
|
|
14
|
+
"domain": "help-center",
|
|
15
|
+
"query": "How do onboarding and the security review work?",
|
|
16
|
+
"query_variants": ["What happens during setup and compliance review?"],
|
|
17
|
+
"answerability": "answerable",
|
|
18
|
+
"query_categories": ["multi_part", "multi_document", "straightforward_factual"],
|
|
19
|
+
"business_severity": "high",
|
|
20
|
+
"versions": {
|
|
21
|
+
"corpus": "fixture-corpus-v2",
|
|
22
|
+
"index": "fixture-index-v2",
|
|
23
|
+
"chunking": "section-v2",
|
|
24
|
+
"embedding": "fixture-embed-v2"
|
|
25
|
+
},
|
|
26
|
+
"candidates": [
|
|
27
|
+
{
|
|
28
|
+
"candidate_id": "onboarding-flow",
|
|
29
|
+
"document_id": "doc-onboarding",
|
|
30
|
+
"url": "https://example.invalid/onboarding",
|
|
31
|
+
"source_id": "help",
|
|
32
|
+
"chunk_id": "onboarding-1",
|
|
33
|
+
"input": "Start onboarding by connecting the workspace, inviting an owner, and completing the setup checklist.",
|
|
34
|
+
"dense_rank": 1,
|
|
35
|
+
"dense_score": 0.94,
|
|
36
|
+
"relevance_grade": 3,
|
|
37
|
+
"evidence_group_ids": ["onboarding-workflow"],
|
|
38
|
+
"evidence_spans": [{ "start": 0, "end": 16, "text": "Start onboarding" }],
|
|
39
|
+
"annotations": [
|
|
40
|
+
{ "annotator_id": "labeler-a", "relevance_grade": 3, "rationale": "Direct workflow evidence" },
|
|
41
|
+
{ "annotator_id": "labeler-b", "relevance_grade": 2, "rationale": "Useful but concise" }
|
|
42
|
+
],
|
|
43
|
+
"adjudication": {
|
|
44
|
+
"adjudicator_id": "sme-a",
|
|
45
|
+
"relevance_grade": 3,
|
|
46
|
+
"rationale": "Directly answers the onboarding facet"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"candidate_id": "login-help",
|
|
51
|
+
"document_id": "doc-login",
|
|
52
|
+
"url": "https://example.invalid/login",
|
|
53
|
+
"source_id": "help",
|
|
54
|
+
"chunk_id": "login-1",
|
|
55
|
+
"input": "Reset a forgotten password from the login page.",
|
|
56
|
+
"dense_rank": 2,
|
|
57
|
+
"dense_score": 0.82,
|
|
58
|
+
"relevance_grade": 0,
|
|
59
|
+
"evidence_group_ids": [],
|
|
60
|
+
"known_hard_negative": true
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"candidate_id": "pricing-help",
|
|
64
|
+
"document_id": "doc-pricing",
|
|
65
|
+
"url": "https://example.invalid/pricing",
|
|
66
|
+
"source_id": "help",
|
|
67
|
+
"chunk_id": "pricing-1",
|
|
68
|
+
"input": "Annual plans are billed at the beginning of each term.",
|
|
69
|
+
"dense_rank": 3,
|
|
70
|
+
"dense_score": 0.76,
|
|
71
|
+
"relevance_grade": 0,
|
|
72
|
+
"evidence_group_ids": []
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"candidate_id": "export-help",
|
|
76
|
+
"document_id": "doc-export",
|
|
77
|
+
"url": "https://example.invalid/export",
|
|
78
|
+
"source_id": "help",
|
|
79
|
+
"chunk_id": "export-1",
|
|
80
|
+
"input": "Export reports as CSV from the Reports page.",
|
|
81
|
+
"dense_rank": 4,
|
|
82
|
+
"dense_score": 0.72,
|
|
83
|
+
"relevance_grade": 0,
|
|
84
|
+
"evidence_group_ids": []
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"candidate_id": "audit-overview",
|
|
88
|
+
"document_id": "doc-audit",
|
|
89
|
+
"url": "https://example.invalid/audit",
|
|
90
|
+
"source_id": "help",
|
|
91
|
+
"chunk_id": "audit-1",
|
|
92
|
+
"input": "The audit log records administrative changes.",
|
|
93
|
+
"dense_rank": 5,
|
|
94
|
+
"dense_score": 0.66,
|
|
95
|
+
"relevance_grade": 1,
|
|
96
|
+
"evidence_group_ids": [],
|
|
97
|
+
"known_hard_negative": true
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"candidate_id": "security-review",
|
|
101
|
+
"document_id": "doc-security",
|
|
102
|
+
"url": "https://example.invalid/security",
|
|
103
|
+
"source_id": "trust",
|
|
104
|
+
"chunk_id": "security-4",
|
|
105
|
+
"input": "The security review covers data handling, access controls, compliance evidence, and approval before launch.",
|
|
106
|
+
"dense_rank": 6,
|
|
107
|
+
"dense_score": 0.61,
|
|
108
|
+
"relevance_grade": 3,
|
|
109
|
+
"evidence_group_ids": ["security-review"]
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"evidence_groups": [
|
|
113
|
+
{
|
|
114
|
+
"evidence_group_id": "onboarding-workflow",
|
|
115
|
+
"description": "The onboarding workflow",
|
|
116
|
+
"required": true,
|
|
117
|
+
"acceptable_candidate_ids": ["onboarding-flow"]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"evidence_group_id": "security-review",
|
|
121
|
+
"description": "The security/compliance review",
|
|
122
|
+
"required": true,
|
|
123
|
+
"acceptable_candidate_ids": ["security-review"]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"task_id": "core-onboarding-security-paraphrase",
|
|
129
|
+
"query_id": "q-onboarding-security-paraphrase",
|
|
130
|
+
"cluster_id": "cluster-onboarding-security",
|
|
131
|
+
"split_group_id": "split-onboarding-security",
|
|
132
|
+
"split": "dev",
|
|
133
|
+
"suite_type": "core",
|
|
134
|
+
"domain": "help-center",
|
|
135
|
+
"query": "What happens during setup and compliance review?",
|
|
136
|
+
"answerability": "answerable",
|
|
137
|
+
"query_categories": ["semantic_paraphrase", "multi_part", "multi_document"],
|
|
138
|
+
"business_severity": "high",
|
|
139
|
+
"versions": {
|
|
140
|
+
"corpus": "fixture-corpus-v2",
|
|
141
|
+
"index": "fixture-index-v2",
|
|
142
|
+
"chunking": "section-v2",
|
|
143
|
+
"embedding": "fixture-embed-v2"
|
|
144
|
+
},
|
|
145
|
+
"candidates": [
|
|
146
|
+
{
|
|
147
|
+
"candidate_id": "onboarding-flow",
|
|
148
|
+
"document_id": "doc-onboarding",
|
|
149
|
+
"url": "https://example.invalid/onboarding",
|
|
150
|
+
"source_id": "help",
|
|
151
|
+
"chunk_id": "onboarding-1",
|
|
152
|
+
"input": "Start onboarding by connecting the workspace, inviting an owner, and completing the setup checklist.",
|
|
153
|
+
"dense_rank": 1,
|
|
154
|
+
"dense_score": 0.9,
|
|
155
|
+
"relevance_grade": 3,
|
|
156
|
+
"evidence_group_ids": ["onboarding-workflow"]
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"candidate_id": "login-help",
|
|
160
|
+
"document_id": "doc-login",
|
|
161
|
+
"url": "https://example.invalid/login",
|
|
162
|
+
"source_id": "help",
|
|
163
|
+
"chunk_id": "login-1",
|
|
164
|
+
"input": "Reset a forgotten password from the login page.",
|
|
165
|
+
"dense_rank": 2,
|
|
166
|
+
"dense_score": 0.8,
|
|
167
|
+
"relevance_grade": 0,
|
|
168
|
+
"evidence_group_ids": []
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"candidate_id": "pricing-help",
|
|
172
|
+
"document_id": "doc-pricing",
|
|
173
|
+
"url": "https://example.invalid/pricing",
|
|
174
|
+
"source_id": "help",
|
|
175
|
+
"chunk_id": "pricing-1",
|
|
176
|
+
"input": "Annual plans are billed at the beginning of each term.",
|
|
177
|
+
"dense_rank": 3,
|
|
178
|
+
"dense_score": 0.75,
|
|
179
|
+
"relevance_grade": 0,
|
|
180
|
+
"evidence_group_ids": []
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"candidate_id": "export-help",
|
|
184
|
+
"document_id": "doc-export",
|
|
185
|
+
"url": "https://example.invalid/export",
|
|
186
|
+
"source_id": "help",
|
|
187
|
+
"chunk_id": "export-1",
|
|
188
|
+
"input": "Export reports as CSV from the Reports page.",
|
|
189
|
+
"dense_rank": 4,
|
|
190
|
+
"dense_score": 0.7,
|
|
191
|
+
"relevance_grade": 0,
|
|
192
|
+
"evidence_group_ids": []
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"candidate_id": "audit-overview",
|
|
196
|
+
"document_id": "doc-audit",
|
|
197
|
+
"url": "https://example.invalid/audit",
|
|
198
|
+
"source_id": "help",
|
|
199
|
+
"chunk_id": "audit-1",
|
|
200
|
+
"input": "The audit log records administrative changes.",
|
|
201
|
+
"dense_rank": 5,
|
|
202
|
+
"dense_score": 0.65,
|
|
203
|
+
"relevance_grade": 1,
|
|
204
|
+
"evidence_group_ids": []
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"candidate_id": "security-review",
|
|
208
|
+
"document_id": "doc-security",
|
|
209
|
+
"url": "https://example.invalid/security",
|
|
210
|
+
"source_id": "trust",
|
|
211
|
+
"chunk_id": "security-4",
|
|
212
|
+
"input": "The security review covers data handling, access controls, compliance evidence, and approval before launch.",
|
|
213
|
+
"dense_rank": 6,
|
|
214
|
+
"dense_score": 0.6,
|
|
215
|
+
"relevance_grade": 3,
|
|
216
|
+
"evidence_group_ids": ["security-review"]
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"evidence_groups": [
|
|
220
|
+
{
|
|
221
|
+
"evidence_group_id": "onboarding-workflow",
|
|
222
|
+
"description": "The onboarding workflow",
|
|
223
|
+
"required": true,
|
|
224
|
+
"acceptable_candidate_ids": ["onboarding-flow"]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"evidence_group_id": "security-review",
|
|
228
|
+
"description": "The security/compliance review",
|
|
229
|
+
"required": true,
|
|
230
|
+
"acceptable_candidate_ids": ["security-review"]
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"task_id": "customer-seat-transfer",
|
|
236
|
+
"query_id": "q-customer-seat-transfer",
|
|
237
|
+
"cluster_id": "cluster-seat-transfer",
|
|
238
|
+
"split_group_id": "split-seat-transfer",
|
|
239
|
+
"split": "test",
|
|
240
|
+
"suite_type": "customer_acceptance",
|
|
241
|
+
"customer": "customer-fixture-a",
|
|
242
|
+
"domain": "account-admin",
|
|
243
|
+
"query": "Move a named seat to the new workspace steward.",
|
|
244
|
+
"answerability": "answerable",
|
|
245
|
+
"query_categories": ["customer_specific_terminology", "postsales_language", "exact_product_feature_name"],
|
|
246
|
+
"business_severity": "critical",
|
|
247
|
+
"versions": {
|
|
248
|
+
"corpus": "fixture-corpus-v2",
|
|
249
|
+
"index": "fixture-index-v2",
|
|
250
|
+
"chunking": "section-v2",
|
|
251
|
+
"embedding": "fixture-embed-v2"
|
|
252
|
+
},
|
|
253
|
+
"candidates": [
|
|
254
|
+
{
|
|
255
|
+
"candidate_id": "seat-transfer",
|
|
256
|
+
"document_id": "doc-seats",
|
|
257
|
+
"url": "https://example.invalid/seats",
|
|
258
|
+
"source_id": "help",
|
|
259
|
+
"chunk_id": "seats-2",
|
|
260
|
+
"input": "An administrator can transfer an assigned seat to another teammate from Workspace members.",
|
|
261
|
+
"dense_rank": 1,
|
|
262
|
+
"dense_score": 0.93,
|
|
263
|
+
"relevance_grade": 3,
|
|
264
|
+
"evidence_group_ids": ["seat-transfer"]
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"candidate_id": "seat-cancel",
|
|
268
|
+
"document_id": "doc-seats",
|
|
269
|
+
"url": "https://example.invalid/seats",
|
|
270
|
+
"source_id": "help",
|
|
271
|
+
"chunk_id": "seats-3",
|
|
272
|
+
"input": "Canceling a seat removes access at the end of the term.",
|
|
273
|
+
"dense_rank": 2,
|
|
274
|
+
"dense_score": 0.8,
|
|
275
|
+
"relevance_grade": 1,
|
|
276
|
+
"evidence_group_ids": [],
|
|
277
|
+
"known_hard_negative": true
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"candidate_id": "invite-user",
|
|
281
|
+
"document_id": "doc-users",
|
|
282
|
+
"url": "https://example.invalid/users",
|
|
283
|
+
"source_id": "help",
|
|
284
|
+
"chunk_id": "users-1",
|
|
285
|
+
"input": "Invite a new user by email.",
|
|
286
|
+
"dense_rank": 3,
|
|
287
|
+
"dense_score": 0.7,
|
|
288
|
+
"relevance_grade": 0,
|
|
289
|
+
"evidence_group_ids": []
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"candidate_id": "change-owner",
|
|
293
|
+
"document_id": "doc-owner",
|
|
294
|
+
"url": "https://example.invalid/owner",
|
|
295
|
+
"source_id": "help",
|
|
296
|
+
"chunk_id": "owner-1",
|
|
297
|
+
"input": "Workspace ownership can be changed by an existing owner.",
|
|
298
|
+
"dense_rank": 4,
|
|
299
|
+
"dense_score": 0.65,
|
|
300
|
+
"relevance_grade": 1,
|
|
301
|
+
"evidence_group_ids": []
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"candidate_id": "billing-owner",
|
|
305
|
+
"document_id": "doc-billing",
|
|
306
|
+
"url": "https://example.invalid/billing",
|
|
307
|
+
"source_id": "help",
|
|
308
|
+
"chunk_id": "billing-2",
|
|
309
|
+
"input": "The billing contact receives invoices.",
|
|
310
|
+
"dense_rank": 5,
|
|
311
|
+
"dense_score": 0.6,
|
|
312
|
+
"relevance_grade": 0,
|
|
313
|
+
"evidence_group_ids": []
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"candidate_id": "delete-user",
|
|
317
|
+
"document_id": "doc-users",
|
|
318
|
+
"url": "https://example.invalid/users",
|
|
319
|
+
"source_id": "help",
|
|
320
|
+
"chunk_id": "users-4",
|
|
321
|
+
"input": "Deleting a user permanently removes the profile.",
|
|
322
|
+
"dense_rank": 6,
|
|
323
|
+
"dense_score": 0.55,
|
|
324
|
+
"relevance_grade": 0,
|
|
325
|
+
"evidence_group_ids": []
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
"evidence_groups": [
|
|
329
|
+
{
|
|
330
|
+
"evidence_group_id": "seat-transfer",
|
|
331
|
+
"description": "Transfer an existing seat without canceling it",
|
|
332
|
+
"required": true,
|
|
333
|
+
"acceptable_candidate_ids": ["seat-transfer"]
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"task_id": "production-passage-not-url",
|
|
339
|
+
"query_id": "q-production-passage-not-url",
|
|
340
|
+
"cluster_id": "cluster-production-passage",
|
|
341
|
+
"split_group_id": "split-production-passage",
|
|
342
|
+
"split": "test",
|
|
343
|
+
"suite_type": "production_failure",
|
|
344
|
+
"domain": "api",
|
|
345
|
+
"query": "How do I rotate an API key?",
|
|
346
|
+
"answerability": "answerable",
|
|
347
|
+
"query_categories": ["exact_product_feature_name", "postsales_language"],
|
|
348
|
+
"business_severity": "high",
|
|
349
|
+
"versions": {
|
|
350
|
+
"corpus": "fixture-corpus-v2",
|
|
351
|
+
"index": "fixture-index-v2",
|
|
352
|
+
"chunking": "section-v2",
|
|
353
|
+
"embedding": "fixture-embed-v2"
|
|
354
|
+
},
|
|
355
|
+
"candidates": [
|
|
356
|
+
{
|
|
357
|
+
"candidate_id": "api-overview",
|
|
358
|
+
"document_id": "doc-api",
|
|
359
|
+
"url": "https://example.invalid/api",
|
|
360
|
+
"source_id": "help",
|
|
361
|
+
"chunk_id": "api-1",
|
|
362
|
+
"input": "API keys authenticate requests to the service.",
|
|
363
|
+
"dense_rank": 1,
|
|
364
|
+
"dense_score": 0.9,
|
|
365
|
+
"relevance_grade": 1,
|
|
366
|
+
"evidence_group_ids": [],
|
|
367
|
+
"known_hard_negative": true
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"candidate_id": "api-rotate",
|
|
371
|
+
"document_id": "doc-api",
|
|
372
|
+
"url": "https://example.invalid/api",
|
|
373
|
+
"source_id": "help",
|
|
374
|
+
"chunk_id": "api-7",
|
|
375
|
+
"input": "Create a replacement key, update clients, verify traffic, and revoke the previous key.",
|
|
376
|
+
"dense_rank": 2,
|
|
377
|
+
"dense_score": 0.86,
|
|
378
|
+
"relevance_grade": 3,
|
|
379
|
+
"evidence_group_ids": ["key-rotation"]
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
"evidence_groups": [
|
|
383
|
+
{
|
|
384
|
+
"evidence_group_id": "key-rotation",
|
|
385
|
+
"description": "Safe API-key rotation procedure",
|
|
386
|
+
"required": true,
|
|
387
|
+
"acceptable_candidate_ids": ["api-rotate"]
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"source_case_id": "anonymized-regression-key-rotation"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"task_id": "adversarial-unsupported-sso",
|
|
394
|
+
"query_id": "q-adversarial-unsupported-sso",
|
|
395
|
+
"cluster_id": "cluster-unsupported-sso",
|
|
396
|
+
"split_group_id": "split-unsupported-sso",
|
|
397
|
+
"split": "test",
|
|
398
|
+
"suite_type": "adversarial_robustness",
|
|
399
|
+
"domain": "security",
|
|
400
|
+
"query": "Can this product configure SAML single sign-on?",
|
|
401
|
+
"answerability": "unsupported",
|
|
402
|
+
"query_categories": ["unsupported_not_in_kb", "false_premise", "competitor_named_entity"],
|
|
403
|
+
"business_severity": "critical",
|
|
404
|
+
"versions": {
|
|
405
|
+
"corpus": "fixture-corpus-v2",
|
|
406
|
+
"index": "fixture-index-v2",
|
|
407
|
+
"chunking": "section-v2",
|
|
408
|
+
"embedding": "fixture-embed-v2"
|
|
409
|
+
},
|
|
410
|
+
"candidates": [
|
|
411
|
+
{
|
|
412
|
+
"candidate_id": "two-factor",
|
|
413
|
+
"document_id": "doc-security",
|
|
414
|
+
"url": "https://example.invalid/security",
|
|
415
|
+
"source_id": "help",
|
|
416
|
+
"chunk_id": "security-2",
|
|
417
|
+
"input": "Two-factor authentication can be enabled in account security.",
|
|
418
|
+
"dense_rank": 1,
|
|
419
|
+
"dense_score": 0.79,
|
|
420
|
+
"relevance_grade": 0,
|
|
421
|
+
"evidence_group_ids": [],
|
|
422
|
+
"known_hard_negative": true
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"candidate_id": "password-reset",
|
|
426
|
+
"document_id": "doc-password",
|
|
427
|
+
"url": "https://example.invalid/password",
|
|
428
|
+
"source_id": "help",
|
|
429
|
+
"chunk_id": "password-1",
|
|
430
|
+
"input": "Send a password reset link from the login screen.",
|
|
431
|
+
"dense_rank": 2,
|
|
432
|
+
"dense_score": 0.61,
|
|
433
|
+
"relevance_grade": 0,
|
|
434
|
+
"evidence_group_ids": []
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"evidence_groups": [],
|
|
438
|
+
"expected_unsupported_behavior": "abstain"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"task_id": "adversarial-duplicate-guides",
|
|
442
|
+
"query_id": "q-adversarial-duplicate-guides",
|
|
443
|
+
"cluster_id": "cluster-duplicate-guides",
|
|
444
|
+
"split_group_id": "split-duplicate-guides",
|
|
445
|
+
"split": "test",
|
|
446
|
+
"suite_type": "adversarial_robustness",
|
|
447
|
+
"domain": "billing",
|
|
448
|
+
"query": "Where can I download an invoice?",
|
|
449
|
+
"answerability": "answerable",
|
|
450
|
+
"query_categories": ["duplicate_documentation", "adjacent_chunk_dependency"],
|
|
451
|
+
"business_severity": "medium",
|
|
452
|
+
"versions": {
|
|
453
|
+
"corpus": "fixture-corpus-v2",
|
|
454
|
+
"index": "fixture-index-v2",
|
|
455
|
+
"chunking": "section-v2",
|
|
456
|
+
"embedding": "fixture-embed-v2"
|
|
457
|
+
},
|
|
458
|
+
"candidates": [
|
|
459
|
+
{
|
|
460
|
+
"candidate_id": "invoice-primary",
|
|
461
|
+
"document_id": "doc-invoice",
|
|
462
|
+
"url": "https://example.invalid/invoices",
|
|
463
|
+
"source_id": "help",
|
|
464
|
+
"chunk_id": "invoice-3",
|
|
465
|
+
"input": "Open Billing, choose an invoice, then select Download PDF.",
|
|
466
|
+
"dense_rank": 1,
|
|
467
|
+
"dense_score": 0.95,
|
|
468
|
+
"relevance_grade": 3,
|
|
469
|
+
"evidence_group_ids": ["invoice-download"]
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"candidate_id": "invoice-copy",
|
|
473
|
+
"document_id": "doc-invoice-copy",
|
|
474
|
+
"url": "https://example.invalid/invoice-copy",
|
|
475
|
+
"source_id": "help-copy",
|
|
476
|
+
"chunk_id": "invoice-copy-3",
|
|
477
|
+
"input": "Open Billing, choose an invoice, then select Download PDF.",
|
|
478
|
+
"dense_rank": 2,
|
|
479
|
+
"dense_score": 0.94,
|
|
480
|
+
"relevance_grade": 3,
|
|
481
|
+
"evidence_group_ids": ["invoice-download"],
|
|
482
|
+
"duplicate_of_candidate_id": "invoice-primary"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"candidate_id": "invoice-email",
|
|
486
|
+
"document_id": "doc-invoice",
|
|
487
|
+
"url": "https://example.invalid/invoices",
|
|
488
|
+
"source_id": "help",
|
|
489
|
+
"chunk_id": "invoice-4",
|
|
490
|
+
"input": "Invoices are emailed to the billing contact after payment.",
|
|
491
|
+
"dense_rank": 3,
|
|
492
|
+
"dense_score": 0.62,
|
|
493
|
+
"relevance_grade": 1,
|
|
494
|
+
"evidence_group_ids": []
|
|
495
|
+
}
|
|
496
|
+
],
|
|
497
|
+
"evidence_groups": [
|
|
498
|
+
{
|
|
499
|
+
"evidence_group_id": "invoice-download",
|
|
500
|
+
"description": "Invoice PDF download workflow",
|
|
501
|
+
"required": true,
|
|
502
|
+
"acceptable_candidate_ids": ["invoice-primary", "invoice-copy"]
|
|
503
|
+
}
|
|
504
|
+
]
|
|
505
|
+
}
|
|
506
|
+
]
|
|
507
|
+
}
|