knowledge2 0.4.0__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.
- knowledge2-0.4.0.dist-info/METADATA +556 -0
- knowledge2-0.4.0.dist-info/RECORD +139 -0
- knowledge2-0.4.0.dist-info/WHEEL +5 -0
- knowledge2-0.4.0.dist-info/top_level.txt +1 -0
- sdk/__init__.py +70 -0
- sdk/_async_base.py +525 -0
- sdk/_async_paging.py +57 -0
- sdk/_base.py +541 -0
- sdk/_logging.py +41 -0
- sdk/_paging.py +73 -0
- sdk/_preview.py +70 -0
- sdk/_raw_response.py +25 -0
- sdk/_request_options.py +51 -0
- sdk/_transport.py +144 -0
- sdk/_validation.py +25 -0
- sdk/_validation_response.py +36 -0
- sdk/_version.py +3 -0
- sdk/async_client.py +320 -0
- sdk/async_resources/__init__.py +45 -0
- sdk/async_resources/_mixin_base.py +42 -0
- sdk/async_resources/a2a.py +230 -0
- sdk/async_resources/agents.py +489 -0
- sdk/async_resources/audit.py +145 -0
- sdk/async_resources/auth.py +133 -0
- sdk/async_resources/console.py +409 -0
- sdk/async_resources/corpora.py +276 -0
- sdk/async_resources/deployments.py +106 -0
- sdk/async_resources/documents.py +592 -0
- sdk/async_resources/feeds.py +248 -0
- sdk/async_resources/indexes.py +208 -0
- sdk/async_resources/jobs.py +165 -0
- sdk/async_resources/metadata.py +48 -0
- sdk/async_resources/models.py +102 -0
- sdk/async_resources/onboarding.py +538 -0
- sdk/async_resources/orgs.py +37 -0
- sdk/async_resources/pipelines.py +523 -0
- sdk/async_resources/projects.py +90 -0
- sdk/async_resources/search.py +262 -0
- sdk/async_resources/training.py +357 -0
- sdk/async_resources/usage.py +91 -0
- sdk/client.py +417 -0
- sdk/config.py +182 -0
- sdk/errors.py +178 -0
- sdk/examples/auth_factory.py +34 -0
- sdk/examples/batch_operations.py +57 -0
- sdk/examples/document_upload.py +56 -0
- sdk/examples/e2e_lifecycle.py +213 -0
- sdk/examples/error_handling.py +61 -0
- sdk/examples/pagination.py +64 -0
- sdk/examples/quickstart.py +36 -0
- sdk/examples/request_options.py +44 -0
- sdk/examples/search.py +64 -0
- sdk/integrations/__init__.py +57 -0
- sdk/integrations/_client.py +101 -0
- sdk/integrations/langchain/__init__.py +6 -0
- sdk/integrations/langchain/retriever.py +166 -0
- sdk/integrations/langchain/tools.py +108 -0
- sdk/integrations/llamaindex/__init__.py +11 -0
- sdk/integrations/llamaindex/filters.py +78 -0
- sdk/integrations/llamaindex/retriever.py +162 -0
- sdk/integrations/llamaindex/tools.py +109 -0
- sdk/integrations/llamaindex/vector_store.py +320 -0
- sdk/models/__init__.py +18 -0
- sdk/models/_base.py +24 -0
- sdk/models/_registry.py +457 -0
- sdk/models/a2a.py +92 -0
- sdk/models/agents.py +109 -0
- sdk/models/audit.py +28 -0
- sdk/models/auth.py +49 -0
- sdk/models/chunks.py +20 -0
- sdk/models/common.py +14 -0
- sdk/models/console.py +103 -0
- sdk/models/corpora.py +48 -0
- sdk/models/deployments.py +13 -0
- sdk/models/documents.py +126 -0
- sdk/models/embeddings.py +24 -0
- sdk/models/evaluation.py +17 -0
- sdk/models/feedback.py +9 -0
- sdk/models/feeds.py +57 -0
- sdk/models/indexes.py +36 -0
- sdk/models/jobs.py +52 -0
- sdk/models/models.py +26 -0
- sdk/models/onboarding.py +323 -0
- sdk/models/orgs.py +11 -0
- sdk/models/pipelines.py +147 -0
- sdk/models/projects.py +19 -0
- sdk/models/search.py +149 -0
- sdk/models/training.py +57 -0
- sdk/models/usage.py +39 -0
- sdk/namespaces.py +386 -0
- sdk/py.typed +0 -0
- sdk/resources/__init__.py +45 -0
- sdk/resources/_mixin_base.py +40 -0
- sdk/resources/a2a.py +230 -0
- sdk/resources/agents.py +487 -0
- sdk/resources/audit.py +144 -0
- sdk/resources/auth.py +138 -0
- sdk/resources/console.py +411 -0
- sdk/resources/corpora.py +269 -0
- sdk/resources/deployments.py +105 -0
- sdk/resources/documents.py +597 -0
- sdk/resources/feeds.py +246 -0
- sdk/resources/indexes.py +210 -0
- sdk/resources/jobs.py +164 -0
- sdk/resources/metadata.py +53 -0
- sdk/resources/models.py +99 -0
- sdk/resources/onboarding.py +542 -0
- sdk/resources/orgs.py +35 -0
- sdk/resources/pipeline_builder.py +257 -0
- sdk/resources/pipelines.py +520 -0
- sdk/resources/projects.py +87 -0
- sdk/resources/search.py +277 -0
- sdk/resources/training.py +358 -0
- sdk/resources/usage.py +92 -0
- sdk/types/__init__.py +366 -0
- sdk/types/a2a.py +88 -0
- sdk/types/agents.py +133 -0
- sdk/types/audit.py +26 -0
- sdk/types/auth.py +45 -0
- sdk/types/chunks.py +18 -0
- sdk/types/common.py +10 -0
- sdk/types/console.py +99 -0
- sdk/types/corpora.py +42 -0
- sdk/types/deployments.py +11 -0
- sdk/types/documents.py +104 -0
- sdk/types/embeddings.py +22 -0
- sdk/types/evaluation.py +15 -0
- sdk/types/feedback.py +7 -0
- sdk/types/feeds.py +61 -0
- sdk/types/indexes.py +30 -0
- sdk/types/jobs.py +50 -0
- sdk/types/models.py +22 -0
- sdk/types/onboarding.py +395 -0
- sdk/types/orgs.py +9 -0
- sdk/types/pipelines.py +177 -0
- sdk/types/projects.py +14 -0
- sdk/types/search.py +116 -0
- sdk/types/training.py +55 -0
- sdk/types/usage.py +37 -0
sdk/models/onboarding.py
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"""Pydantic models for onboarding types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from sdk.models._base import K2BaseModel
|
|
6
|
+
|
|
7
|
+
# =============================================================================
|
|
8
|
+
# Gold Labels
|
|
9
|
+
# =============================================================================
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class GoldLabelDocumentReferenceModel(K2BaseModel):
|
|
13
|
+
type: str | None = None
|
|
14
|
+
value: str | None = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GoldLabelChunkReferenceModel(K2BaseModel):
|
|
18
|
+
type: str | None = None
|
|
19
|
+
value: str | int | dict | None = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class GoldLabelEntryModel(K2BaseModel):
|
|
23
|
+
query: str | None = None
|
|
24
|
+
document_reference: GoldLabelDocumentReferenceModel | None = None
|
|
25
|
+
chunk_reference: GoldLabelChunkReferenceModel | None = None
|
|
26
|
+
relevant_text: str | None = None
|
|
27
|
+
metadata: dict | None = None
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GoldLabelsUploadRequestModel(K2BaseModel):
|
|
31
|
+
labels: list[GoldLabelEntryModel] | None = None
|
|
32
|
+
description: str | None = None
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ResolvedLabelInfoModel(K2BaseModel):
|
|
36
|
+
label_id: str
|
|
37
|
+
query: str
|
|
38
|
+
chunk_id: str | None
|
|
39
|
+
document_id: str | None
|
|
40
|
+
confidence: float
|
|
41
|
+
resolution_method: str
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class GoldLabelsUploadResponseModel(K2BaseModel):
|
|
45
|
+
corpus_id: str
|
|
46
|
+
total_uploaded: int
|
|
47
|
+
resolved_count: int
|
|
48
|
+
unmatched_count: int
|
|
49
|
+
labels: list[ResolvedLabelInfoModel]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class GoldLabelListItemModel(K2BaseModel):
|
|
53
|
+
id: str
|
|
54
|
+
query: str
|
|
55
|
+
chunk_id: str | None
|
|
56
|
+
document_id: str | None
|
|
57
|
+
source: str | None
|
|
58
|
+
confidence: float | None
|
|
59
|
+
created_at: str
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class GoldLabelsListResponseModel(K2BaseModel):
|
|
63
|
+
corpus_id: str
|
|
64
|
+
total: int
|
|
65
|
+
labels: list[GoldLabelListItemModel]
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
# =============================================================================
|
|
69
|
+
# Dataset Analysis
|
|
70
|
+
# =============================================================================
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class DatasetAnalysisRequestModel(K2BaseModel):
|
|
74
|
+
description: str | None = None
|
|
75
|
+
auto_bootstrap: bool | None = None
|
|
76
|
+
bootstrap_num_samples: int | None = None
|
|
77
|
+
queries_per_chunk: int | None = None
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
class DatasetAnalysisResponseModel(K2BaseModel):
|
|
81
|
+
analysis_id: str
|
|
82
|
+
corpus_id: str
|
|
83
|
+
status: str
|
|
84
|
+
job_id: str | None
|
|
85
|
+
estimated_duration_seconds: int | None
|
|
86
|
+
created_at: str
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class DatasetAnalysisSummaryModel(K2BaseModel):
|
|
90
|
+
analysis_id: str
|
|
91
|
+
status: str
|
|
92
|
+
current_stage: str | None
|
|
93
|
+
stages_completed: list[str]
|
|
94
|
+
has_prompt: bool
|
|
95
|
+
has_evaluation: bool
|
|
96
|
+
bootstrap_enabled: bool
|
|
97
|
+
bootstrap_labels_count: int | None
|
|
98
|
+
documents_at_analysis: int | None
|
|
99
|
+
started_at: str
|
|
100
|
+
created_at: str
|
|
101
|
+
completed_at: str | None
|
|
102
|
+
error_message: str | None
|
|
103
|
+
domain: str | None
|
|
104
|
+
lexical_strategy: str | None
|
|
105
|
+
quality_score: float | None
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class OnboardingStatusResponseModel(K2BaseModel):
|
|
109
|
+
corpus_id: str
|
|
110
|
+
latest_analysis: DatasetAnalysisSummaryModel | None
|
|
111
|
+
gold_labels_count: int
|
|
112
|
+
synthetic_batches_count: int
|
|
113
|
+
has_summaries: bool
|
|
114
|
+
analysis_stale: bool
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class SearcherPersonaModel(K2BaseModel):
|
|
118
|
+
who: str
|
|
119
|
+
goal: str
|
|
120
|
+
knowledge_state: str
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class LexicalStrategyModel(K2BaseModel):
|
|
124
|
+
recommendation: str
|
|
125
|
+
rationale: str
|
|
126
|
+
techniques: list[str]
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class DatasetAnalysisDetailsModel(K2BaseModel):
|
|
130
|
+
analysis_id: str
|
|
131
|
+
corpus_id: str
|
|
132
|
+
status: str
|
|
133
|
+
created_at: str
|
|
134
|
+
completed_at: str | None
|
|
135
|
+
config: dict
|
|
136
|
+
schema_analysis: dict | None
|
|
137
|
+
domain: str | None
|
|
138
|
+
expertise_level: str | None
|
|
139
|
+
data_relationship: str | None
|
|
140
|
+
searcher_persona: SearcherPersonaModel | None
|
|
141
|
+
lexical_strategy: LexicalStrategyModel | None
|
|
142
|
+
stage1_analysis: dict | None
|
|
143
|
+
artifact_uri: str | None
|
|
144
|
+
prompt_uri: str | None
|
|
145
|
+
bootstrap_enabled: bool
|
|
146
|
+
bootstrap_labels_count: int | None
|
|
147
|
+
error_message: str | None
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
# =============================================================================
|
|
151
|
+
# Synthetic Query Generation
|
|
152
|
+
# =============================================================================
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class SyntheticQueryGenerationRequestModel(K2BaseModel):
|
|
156
|
+
analysis_id: str | None = None
|
|
157
|
+
sample_size: int | None = None
|
|
158
|
+
queries_per_chunk: int | None = None
|
|
159
|
+
use_document_context: bool | None = None
|
|
160
|
+
eval_sample_size: int | None = None
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
class SyntheticQueryBatchResponseModel(K2BaseModel):
|
|
164
|
+
batch_id: str
|
|
165
|
+
corpus_id: str
|
|
166
|
+
analysis_id: str
|
|
167
|
+
status: str
|
|
168
|
+
job_id: str | None
|
|
169
|
+
sample_size: int | None
|
|
170
|
+
queries_per_chunk: int
|
|
171
|
+
estimated_queries: int | None
|
|
172
|
+
created_at: str
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
class SyntheticQueryBatchSummaryModel(K2BaseModel):
|
|
176
|
+
batch_id: str
|
|
177
|
+
status: str
|
|
178
|
+
sample_size: int | None
|
|
179
|
+
queries_per_chunk: int
|
|
180
|
+
total_chunks_processed: int | None
|
|
181
|
+
total_queries_generated: int | None
|
|
182
|
+
created_at: str
|
|
183
|
+
completed_at: str | None
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
class SyntheticQueryBatchListResponseModel(K2BaseModel):
|
|
187
|
+
corpus_id: str
|
|
188
|
+
batches: list[SyntheticQueryBatchSummaryModel]
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class SyntheticQuerySampleModel(K2BaseModel):
|
|
192
|
+
chunk_id: str
|
|
193
|
+
chunk_text_preview: str
|
|
194
|
+
queries: list[str]
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class SyntheticQueryBatchDetailsModel(K2BaseModel):
|
|
198
|
+
batch_id: str
|
|
199
|
+
corpus_id: str
|
|
200
|
+
analysis_id: str
|
|
201
|
+
status: str
|
|
202
|
+
created_at: str
|
|
203
|
+
completed_at: str | None
|
|
204
|
+
sample_size: int | None
|
|
205
|
+
queries_per_chunk: int
|
|
206
|
+
use_document_context: bool
|
|
207
|
+
config: dict
|
|
208
|
+
total_chunks_processed: int | None
|
|
209
|
+
total_queries_generated: int | None
|
|
210
|
+
stats: dict
|
|
211
|
+
artifact_uri: str | None
|
|
212
|
+
sample_queries: list[SyntheticQuerySampleModel]
|
|
213
|
+
error_message: str | None
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
# =============================================================================
|
|
217
|
+
# Evaluation
|
|
218
|
+
# =============================================================================
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class EvaluationRequestModel(K2BaseModel):
|
|
222
|
+
batch_id: str | None = None
|
|
223
|
+
sample_size: int | None = None
|
|
224
|
+
generate_report: bool | None = None
|
|
225
|
+
report_formats: list[str] | None = None
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
class EvaluationResponseModel(K2BaseModel):
|
|
229
|
+
eval_id: str
|
|
230
|
+
corpus_id: str
|
|
231
|
+
batch_id: str
|
|
232
|
+
status: str
|
|
233
|
+
job_id: str | None
|
|
234
|
+
created_at: str
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
class EvaluationMetricsModel(K2BaseModel):
|
|
238
|
+
total_evaluated: int | None = None
|
|
239
|
+
avg_relevance: float | None = None
|
|
240
|
+
avg_groundedness: float | None = None
|
|
241
|
+
avg_style: float | None = None
|
|
242
|
+
avg_lexical_diversity: float | None = None
|
|
243
|
+
pass_rate: float | None = None
|
|
244
|
+
score_distribution: dict | None = None
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
class EvaluationSummaryModel(K2BaseModel):
|
|
248
|
+
eval_id: str
|
|
249
|
+
batch_id: str
|
|
250
|
+
status: str
|
|
251
|
+
sample_size: int | None
|
|
252
|
+
metrics: EvaluationMetricsModel | None
|
|
253
|
+
created_at: str
|
|
254
|
+
completed_at: str | None
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
class EvaluationListResponseModel(K2BaseModel):
|
|
258
|
+
corpus_id: str
|
|
259
|
+
evaluations: list[EvaluationSummaryModel]
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
class EvaluationDetailsModel(K2BaseModel):
|
|
263
|
+
eval_id: str
|
|
264
|
+
corpus_id: str
|
|
265
|
+
batch_id: str
|
|
266
|
+
status: str
|
|
267
|
+
created_at: str
|
|
268
|
+
completed_at: str | None
|
|
269
|
+
sample_size: int | None
|
|
270
|
+
config: dict
|
|
271
|
+
metrics: EvaluationMetricsModel | None
|
|
272
|
+
artifact_uri: str | None
|
|
273
|
+
report_uri: str | None
|
|
274
|
+
sample_results: list[dict]
|
|
275
|
+
error_message: str | None
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
class EvaluationReportResponseModel(K2BaseModel):
|
|
279
|
+
eval_id: str
|
|
280
|
+
corpus_id: str
|
|
281
|
+
format: str
|
|
282
|
+
report_uri: str | None
|
|
283
|
+
metrics: EvaluationMetricsModel | None
|
|
284
|
+
recommendations: list[str]
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
# =============================================================================
|
|
288
|
+
# Document Summarization
|
|
289
|
+
# =============================================================================
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class SummarizationRequestModel(K2BaseModel):
|
|
293
|
+
force_regenerate: bool | None = None
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
class SummarizationResponseModel(K2BaseModel):
|
|
297
|
+
corpus_id: str
|
|
298
|
+
job_id: str | None
|
|
299
|
+
status: str
|
|
300
|
+
total_documents: int
|
|
301
|
+
documents_with_summaries: int
|
|
302
|
+
documents_to_summarize: int
|
|
303
|
+
created_at: str
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
class SummarizationStatusResponseModel(K2BaseModel):
|
|
307
|
+
corpus_id: str
|
|
308
|
+
total_documents: int
|
|
309
|
+
documents_with_summaries: int
|
|
310
|
+
coverage_percent: float
|
|
311
|
+
latest_job_status: str | None
|
|
312
|
+
latest_job_completed_at: str | None
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
class DocumentSummaryResponseModel(K2BaseModel):
|
|
316
|
+
document_id: str
|
|
317
|
+
corpus_id: str
|
|
318
|
+
summary: str
|
|
319
|
+
document_type: str | None
|
|
320
|
+
entities: dict
|
|
321
|
+
key_facts: list[str]
|
|
322
|
+
generation_model: str | None
|
|
323
|
+
created_at: str
|
sdk/models/orgs.py
ADDED
sdk/models/pipelines.py
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"""Pydantic models for pipeline types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from sdk.models._base import K2BaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ValidationIssueModel(K2BaseModel):
|
|
11
|
+
severity: str | None = None
|
|
12
|
+
code: str | None = None
|
|
13
|
+
message: str | None = None
|
|
14
|
+
path: str | None = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PipelineSpecResponseModel(K2BaseModel):
|
|
18
|
+
id: str | None = None
|
|
19
|
+
org_id: str | None = None
|
|
20
|
+
project_id: str | None = None
|
|
21
|
+
name: str | None = None
|
|
22
|
+
description: str | None = None
|
|
23
|
+
topology: dict[str, Any] | None = None
|
|
24
|
+
status: str | None = None
|
|
25
|
+
has_draft: bool | None = None
|
|
26
|
+
parent_pipeline_spec_id: str | None = None
|
|
27
|
+
created_by: str | None = None
|
|
28
|
+
bound_entity_count: int | None = None
|
|
29
|
+
binding_summary: dict[str, Any] | None = None
|
|
30
|
+
created_at: str | None = None
|
|
31
|
+
updated_at: str | None = None
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PipelineSpecListResponseModel(K2BaseModel):
|
|
35
|
+
pipeline_specs: list[PipelineSpecResponseModel]
|
|
36
|
+
total: int
|
|
37
|
+
limit: int
|
|
38
|
+
offset: int
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class DryRunResultModel(K2BaseModel):
|
|
42
|
+
valid: bool | None = None
|
|
43
|
+
issues: list[ValidationIssueModel] | None = None
|
|
44
|
+
would_create_agents: int | None = None
|
|
45
|
+
would_create_feeds: int | None = None
|
|
46
|
+
would_create_corpora: int | None = None
|
|
47
|
+
would_bind_existing: int | None = None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class ApplyResultModel(K2BaseModel):
|
|
51
|
+
success: bool | None = None
|
|
52
|
+
created_agent_ids: list[str] | None = None
|
|
53
|
+
created_feed_ids: list[str] | None = None
|
|
54
|
+
created_corpus_ids: list[str] | None = None
|
|
55
|
+
created_subscription_ids: list[str] | None = None
|
|
56
|
+
bound_entity_ids: list[str] | None = None
|
|
57
|
+
issues: list[ValidationIssueModel] | None = None
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class SkippedEntityModel(K2BaseModel):
|
|
61
|
+
entity_type: str | None = None
|
|
62
|
+
entity_id: str | None = None
|
|
63
|
+
entity_name: str | None = None
|
|
64
|
+
reason: str | None = None
|
|
65
|
+
other_pipeline_ids: list[str] | None = None
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class ArchiveResultModel(K2BaseModel):
|
|
69
|
+
pipeline_spec: PipelineSpecResponseModel | None = None
|
|
70
|
+
archived_agents: list[str] | None = None
|
|
71
|
+
archived_feeds: list[str] | None = None
|
|
72
|
+
deactivated_subscriptions: list[str] | None = None
|
|
73
|
+
skipped_entities: list[SkippedEntityModel] | None = None
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class DraftActivateResultModel(K2BaseModel):
|
|
77
|
+
success: bool | None = None
|
|
78
|
+
created_agent_ids: list[str] | None = None
|
|
79
|
+
created_feed_ids: list[str] | None = None
|
|
80
|
+
created_corpus_ids: list[str] | None = None
|
|
81
|
+
created_subscription_ids: list[str] | None = None
|
|
82
|
+
removed_binding_ids: list[str] | None = None
|
|
83
|
+
updated_entity_ids: list[str] | None = None
|
|
84
|
+
issues: list[ValidationIssueModel] | None = None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class FieldDiffModel(K2BaseModel):
|
|
88
|
+
field: str | None = None
|
|
89
|
+
spec_value: str | None = None
|
|
90
|
+
actual_value: str | None = None
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class EntityDiffModel(K2BaseModel):
|
|
94
|
+
entity_type: str | None = None
|
|
95
|
+
entity_id: str | None = None
|
|
96
|
+
entity_name: str | None = None
|
|
97
|
+
drift_status: str | None = None
|
|
98
|
+
field_diffs: list[FieldDiffModel] | None = None
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class DriftSummaryModel(K2BaseModel):
|
|
102
|
+
total_entities: int | None = None
|
|
103
|
+
in_sync: int | None = None
|
|
104
|
+
drifted: int | None = None
|
|
105
|
+
missing: int | None = None
|
|
106
|
+
untracked: int | None = None
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class DriftReportModel(K2BaseModel):
|
|
110
|
+
pipeline_spec_id: str | None = None
|
|
111
|
+
status: str | None = None
|
|
112
|
+
entity_diffs: list[EntityDiffModel] | None = None
|
|
113
|
+
summary: DriftSummaryModel | None = None
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class RefreshChangesModel(K2BaseModel):
|
|
117
|
+
updated_entities: list[str] | None = None
|
|
118
|
+
removed_entities: list[str] | None = None
|
|
119
|
+
unchanged_entities: list[str] | None = None
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class RefreshResultModel(K2BaseModel):
|
|
123
|
+
draft_id: str | None = None
|
|
124
|
+
changes: RefreshChangesModel | None = None
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class GraphNodeModel(K2BaseModel):
|
|
128
|
+
id: str | None = None
|
|
129
|
+
type: str | None = None
|
|
130
|
+
label: str | None = None
|
|
131
|
+
metadata: dict[str, Any] | None = None
|
|
132
|
+
status: str | None = None
|
|
133
|
+
binding_role: str | None = None
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class GraphEdgeModel(K2BaseModel):
|
|
137
|
+
source: str | None = None
|
|
138
|
+
target: str | None = None
|
|
139
|
+
type: str | None = None
|
|
140
|
+
metadata: dict[str, Any] | None = None
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class GraphResponseModel(K2BaseModel):
|
|
144
|
+
pipeline_spec_id: str | None = None
|
|
145
|
+
status: str | None = None
|
|
146
|
+
nodes: list[GraphNodeModel] | None = None
|
|
147
|
+
edges: list[GraphEdgeModel] | None = None
|
sdk/models/projects.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Pydantic models for project types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from sdk.models._base import K2BaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ProjectResponseModel(K2BaseModel):
|
|
11
|
+
id: str
|
|
12
|
+
name: str
|
|
13
|
+
org_id: str
|
|
14
|
+
graph_rag_policy: dict[str, Any] | None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ProjectListResponseModel(K2BaseModel):
|
|
18
|
+
projects: list[ProjectResponseModel]
|
|
19
|
+
total: int
|
sdk/models/search.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"""Pydantic models for search types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from sdk.models._base import K2BaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SearchHybridConfigModel(K2BaseModel):
|
|
11
|
+
enabled: bool | None = None
|
|
12
|
+
fusion_mode: str | None = None
|
|
13
|
+
rrf_k: int | None = None
|
|
14
|
+
dense_weight: float | None = None
|
|
15
|
+
sparse_weight: float | None = None
|
|
16
|
+
metadata_sparse_enabled: bool | None = None
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class SearchRerankConfigModel(K2BaseModel):
|
|
20
|
+
enabled: bool | None = None
|
|
21
|
+
top_k: int | None = None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SearchGraphRagConfigModel(K2BaseModel):
|
|
25
|
+
enabled: bool | None = None
|
|
26
|
+
seed_chunks: int | None = None
|
|
27
|
+
seed_docs: int | None = None
|
|
28
|
+
max_entities_per_doc: int | None = None
|
|
29
|
+
candidate_scan_limit: int | None = None
|
|
30
|
+
min_entity_overlap: int | None = None
|
|
31
|
+
max_related_docs: int | None = None
|
|
32
|
+
max_chunks_per_doc: int | None = None
|
|
33
|
+
max_docs_per_entity: int | None = None
|
|
34
|
+
max_expanded_chunks: int | None = None
|
|
35
|
+
timeout_ms: int | None = None
|
|
36
|
+
depth_penalty: float | None = None
|
|
37
|
+
score_boost: float | None = None
|
|
38
|
+
shadow_mode: bool | None = None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class SearchReturnConfigModel(K2BaseModel):
|
|
42
|
+
include_text: bool | None = None
|
|
43
|
+
include_scores: bool | None = None
|
|
44
|
+
include_provenance: bool | None = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class MetadataFilterModel(K2BaseModel):
|
|
48
|
+
key: str | None = None
|
|
49
|
+
op: str | None = None
|
|
50
|
+
value: Any | None = None
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class MetadataFiltersModel(K2BaseModel):
|
|
54
|
+
filters: list[MetadataFilterModel] | None = None
|
|
55
|
+
condition: str | None = None
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class SearchGenerationConfigModel(K2BaseModel):
|
|
59
|
+
model: str | None = None
|
|
60
|
+
thinking_budget: int | None = None
|
|
61
|
+
temperature: float | None = None
|
|
62
|
+
max_tokens: int | None = None
|
|
63
|
+
context_top_k: int | None = None
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class SearchOptionsModel(K2BaseModel):
|
|
67
|
+
query: str | None = None
|
|
68
|
+
top_k: int | None = None
|
|
69
|
+
filters: dict[str, Any] | MetadataFiltersModel | None = None
|
|
70
|
+
hybrid: SearchHybridConfigModel | None = None
|
|
71
|
+
graph_rag: SearchGraphRagConfigModel | None = None
|
|
72
|
+
rerank: SearchRerankConfigModel | None = None
|
|
73
|
+
return_config: SearchReturnConfigModel | None = None
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class SearchGenerateOptionsModel(K2BaseModel):
|
|
77
|
+
query: str | None = None
|
|
78
|
+
top_k: int | None = None
|
|
79
|
+
filters: dict[str, Any] | MetadataFiltersModel | None = None
|
|
80
|
+
hybrid: SearchHybridConfigModel | None = None
|
|
81
|
+
graph_rag: SearchGraphRagConfigModel | None = None
|
|
82
|
+
rerank: SearchRerankConfigModel | None = None
|
|
83
|
+
return_config: SearchReturnConfigModel | None = None
|
|
84
|
+
generation: SearchGenerationConfigModel | None = None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class SearchBatchOptionsModel(K2BaseModel):
|
|
88
|
+
queries: list[str] | None = None
|
|
89
|
+
top_k: int | None = None
|
|
90
|
+
filters: dict[str, Any] | MetadataFiltersModel | None = None
|
|
91
|
+
hybrid: SearchHybridConfigModel | None = None
|
|
92
|
+
graph_rag: SearchGraphRagConfigModel | None = None
|
|
93
|
+
rerank: SearchRerankConfigModel | None = None
|
|
94
|
+
return_config: SearchReturnConfigModel | None = None
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class SearchResultModel(K2BaseModel):
|
|
98
|
+
chunk_id: str | None = None
|
|
99
|
+
score: float | None = None
|
|
100
|
+
raw_score: float | None = None
|
|
101
|
+
text: str | None = None
|
|
102
|
+
custom_metadata: dict | None = None
|
|
103
|
+
system_metadata: dict | None = None
|
|
104
|
+
offset_start: int | None = None
|
|
105
|
+
offset_end: int | None = None
|
|
106
|
+
page_start: int | None = None
|
|
107
|
+
page_end: int | None = None
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class SearchColdStartMetaModel(K2BaseModel):
|
|
111
|
+
likely: bool | None = None
|
|
112
|
+
dense_cache_hit: bool | None = None
|
|
113
|
+
sparse_cache_hit: bool | None = None
|
|
114
|
+
graph_cache_hit: bool | None = None
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class SearchGraphRagMetaModel(K2BaseModel):
|
|
118
|
+
enabled: bool | None = None
|
|
119
|
+
applied: bool | None = None
|
|
120
|
+
shadow_mode: bool | None = None
|
|
121
|
+
expanded_chunks: int | None = None
|
|
122
|
+
related_docs: int | None = None
|
|
123
|
+
source: str | None = None
|
|
124
|
+
fallback_used: bool | None = None
|
|
125
|
+
fallback_reason: str | None = None
|
|
126
|
+
timed_out: bool | None = None
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class SearchMetaModel(K2BaseModel):
|
|
130
|
+
cold_start: SearchColdStartMetaModel | None = None
|
|
131
|
+
graph_rag: SearchGraphRagMetaModel | None = None
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class SearchResponseModel(K2BaseModel):
|
|
135
|
+
results: list[SearchResultModel] | None = None
|
|
136
|
+
meta: SearchMetaModel | None = None
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class SearchBatchResponseModel(K2BaseModel):
|
|
140
|
+
responses: list[SearchResponseModel] | None = None
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class SearchGenerateResponseModel(K2BaseModel):
|
|
144
|
+
answer: str | None = None
|
|
145
|
+
model: str | None = None
|
|
146
|
+
thinking_budget: int | None = None
|
|
147
|
+
results: list[SearchResultModel] | None = None
|
|
148
|
+
meta: SearchMetaModel | None = None
|
|
149
|
+
used_sources: list[str] | None = None
|
sdk/models/training.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Pydantic models for training types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from sdk.models._base import K2BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TrainingDataBuildResponseModel(K2BaseModel):
|
|
9
|
+
job_id: str
|
|
10
|
+
dataset_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class TrainingDatasetResponseModel(K2BaseModel):
|
|
14
|
+
id: str | None = None
|
|
15
|
+
corpus_id: str | None = None
|
|
16
|
+
sample_count: int | None = None
|
|
17
|
+
dataset_hash: str | None = None
|
|
18
|
+
created_at: str | None = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class TrainingDatasetListResponseModel(K2BaseModel):
|
|
22
|
+
datasets: list[TrainingDatasetResponseModel]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class TuningRunResponseModel(K2BaseModel):
|
|
26
|
+
run_id: str
|
|
27
|
+
status: str
|
|
28
|
+
job_id: str
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class TuningRunBuildResponseModel(K2BaseModel):
|
|
32
|
+
run_id: str
|
|
33
|
+
status: str
|
|
34
|
+
build_job_id: str
|
|
35
|
+
dataset_id: str
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class TuningRunDetailResponseModel(K2BaseModel):
|
|
39
|
+
run_id: str | None = None
|
|
40
|
+
status: str | None = None
|
|
41
|
+
metrics: dict | None = None
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class TuningRunLogsResponseModel(K2BaseModel):
|
|
45
|
+
lines: list[str]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class TuningRunListResponseModel(K2BaseModel):
|
|
49
|
+
runs: list[TuningRunDetailResponseModel]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class PromoteResponseModel(K2BaseModel):
|
|
53
|
+
model_id: str
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class CancelTuningRunResponseModel(K2BaseModel):
|
|
57
|
+
status: str
|