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.
Files changed (139) hide show
  1. knowledge2-0.4.0.dist-info/METADATA +556 -0
  2. knowledge2-0.4.0.dist-info/RECORD +139 -0
  3. knowledge2-0.4.0.dist-info/WHEEL +5 -0
  4. knowledge2-0.4.0.dist-info/top_level.txt +1 -0
  5. sdk/__init__.py +70 -0
  6. sdk/_async_base.py +525 -0
  7. sdk/_async_paging.py +57 -0
  8. sdk/_base.py +541 -0
  9. sdk/_logging.py +41 -0
  10. sdk/_paging.py +73 -0
  11. sdk/_preview.py +70 -0
  12. sdk/_raw_response.py +25 -0
  13. sdk/_request_options.py +51 -0
  14. sdk/_transport.py +144 -0
  15. sdk/_validation.py +25 -0
  16. sdk/_validation_response.py +36 -0
  17. sdk/_version.py +3 -0
  18. sdk/async_client.py +320 -0
  19. sdk/async_resources/__init__.py +45 -0
  20. sdk/async_resources/_mixin_base.py +42 -0
  21. sdk/async_resources/a2a.py +230 -0
  22. sdk/async_resources/agents.py +489 -0
  23. sdk/async_resources/audit.py +145 -0
  24. sdk/async_resources/auth.py +133 -0
  25. sdk/async_resources/console.py +409 -0
  26. sdk/async_resources/corpora.py +276 -0
  27. sdk/async_resources/deployments.py +106 -0
  28. sdk/async_resources/documents.py +592 -0
  29. sdk/async_resources/feeds.py +248 -0
  30. sdk/async_resources/indexes.py +208 -0
  31. sdk/async_resources/jobs.py +165 -0
  32. sdk/async_resources/metadata.py +48 -0
  33. sdk/async_resources/models.py +102 -0
  34. sdk/async_resources/onboarding.py +538 -0
  35. sdk/async_resources/orgs.py +37 -0
  36. sdk/async_resources/pipelines.py +523 -0
  37. sdk/async_resources/projects.py +90 -0
  38. sdk/async_resources/search.py +262 -0
  39. sdk/async_resources/training.py +357 -0
  40. sdk/async_resources/usage.py +91 -0
  41. sdk/client.py +417 -0
  42. sdk/config.py +182 -0
  43. sdk/errors.py +178 -0
  44. sdk/examples/auth_factory.py +34 -0
  45. sdk/examples/batch_operations.py +57 -0
  46. sdk/examples/document_upload.py +56 -0
  47. sdk/examples/e2e_lifecycle.py +213 -0
  48. sdk/examples/error_handling.py +61 -0
  49. sdk/examples/pagination.py +64 -0
  50. sdk/examples/quickstart.py +36 -0
  51. sdk/examples/request_options.py +44 -0
  52. sdk/examples/search.py +64 -0
  53. sdk/integrations/__init__.py +57 -0
  54. sdk/integrations/_client.py +101 -0
  55. sdk/integrations/langchain/__init__.py +6 -0
  56. sdk/integrations/langchain/retriever.py +166 -0
  57. sdk/integrations/langchain/tools.py +108 -0
  58. sdk/integrations/llamaindex/__init__.py +11 -0
  59. sdk/integrations/llamaindex/filters.py +78 -0
  60. sdk/integrations/llamaindex/retriever.py +162 -0
  61. sdk/integrations/llamaindex/tools.py +109 -0
  62. sdk/integrations/llamaindex/vector_store.py +320 -0
  63. sdk/models/__init__.py +18 -0
  64. sdk/models/_base.py +24 -0
  65. sdk/models/_registry.py +457 -0
  66. sdk/models/a2a.py +92 -0
  67. sdk/models/agents.py +109 -0
  68. sdk/models/audit.py +28 -0
  69. sdk/models/auth.py +49 -0
  70. sdk/models/chunks.py +20 -0
  71. sdk/models/common.py +14 -0
  72. sdk/models/console.py +103 -0
  73. sdk/models/corpora.py +48 -0
  74. sdk/models/deployments.py +13 -0
  75. sdk/models/documents.py +126 -0
  76. sdk/models/embeddings.py +24 -0
  77. sdk/models/evaluation.py +17 -0
  78. sdk/models/feedback.py +9 -0
  79. sdk/models/feeds.py +57 -0
  80. sdk/models/indexes.py +36 -0
  81. sdk/models/jobs.py +52 -0
  82. sdk/models/models.py +26 -0
  83. sdk/models/onboarding.py +323 -0
  84. sdk/models/orgs.py +11 -0
  85. sdk/models/pipelines.py +147 -0
  86. sdk/models/projects.py +19 -0
  87. sdk/models/search.py +149 -0
  88. sdk/models/training.py +57 -0
  89. sdk/models/usage.py +39 -0
  90. sdk/namespaces.py +386 -0
  91. sdk/py.typed +0 -0
  92. sdk/resources/__init__.py +45 -0
  93. sdk/resources/_mixin_base.py +40 -0
  94. sdk/resources/a2a.py +230 -0
  95. sdk/resources/agents.py +487 -0
  96. sdk/resources/audit.py +144 -0
  97. sdk/resources/auth.py +138 -0
  98. sdk/resources/console.py +411 -0
  99. sdk/resources/corpora.py +269 -0
  100. sdk/resources/deployments.py +105 -0
  101. sdk/resources/documents.py +597 -0
  102. sdk/resources/feeds.py +246 -0
  103. sdk/resources/indexes.py +210 -0
  104. sdk/resources/jobs.py +164 -0
  105. sdk/resources/metadata.py +53 -0
  106. sdk/resources/models.py +99 -0
  107. sdk/resources/onboarding.py +542 -0
  108. sdk/resources/orgs.py +35 -0
  109. sdk/resources/pipeline_builder.py +257 -0
  110. sdk/resources/pipelines.py +520 -0
  111. sdk/resources/projects.py +87 -0
  112. sdk/resources/search.py +277 -0
  113. sdk/resources/training.py +358 -0
  114. sdk/resources/usage.py +92 -0
  115. sdk/types/__init__.py +366 -0
  116. sdk/types/a2a.py +88 -0
  117. sdk/types/agents.py +133 -0
  118. sdk/types/audit.py +26 -0
  119. sdk/types/auth.py +45 -0
  120. sdk/types/chunks.py +18 -0
  121. sdk/types/common.py +10 -0
  122. sdk/types/console.py +99 -0
  123. sdk/types/corpora.py +42 -0
  124. sdk/types/deployments.py +11 -0
  125. sdk/types/documents.py +104 -0
  126. sdk/types/embeddings.py +22 -0
  127. sdk/types/evaluation.py +15 -0
  128. sdk/types/feedback.py +7 -0
  129. sdk/types/feeds.py +61 -0
  130. sdk/types/indexes.py +30 -0
  131. sdk/types/jobs.py +50 -0
  132. sdk/types/models.py +22 -0
  133. sdk/types/onboarding.py +395 -0
  134. sdk/types/orgs.py +9 -0
  135. sdk/types/pipelines.py +177 -0
  136. sdk/types/projects.py +14 -0
  137. sdk/types/search.py +116 -0
  138. sdk/types/training.py +55 -0
  139. sdk/types/usage.py +37 -0
sdk/models/auth.py ADDED
@@ -0,0 +1,49 @@
1
+ """Pydantic models for auth types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import Field
6
+
7
+ from sdk.models._base import K2BaseModel
8
+
9
+
10
+ class ApiKeyCreateResponseModel(K2BaseModel):
11
+ id: str
12
+ org_id: str
13
+ name: str
14
+ api_key: str
15
+
16
+
17
+ class ApiKeyRotateResponseModel(K2BaseModel):
18
+ id: str
19
+ org_id: str
20
+ name: str
21
+ api_key: str
22
+
23
+
24
+ class ApiKeyRevokeResponseModel(K2BaseModel):
25
+ id: str
26
+ revoked: bool
27
+
28
+
29
+ class ApiKeyListItemModel(K2BaseModel):
30
+ id: str | None = None
31
+ org_id: str | None = None
32
+ org_name: str | None = None
33
+ name: str | None = None
34
+ scopes: dict | None = None
35
+ project_names: list[str] | None = None
36
+ revoked: bool | None = None
37
+ created_at: str | None = None
38
+ last_used_at: str | None = None
39
+
40
+
41
+ class ApiKeyListResponseModel(K2BaseModel):
42
+ keys: list[ApiKeyListItemModel]
43
+
44
+
45
+ class WhoAmIResponseModel(K2BaseModel):
46
+ org_id: str
47
+ api_key_id: str
48
+ name: str
49
+ features: dict[str, bool] = Field(default_factory=dict)
sdk/models/chunks.py ADDED
@@ -0,0 +1,20 @@
1
+ """Pydantic models for chunk types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class ChunkListItemModel(K2BaseModel):
9
+ id: str | None = None
10
+ text: str | None = None
11
+ custom_metadata: dict | None = None
12
+ system_metadata: dict | None = None
13
+ offset_start: int | None = None
14
+ offset_end: int | None = None
15
+ page_start: int | None = None
16
+ page_end: int | None = None
17
+
18
+
19
+ class ChunkListResponseModel(K2BaseModel):
20
+ chunks: list[ChunkListItemModel]
sdk/models/common.py ADDED
@@ -0,0 +1,14 @@
1
+ """Pydantic models for common 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 ApiErrorDetailModel(K2BaseModel):
11
+ code: str | None = None
12
+ message: str | None = None
13
+ details: Any | None = None
14
+ request_id: str | None = None
sdk/models/console.py ADDED
@@ -0,0 +1,103 @@
1
+ """Pydantic models for console types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from sdk.models._base import K2BaseModel
8
+ from sdk.models.jobs import JobListItemModel
9
+
10
+
11
+ class ConsoleMeResponseModel(K2BaseModel):
12
+ provisioned: bool | None = None
13
+ org_id: str | None = None
14
+ org_name: str | None = None
15
+ project_id: str | None = None
16
+ project_name: str | None = None
17
+ role: str | None = None
18
+ is_org_admin: bool | None = None
19
+ auth_subject: str | None = None
20
+ user_id: str | None = None
21
+ email: str | None = None
22
+ name: str | None = None
23
+
24
+
25
+ class ConsoleBootstrapResponseModel(ConsoleMeResponseModel):
26
+ created: bool | None = None
27
+
28
+
29
+ class ConsoleSummaryResponseModel(K2BaseModel):
30
+ corpora_total: int
31
+ documents_total: int
32
+ documents_failed: int
33
+ recent_jobs: list[JobListItemModel]
34
+
35
+
36
+ class ConsoleProjectItemModel(K2BaseModel):
37
+ id: str | None = None
38
+ name: str | None = None
39
+ org_id: str | None = None
40
+ role: str | None = None
41
+ graph_rag_policy: dict[str, Any] | None = None
42
+
43
+
44
+ class ConsoleProjectListResponseModel(K2BaseModel):
45
+ projects: list[ConsoleProjectItemModel]
46
+
47
+
48
+ class ConsoleOrgResponseModel(K2BaseModel):
49
+ id: str | None = None
50
+ name: str | None = None
51
+ contact_email: str | None = None
52
+
53
+
54
+ class TeamMemberModel(K2BaseModel):
55
+ membership_id: str | None = None
56
+ user_id: str | None = None
57
+ email: str | None = None
58
+ name: str | None = None
59
+ role: str | None = None
60
+ created_at: str | None = None
61
+ is_current_user: bool | None = None
62
+
63
+
64
+ class TeamListResponseModel(K2BaseModel):
65
+ members: list[TeamMemberModel]
66
+
67
+
68
+ class InviteListItemModel(K2BaseModel):
69
+ id: str | None = None
70
+ email: str | None = None
71
+ role: str | None = None
72
+ created_at: str | None = None
73
+ expires_at: str | None = None
74
+ accepted_at: str | None = None
75
+
76
+
77
+ class InviteListResponseModel(K2BaseModel):
78
+ invites: list[InviteListItemModel]
79
+
80
+
81
+ class InviteCreateResponseModel(K2BaseModel):
82
+ id: str | None = None
83
+ email: str | None = None
84
+ role: str | None = None
85
+ token: str | None = None
86
+ expires_at: str | None = None
87
+
88
+
89
+ class InviteAcceptResponseModel(K2BaseModel):
90
+ org_id: str | None = None
91
+ org_name: str | None = None
92
+ project_id: str | None = None
93
+ project_name: str | None = None
94
+ role: str | None = None
95
+
96
+
97
+ class MemberUpdateResponseModel(K2BaseModel):
98
+ updated: bool
99
+ role: str
100
+
101
+
102
+ class MemberRemoveResponseModel(K2BaseModel):
103
+ removed: bool
sdk/models/corpora.py ADDED
@@ -0,0 +1,48 @@
1
+ """Pydantic models for corpora 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 CorpusResponseModel(K2BaseModel):
11
+ id: str | None = None
12
+ project_id: str | None = None
13
+ name: str | None = None
14
+ description: str | None = None
15
+ is_tutorial: bool | None = None
16
+ is_demo: bool | None = None
17
+ current_model_id: str | None = None
18
+ created_at: str | None = None
19
+ org_name: str | None = None
20
+ project_name: str | None = None
21
+ chunking_config: dict[str, Any] | None = None
22
+ graph_rag_policy: dict[str, Any] | None = None
23
+
24
+
25
+ class CorpusListResponseModel(K2BaseModel):
26
+ corpora: list[CorpusResponseModel]
27
+ total: int
28
+
29
+
30
+ class CorpusDeleteResponseModel(K2BaseModel):
31
+ message: str | None = None
32
+ counts: dict[str, int] | None = None
33
+
34
+
35
+ class CorpusStatusResponseModel(K2BaseModel):
36
+ status: str | None = None
37
+ search_status: str | None = None
38
+ retrieval_ready: bool | None = None
39
+ retrieval_status: str | None = None
40
+ ingesting: bool | None = None
41
+ indexing: bool | None = None
42
+ document_count: int | None = None
43
+ documents_processing: int | None = None
44
+ documents_failed: int | None = None
45
+ documents_failed_ratio: float | None = None
46
+ dense_status: str | None = None
47
+ sparse_status: str | None = None
48
+ graph_status: str | None = None
@@ -0,0 +1,13 @@
1
+ """Pydantic models for deployment types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class DeploymentResponseModel(K2BaseModel):
9
+ id: str | None = None
10
+ corpus_id: str | None = None
11
+ model_id: str | None = None
12
+ traffic_pct: int | None = None
13
+ reindex_job_id: str | None = None
@@ -0,0 +1,126 @@
1
+ """Pydantic models for document types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import logging
6
+ from typing import Literal
7
+
8
+ from pydantic import model_validator
9
+
10
+ from sdk.models._base import K2BaseModel
11
+
12
+ logger = logging.getLogger(__name__)
13
+
14
+
15
+ class ChunkingConfigModel(K2BaseModel):
16
+ strategy: (
17
+ Literal["fixed", "paragraph", "semantic", "semchunk", "unstructured", "docling"] | None
18
+ ) = None
19
+ chunking_strategy: Literal["basic", "by_title", "by_page", "by_similarity"] | None = None
20
+ chunk_size: int | None = None
21
+ overlap: int | None = None
22
+ combine_text_under_n_chars: int | None = None
23
+ multipage_sections: bool | None = None
24
+ new_after_n_chars: int | None = None
25
+ max_concurrent_requests: int | None = None
26
+ timeout: int | None = None
27
+ dedup_mode: Literal["off", "minhash"] | None = None
28
+ dedup_partition_keys: list[str] | None = None
29
+ docling_chunker_type: Literal["hybrid", "hierarchical"] | None = None
30
+ docling_tokenizer_model: str | None = None
31
+ docling_max_tokens: int | None = None
32
+ docling_merge_peers: bool | None = None
33
+ docling_merge_list_items: bool | None = None
34
+ docling_processing_mode: Literal["auto", "sequential", "batch"] | None = None
35
+ docling_accelerator: Literal["auto", "cuda", "cpu"] | None = None
36
+
37
+ @model_validator(mode="before")
38
+ @classmethod
39
+ def _normalize_legacy_docling_ray_config(cls, value):
40
+ if not isinstance(value, dict):
41
+ return value
42
+
43
+ normalized = dict(value)
44
+ removed_fields = (
45
+ "docling_ray_num_workers",
46
+ "docling_ray_docs_per_batch",
47
+ "docling_min_batch_size",
48
+ "docling_min_ray_threshold_multiplier",
49
+ )
50
+ ignored = [field for field in removed_fields if field in normalized]
51
+ if ignored:
52
+ logger.warning(
53
+ "Ignoring removed Docling Ray chunking fields in SDK model: %s",
54
+ ", ".join(sorted(ignored)),
55
+ )
56
+ for field_name in ignored:
57
+ normalized.pop(field_name, None)
58
+
59
+ processing_mode = normalized.get("docling_processing_mode")
60
+ if isinstance(processing_mode, str) and processing_mode.strip().lower() == "ray":
61
+ logger.warning(
62
+ "Docling processing mode 'ray' is no longer supported; using 'batch' instead"
63
+ )
64
+ normalized["docling_processing_mode"] = "batch"
65
+
66
+ return normalized
67
+
68
+
69
+ class DocumentCreateResponseModel(K2BaseModel):
70
+ id: str
71
+ job_id: str
72
+
73
+
74
+ class DocumentBatchItemModel(K2BaseModel):
75
+ source_uri: str | None = None
76
+ raw_text: str | None = None
77
+ metadata: dict | None = None
78
+
79
+
80
+ class DocumentUrlItemModel(K2BaseModel):
81
+ url: str | None = None
82
+ title: str | None = None
83
+ tags: list[str] | None = None
84
+ metadata: dict | None = None
85
+
86
+
87
+ class DocumentUrlIngestResponseModel(K2BaseModel):
88
+ job_id: str
89
+ submitted: int
90
+
91
+
92
+ class DocumentManifestIngestResponseModel(K2BaseModel):
93
+ job_id: str
94
+
95
+
96
+ class DocumentListItemModel(K2BaseModel):
97
+ id: str | None = None
98
+ corpus_id: str | None = None
99
+ source_uri: str | None = None
100
+ custom_metadata: dict | None = None
101
+ system_metadata: dict | None = None
102
+ created_at: str | None = None
103
+ status: str | None = None
104
+ size_bytes: int | None = None
105
+ content_type: str | None = None
106
+ preview: str | None = None
107
+
108
+
109
+ class DocumentListResponseModel(K2BaseModel):
110
+ documents: list[DocumentListItemModel]
111
+ total: int
112
+
113
+
114
+ class DocumentDetailResponseModel(DocumentListItemModel):
115
+ pass
116
+
117
+
118
+ class DocumentDeleteResponseModel(K2BaseModel):
119
+ message: str | None = None
120
+ reindex_job_id: str | None = None
121
+
122
+
123
+ class DocumentBatchUploadResponseModel(K2BaseModel):
124
+ job_id: str
125
+ doc_ids: list[str]
126
+ count: int
@@ -0,0 +1,24 @@
1
+ """Pydantic models for embedding types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class EmbeddingItemModel(K2BaseModel):
9
+ embedding: list[float]
10
+ index: int
11
+
12
+
13
+ class EmbeddingsResponseModel(K2BaseModel):
14
+ data: list[EmbeddingItemModel]
15
+ model: str
16
+
17
+
18
+ class EmbeddingModelInfoModel(K2BaseModel):
19
+ model_name: str
20
+ is_default: bool
21
+
22
+
23
+ class EmbeddingModelListResponseModel(K2BaseModel):
24
+ models: list[EmbeddingModelInfoModel]
@@ -0,0 +1,17 @@
1
+ """Pydantic models for evaluation types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class EvalRunResponseModel(K2BaseModel):
9
+ eval_id: str
10
+ status: str
11
+ job_id: str
12
+
13
+
14
+ class EvalRunDetailResponseModel(K2BaseModel):
15
+ eval_id: str | None = None
16
+ status: str | None = None
17
+ metrics: dict | None = None
sdk/models/feedback.py ADDED
@@ -0,0 +1,9 @@
1
+ """Pydantic models for feedback types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class FeedbackResponseModel(K2BaseModel):
9
+ message: str
sdk/models/feeds.py ADDED
@@ -0,0 +1,57 @@
1
+ """Pydantic models for feed 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 FeedSubscriptionResponseModel(K2BaseModel):
11
+ id: str | None = None
12
+ agent_id: str | None = None
13
+ agent_name: str | None = None
14
+ role: str | None = None
15
+
16
+
17
+ class FeedResponseModel(K2BaseModel):
18
+ id: str | None = None
19
+ project_id: str | None = None
20
+ agent_id: str | None = None
21
+ name: str | None = None
22
+ query: str | None = None
23
+ persistent: bool | None = None
24
+ reactive: bool | None = None
25
+ target_corpus_id: str | None = None
26
+ schedule_interval: str | None = None
27
+ schedule_hour: int | None = None
28
+ start_from: str | None = None
29
+ top_k: int | None = None
30
+ metadata_filters: dict[str, Any] | None = None
31
+ activation_status: str | None = None
32
+ last_checked_seq: int | None = None
33
+ last_run_at: str | None = None
34
+ last_run_result_count: int | None = None
35
+ subscriptions: list[FeedSubscriptionResponseModel] | None = None
36
+ parent_feed_id: str | None = None
37
+ has_draft: bool | None = None
38
+ created_at: str | None = None
39
+ updated_at: str | None = None
40
+
41
+
42
+ class FeedListResponseModel(K2BaseModel):
43
+ feeds: list[FeedResponseModel]
44
+ total: int
45
+ limit: int
46
+ offset: int
47
+
48
+
49
+ class FeedRunResponseModel(K2BaseModel):
50
+ new_content: bool | None = None
51
+ results: list[dict[str, Any]] | None = None
52
+ result_count: int | None = None
53
+ truncated: bool | None = None
54
+ ingestion_job_id: str | None = None
55
+ dry_run: bool | None = None
56
+ would_ingest_count: int | None = None
57
+ feed_run_id: str | None = None
sdk/models/indexes.py ADDED
@@ -0,0 +1,36 @@
1
+ """Pydantic models for index 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 IndexBuildResponseModel(K2BaseModel):
11
+ job_id: str
12
+ index_ids: list[str]
13
+
14
+
15
+ class IndexStatusResponseModel(K2BaseModel):
16
+ build_set_id: str | None = None
17
+ requested_mode: str | None = None
18
+ effective_mode: str | None = None
19
+ start_change_seq_exclusive: int | None = None
20
+ end_change_seq_inclusive: int | None = None
21
+ retrieval_status: str | None = None
22
+ retrieval_reason: str | None = None
23
+ document_count: int | None = None
24
+ dense_status: str | None = None
25
+ sparse_status: str | None = None
26
+ sparse_metadata_status: str | None = None
27
+ graph_status: str | None = None
28
+ dense_reason: str | None = None
29
+ sparse_reason: str | None = None
30
+ sparse_metadata_reason: str | None = None
31
+ graph_reason: str | None = None
32
+
33
+
34
+ class IndexCompactResponseModel(K2BaseModel):
35
+ archived: Any | None = None
36
+ keep: int | None = None
sdk/models/jobs.py ADDED
@@ -0,0 +1,52 @@
1
+ """Pydantic models for job types."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from sdk.models._base import K2BaseModel
6
+
7
+
8
+ class JobActionsModel(K2BaseModel):
9
+ can_cancel: bool | None = None
10
+ can_retry: bool | None = None
11
+
12
+
13
+ class JobResponseModel(K2BaseModel):
14
+ id: str | None = None
15
+ job_type: str | None = None
16
+ status: str | None = None
17
+ actions: JobActionsModel | None = None
18
+ payload: dict | None = None
19
+ result: dict | None = None
20
+ error_message: str | None = None
21
+ created_at: str | None = None
22
+ updated_at: str | None = None
23
+ heartbeat_at: str | None = None
24
+ requeue_count: int | None = None
25
+ run_after: str | None = None
26
+
27
+
28
+ class JobListItemModel(K2BaseModel):
29
+ id: str | None = None
30
+ job_type: str | None = None
31
+ status: str | None = None
32
+ actions: JobActionsModel | None = None
33
+ payload: dict | None = None
34
+ result: dict | None = None
35
+ error_message: str | None = None
36
+ created_at: str | None = None
37
+ updated_at: str | None = None
38
+ heartbeat_at: str | None = None
39
+ requeue_count: int | None = None
40
+ run_after: str | None = None
41
+
42
+
43
+ class JobListResponseModel(K2BaseModel):
44
+ jobs: list[JobListItemModel]
45
+
46
+
47
+ class JobStatusResponseModel(K2BaseModel):
48
+ status: str
49
+
50
+
51
+ class ReconcileJobsResponseModel(K2BaseModel):
52
+ reconciled: int
sdk/models/models.py ADDED
@@ -0,0 +1,26 @@
1
+ """Pydantic models for model 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 ModelResponseModel(K2BaseModel):
11
+ id: str | None = None
12
+ corpus_id: str | None = None
13
+ base_model: str | None = None
14
+ embedding_dim: int | None = None
15
+ max_seq_length: int | None = None
16
+ version: int | None = None
17
+ created_at: str | None = None
18
+
19
+
20
+ class ModelListResponseModel(K2BaseModel):
21
+ models: list[ModelResponseModel]
22
+
23
+
24
+ class ModelDeleteResponseModel(K2BaseModel):
25
+ message: str | None = None
26
+ counts: dict[str, Any] | None = None