adaptive-sdk 0.1.2__py3-none-any.whl → 0.1.4__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.
- adaptive_sdk/external/requests_journal.py +16 -12
- adaptive_sdk/graphql_client/__init__.py +8 -7
- adaptive_sdk/graphql_client/add_hf_model.py +7 -1
- adaptive_sdk/graphql_client/async_client.py +15 -7
- adaptive_sdk/graphql_client/client.py +15 -7
- adaptive_sdk/graphql_client/custom_fields.py +164 -574
- adaptive_sdk/graphql_client/custom_mutations.py +12 -6
- adaptive_sdk/graphql_client/custom_queries.py +22 -6
- adaptive_sdk/graphql_client/custom_typing_fields.py +37 -257
- adaptive_sdk/graphql_client/describe_job.py +12 -0
- adaptive_sdk/graphql_client/enums.py +14 -52
- adaptive_sdk/graphql_client/fragments.py +23 -48
- adaptive_sdk/graphql_client/get_custom_recipe.py +2 -1
- adaptive_sdk/graphql_client/input_types.py +64 -19
- adaptive_sdk/graphql_client/list_compute_pools.py +3 -3
- adaptive_sdk/graphql_client/list_harmony_groups.py +13 -0
- adaptive_sdk/resources/jobs.py +16 -14
- adaptive_sdk/resources/models.py +77 -33
- adaptive_sdk/resources/recipes.py +159 -96
- adaptive_sdk/rest/rest_types.py +61 -37
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.4.dist-info}/METADATA +2 -1
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.4.dist-info}/RECORD +23 -22
- adaptive_sdk/graphql_client/list_partitions.py +0 -12
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.4.dist-info}/WHEEL +0 -0
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import json
|
|
3
3
|
import os
|
|
4
|
+
import tempfile
|
|
4
5
|
from typing import Dict
|
|
5
6
|
from uuid import uuid4
|
|
6
7
|
from fastapi import APIRouter, FastAPI
|
|
7
8
|
from fastapi.responses import JSONResponse
|
|
8
9
|
import httpx
|
|
9
|
-
import
|
|
10
|
+
import portalocker
|
|
10
11
|
from datetime import datetime, timezone
|
|
11
12
|
|
|
12
|
-
|
|
13
13
|
class RequestsJournal:
|
|
14
14
|
def __init__(
|
|
15
15
|
self,
|
|
16
16
|
max_requests_journal_size: int = 1000,
|
|
17
|
-
journal_file_path: str =
|
|
17
|
+
journal_file_path: str | None = None,
|
|
18
18
|
):
|
|
19
19
|
assert max_requests_journal_size > 0
|
|
20
|
+
if journal_file_path is None:
|
|
21
|
+
journal_file_path = os.path.join(
|
|
22
|
+
tempfile.gettempdir(), "requests.journal.jsonl"
|
|
23
|
+
)
|
|
20
24
|
self.journal_file_path = journal_file_path
|
|
21
25
|
self.max_requests_journal_size = max_requests_journal_size
|
|
22
26
|
|
|
@@ -24,19 +28,19 @@ class RequestsJournal:
|
|
|
24
28
|
if not os.path.exists(self.journal_file_path):
|
|
25
29
|
return
|
|
26
30
|
|
|
27
|
-
with open(self.journal_file_path + ".lock", "w") as lock_f:
|
|
28
|
-
|
|
31
|
+
with open(self.journal_file_path + ".lock", "w", encoding="utf-8") as lock_f:
|
|
32
|
+
portalocker.lock(lock_f, portalocker.LockFlags.EXCLUSIVE)
|
|
29
33
|
|
|
30
34
|
# Safe to rotate now
|
|
31
|
-
with open(self.journal_file_path, "r") as f:
|
|
35
|
+
with open(self.journal_file_path, "r", encoding="utf-8") as f:
|
|
32
36
|
lines = f.readlines()
|
|
33
37
|
|
|
34
38
|
if len(lines) > self.max_requests_journal_size:
|
|
35
39
|
lines = lines[-self.max_requests_journal_size :]
|
|
36
|
-
with open(self.journal_file_path, "w") as f:
|
|
40
|
+
with open(self.journal_file_path, "w", encoding="utf-8") as f:
|
|
37
41
|
f.writelines(lines)
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
portalocker.unlock(lock_f)
|
|
40
44
|
|
|
41
45
|
def add_journalling(self, app: FastAPI):
|
|
42
46
|
router = APIRouter()
|
|
@@ -79,11 +83,11 @@ class RequestsJournal:
|
|
|
79
83
|
now = datetime.now(timezone.utc).isoformat()
|
|
80
84
|
entry = {"id": req_id, "req_date": now, **record}
|
|
81
85
|
|
|
82
|
-
with open(self.journal_file_path, "a") as f:
|
|
83
|
-
|
|
86
|
+
with open(self.journal_file_path, "a", encoding="utf-8") as f:
|
|
87
|
+
portalocker.lock(f, portalocker.LockFlags.EXCLUSIVE)
|
|
84
88
|
f.write(json.dumps(entry) + "\n")
|
|
85
89
|
f.flush()
|
|
86
|
-
|
|
90
|
+
portalocker.unlock(f)
|
|
87
91
|
|
|
88
92
|
async def _periodic_rotate_journal_file(self):
|
|
89
93
|
while True:
|
|
@@ -93,7 +97,7 @@ class RequestsJournal:
|
|
|
93
97
|
def _read_journal_tail(self, n: int):
|
|
94
98
|
if not os.path.exists(self.journal_file_path):
|
|
95
99
|
return []
|
|
96
|
-
with open(self.journal_file_path, "r") as f:
|
|
100
|
+
with open(self.journal_file_path, "r", encoding="utf-8") as f:
|
|
97
101
|
lines = f.readlines()
|
|
98
102
|
lines = lines[-n:]
|
|
99
103
|
return [json.loads(line) for line in lines]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .async_base_client_open_telemetry import AsyncBaseClientOpenTelemetry
|
|
2
2
|
from .async_client import AsyncGQLClient
|
|
3
3
|
from .add_external_model import AddExternalModel, AddExternalModelAddExternalModel
|
|
4
|
-
from .add_hf_model import AddHFModel
|
|
4
|
+
from .add_hf_model import AddHFModel, AddHFModelImportHfModel
|
|
5
5
|
from .add_model import AddModel, AddModelAddModel, AddModelAddModelBackbone
|
|
6
6
|
from .add_remote_env import AddRemoteEnv, AddRemoteEnvAddRemoteEnv
|
|
7
7
|
from .attach_model_to_use_case import AttachModelToUseCase, AttachModelToUseCaseAttachModel
|
|
@@ -30,32 +30,33 @@ from .deploy_model import DeployModel
|
|
|
30
30
|
from .describe_ab_campaign import DescribeAbCampaign, DescribeAbCampaignAbCampaign, DescribeAbCampaignAbCampaignReport
|
|
31
31
|
from .describe_dataset import DescribeDataset, DescribeDatasetDataset
|
|
32
32
|
from .describe_interaction import DescribeInteraction, DescribeInteractionCompletion
|
|
33
|
+
from .describe_job import DescribeJob, DescribeJobJob
|
|
33
34
|
from .describe_metric import DescribeMetric, DescribeMetricMetric
|
|
34
35
|
from .describe_metric_admin import DescribeMetricAdmin, DescribeMetricAdminMetric
|
|
35
36
|
from .describe_model import DescribeModel, DescribeModelModel, DescribeModelModelBackbone
|
|
36
37
|
from .describe_model_admin import DescribeModelAdmin, DescribeModelAdminModel, DescribeModelAdminModelBackbone
|
|
37
38
|
from .describe_use_case import DescribeUseCase, DescribeUseCaseUseCase
|
|
38
|
-
from .enums import AbcampaignStatus, AuthProviderKind, CompletionGroupBy, CompletionSource,
|
|
39
|
+
from .enums import AbcampaignStatus, AuthProviderKind, BillingCycle, CompletionGroupBy, CompletionSource, ComputePoolCapability, DatasetKind, DatasetSource, DateBucketUnit, ExternalModelProviderName, FeedbackType, GraderTypeEnum, HarmonyStatus, JobArtifactKind, JobKind, JobStatus, JobStatusOutput, JudgeCapability, MetricAggregation, MetricKind, MetricScoringType, ModelKindFilter, ModelOnline, ModelserviceStatus, OpenAIModel, PrebuiltCriteriaKey, Protocol, ProviderName, RemoteEnvStatus, SelectionTypeInput, SortDirection, TimeseriesInterval, UnitPosition
|
|
39
40
|
from .exceptions import GraphQLClientError, GraphQLClientGraphQLError, GraphQLClientGraphQLMultiError, GraphQLClientHttpError, GraphQLClientInvalidResponseError
|
|
40
|
-
from .fragments import AbCampaignCreateData, AbCampaignDetailData, AbCampaignDetailDataMetric, AbCampaignDetailDataModels, AbCampaignDetailDataUseCase, AbCampaignReportData, AbCampaignReportDataVariants, AbCampaignReportDataVariantsComparisons, AbCampaignReportDataVariantsComparisonsVariant, AbCampaignReportDataVariantsInterval, AbCampaignReportDataVariantsVariant, CompletionComparisonFeedbackData, CompletionComparisonFeedbackDataModel, CompletionData, CompletionDataChatMessages, CompletionDataComparisonFeedbacks, CompletionDataComparisonFeedbacksMetric, CompletionDataComparisonFeedbacksOtherCompletion, CompletionDataComparisonFeedbacksPreferedCompletion, CompletionDataComparisonFeedbacksUsecase, CompletionDataDirectFeedbacks, CompletionDataDirectFeedbacksMetric, CompletionDataLabels, CompletionDataMetadata, CompletionDataMetadataUsage, CompletionDataModel, CustomRecipeData, CustomRecipeDataCreatedBy, CustomRecipeDataLabels, DatasetData, DatasetDataMetricsUsage, DatasetDataMetricsUsageMetric, GraderData, GraderDataGraderConfigCustomConfigOutput, GraderDataGraderConfigJudgeConfigOutput, GraderDataGraderConfigJudgeConfigOutputExamples, GraderDataGraderConfigJudgeConfigOutputExamplesInput, GraderDataGraderConfigJudgeConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutput, GraderDataGraderConfigPrebuiltConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria, GraderDataGraderConfigRemoteConfigOutput, GraderDataMetric, GraderDataUseCase, JobData, JobDataCreatedBy, JobDataDetails, JobDataDetailsArtifacts, JobDataRecipe, JobDataStages, JobDataStagesInfoBatchInferenceJobStageOutput, JobDataStagesInfoEvalJobStageOutput, JobDataStagesInfoTrainingJobStageOutput, JobDataUseCase, JobStageOutputData, JobStageOutputDataInfoBatchInferenceJobStageOutput, JobStageOutputDataInfoEvalJobStageOutput, JobStageOutputDataInfoTrainingJobStageOutput, JudgeData, JudgeDataExamples, JudgeDataExamplesInput, JudgeDataMetric, JudgeDataModel,
|
|
41
|
+
from .fragments import AbCampaignCreateData, AbCampaignDetailData, AbCampaignDetailDataMetric, AbCampaignDetailDataModels, AbCampaignDetailDataUseCase, AbCampaignReportData, AbCampaignReportDataVariants, AbCampaignReportDataVariantsComparisons, AbCampaignReportDataVariantsComparisonsVariant, AbCampaignReportDataVariantsInterval, AbCampaignReportDataVariantsVariant, CompletionComparisonFeedbackData, CompletionComparisonFeedbackDataModel, CompletionData, CompletionDataChatMessages, CompletionDataComparisonFeedbacks, CompletionDataComparisonFeedbacksMetric, CompletionDataComparisonFeedbacksOtherCompletion, CompletionDataComparisonFeedbacksPreferedCompletion, CompletionDataComparisonFeedbacksUsecase, CompletionDataDirectFeedbacks, CompletionDataDirectFeedbacksMetric, CompletionDataLabels, CompletionDataMetadata, CompletionDataMetadataUsage, CompletionDataModel, CustomRecipeData, CustomRecipeDataCreatedBy, CustomRecipeDataLabels, DatasetData, DatasetDataMetricsUsage, DatasetDataMetricsUsageMetric, GraderData, GraderDataGraderConfigCustomConfigOutput, GraderDataGraderConfigJudgeConfigOutput, GraderDataGraderConfigJudgeConfigOutputExamples, GraderDataGraderConfigJudgeConfigOutputExamplesInput, GraderDataGraderConfigJudgeConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutput, GraderDataGraderConfigPrebuiltConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria, GraderDataGraderConfigRemoteConfigOutput, GraderDataMetric, GraderDataUseCase, HarmonyGroupData, HarmonyGroupDataComputePool, HarmonyGroupDataOnlineModels, JobData, JobDataCreatedBy, JobDataDetails, JobDataDetailsArtifacts, JobDataRecipe, JobDataStages, JobDataStagesInfoBatchInferenceJobStageOutput, JobDataStagesInfoEvalJobStageOutput, JobDataStagesInfoTrainingJobStageOutput, JobDataUseCase, JobStageOutputData, JobStageOutputDataInfoBatchInferenceJobStageOutput, JobStageOutputDataInfoEvalJobStageOutput, JobStageOutputDataInfoTrainingJobStageOutput, JudgeData, JudgeDataExamples, JudgeDataExamplesInput, JudgeDataMetric, JudgeDataModel, MetricData, MetricDataAdmin, MetricDataAdminUseCases, MetricWithContextData, ModelData, ModelDataAdmin, ModelDataAdminUseCases, ModelDataComputeConfig, ModelServiceData, ModelServiceDataModel, ModelServiceDataModelBackbone, RemoteEnvData, UseCaseData, UseCaseDataMetrics, UseCaseDataModelServices, UseCaseDataShares, UseCaseDataSharesRole, UseCaseDataSharesTeam, UserData, UserDataTeams, UserDataTeamsRole, UserDataTeamsTeam
|
|
41
42
|
from .get_custom_recipe import GetCustomRecipe, GetCustomRecipeCustomRecipe
|
|
42
43
|
from .get_grader import GetGrader, GetGraderGrader
|
|
43
44
|
from .get_judge import GetJudge, GetJudgeJudge
|
|
44
|
-
from .input_types import AbcampaignCreate, AbCampaignFilter, AddExternalModelInput, AddHFModelInput, AddModelInput, AnthropicProviderDataInput, ApiKeyCreate, ArtifactFilter, AttachModel, AzureProviderDataInput, CompletionComparisonFilterInput, CompletionFeedbackFilterInput, CompletionLabelValue, CreateRecipeInput, CreateToolProviderInput, CursorPageInput, CustomConfigInput, CustomRecipeFilterInput,
|
|
45
|
+
from .input_types import AbcampaignCreate, AbCampaignFilter, AddExternalModelInput, AddHFModelInput, AddModelInput, AnthropicProviderDataInput, ApiKeyCreate, ArtifactFilter, AttachModel, AzureProviderDataInput, CompletionComparisonFilterInput, CompletionFeedbackFilterInput, CompletionLabelValue, CompletionsByFilters, CompletionsById, CreateRecipeInput, CreateToolProviderInput, CursorPageInput, CustomConfigInput, CustomRecipeFilterInput, DatasetCompletionQuery, DatasetCreate, DatasetCreateFromFilters, EmojiInput, FeedbackAddInput, FeedbackFilterInput, FeedbackUpdateInput, FromGroupsQuery, GlobalUsageFilterInput, GoogleProviderDataInput, GraderConfigInput, GraderCreateInput, GraderUpdateInput, GroupSelection, GroupSelectionQuery, JobArtifactFilter, JobInput, JudgeConfigInput, JudgeCreate, JudgeExampleInput, JudgeExampleInputTurnEntry, JudgeUpdate, LabelFilter, LabelInput, ListCompletionsFilterInput, ListJobsFilterInput, MetricCreate, MetricGetOrCreate, MetricLink, MetricTrendInput, MetricUnlink, ModelComputeConfigInput, ModelFilter, ModelPlacementInput, ModelProviderDataInput, ModelServiceDisconnect, ModelServiceFilter, NvidiaProviderDataInput, OpenAIProviderDataInput, OrderPair, PrebuiltConfigInput, PrebuiltJudgeCreate, RemoteConfigInput, RemoteEnvCreate, ResizePartitionInput, RoleCreate, SampleConfig, SystemPromptTemplateCreate, SystemPromptTemplateUpdate, TeamCreate, TeamMemberRemove, TeamMemberSet, TimeRange, TimeseriesInput, UnitConfigInput, UpdateCompletion, UpdateModelService, UpdateRecipeInput, UpdateToolProviderInput, UsageFilterInput, UsagePerUseCaseFilterInput, UseCaseCreate, UseCaseFilter, UseCaseMetadataInput, UseCaseSettingsInput, UseCaseShareInput, UseCaseShares, UseCaseUpdate, UserCreate, UserCreateTeamWithRole, WidgetInput
|
|
45
46
|
from .link_metric import LinkMetric, LinkMetricLinkMetric
|
|
46
47
|
from .list_ab_campaigns import ListAbCampaigns, ListAbCampaignsAbCampaigns
|
|
47
|
-
from .list_compute_pools import ListComputePools, ListComputePoolsComputePools,
|
|
48
|
+
from .list_compute_pools import ListComputePools, ListComputePoolsComputePools, ListComputePoolsComputePoolsHarmonyGroups
|
|
48
49
|
from .list_custom_recipes import ListCustomRecipes, ListCustomRecipesCustomRecipes
|
|
49
50
|
from .list_datasets import ListDatasets, ListDatasetsDatasets
|
|
50
51
|
from .list_graders import ListGraders, ListGradersGraders
|
|
51
52
|
from .list_grouped_interactions import ListGroupedInteractions, ListGroupedInteractionsCompletionsGrouped, ListGroupedInteractionsCompletionsGroupedNodes, ListGroupedInteractionsCompletionsGroupedNodesCompletions, ListGroupedInteractionsCompletionsGroupedNodesCompletionsNodes, ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStats, ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStatsMetric, ListGroupedInteractionsCompletionsGroupedPageInfo
|
|
53
|
+
from .list_harmony_groups import ListHarmonyGroups, ListHarmonyGroupsHarmonyGroups
|
|
52
54
|
from .list_interactions import ListInteractions, ListInteractionsCompletions, ListInteractionsCompletionsNodes, ListInteractionsCompletionsPageInfo
|
|
53
55
|
from .list_jobs import ListJobs, ListJobsJobs, ListJobsJobsNodes, ListJobsJobsPageInfo
|
|
54
56
|
from .list_judge_versions import ListJudgeVersions, ListJudgeVersionsJudgeVersions
|
|
55
57
|
from .list_judges import ListJudges, ListJudgesJudges
|
|
56
58
|
from .list_metrics import ListMetrics, ListMetricsMetrics
|
|
57
59
|
from .list_models import ListModels, ListModelsModels, ListModelsModelsBackbone
|
|
58
|
-
from .list_partitions import ListPartitions, ListPartitionsPartitions
|
|
59
60
|
from .list_permissions import ListPermissions
|
|
60
61
|
from .list_remote_envs import ListRemoteEnvs, ListRemoteEnvsRemoteEnvs
|
|
61
62
|
from .list_roles import ListRoles, ListRolesRoles
|
|
@@ -77,4 +78,4 @@ from .update_judge import UpdateJudge, UpdateJudgeUpdateJudge
|
|
|
77
78
|
from .update_model import UpdateModel, UpdateModelUpdateModelService
|
|
78
79
|
from .update_model_compute_config import UpdateModelComputeConfig, UpdateModelComputeConfigUpdateModelComputeConfig
|
|
79
80
|
from .update_user import UpdateUser, UpdateUserSetTeamMember, UpdateUserSetTeamMemberRole, UpdateUserSetTeamMemberTeam, UpdateUserSetTeamMemberUser
|
|
80
|
-
__all__ = ['AbCampaignCreateData', 'AbCampaignDetailData', 'AbCampaignDetailDataMetric', 'AbCampaignDetailDataModels', 'AbCampaignDetailDataUseCase', 'AbCampaignFilter', 'AbCampaignReportData', 'AbCampaignReportDataVariants', 'AbCampaignReportDataVariantsComparisons', 'AbCampaignReportDataVariantsComparisonsVariant', 'AbCampaignReportDataVariantsInterval', 'AbCampaignReportDataVariantsVariant', 'AbcampaignCreate', 'AbcampaignStatus', 'AddExternalModel', 'AddExternalModelAddExternalModel', 'AddExternalModelInput', 'AddHFModel', 'AddHFModelInput', 'AddModel', 'AddModelAddModel', 'AddModelAddModelBackbone', 'AddModelInput', 'AddRemoteEnv', 'AddRemoteEnvAddRemoteEnv', 'AnthropicProviderDataInput', 'ApiKeyCreate', 'ArtifactFilter', 'AsyncBaseClientOpenTelemetry', 'AsyncGQLClient', 'AttachModel', 'AttachModelToUseCase', 'AttachModelToUseCaseAttachModel', 'AuthProviderKind', 'AzureProviderDataInput', 'BaseClientOpenTelemetry', 'BaseModel', 'CancelABCampaign', 'CancelJob', 'CancelJobCancelJob', 'CompletionComparisonFeedbackData', 'CompletionComparisonFeedbackDataModel', 'CompletionComparisonFilterInput', 'CompletionData', 'CompletionDataChatMessages', 'CompletionDataComparisonFeedbacks', 'CompletionDataComparisonFeedbacksMetric', 'CompletionDataComparisonFeedbacksOtherCompletion', 'CompletionDataComparisonFeedbacksPreferedCompletion', 'CompletionDataComparisonFeedbacksUsecase', 'CompletionDataDirectFeedbacks', 'CompletionDataDirectFeedbacksMetric', 'CompletionDataLabels', 'CompletionDataMetadata', 'CompletionDataMetadataUsage', 'CompletionDataModel', 'CompletionFeedbackFilterInput', 'CompletionGroupBy', 'CompletionLabelValue', 'CompletionSource', '
|
|
81
|
+
__all__ = ['AbCampaignCreateData', 'AbCampaignDetailData', 'AbCampaignDetailDataMetric', 'AbCampaignDetailDataModels', 'AbCampaignDetailDataUseCase', 'AbCampaignFilter', 'AbCampaignReportData', 'AbCampaignReportDataVariants', 'AbCampaignReportDataVariantsComparisons', 'AbCampaignReportDataVariantsComparisonsVariant', 'AbCampaignReportDataVariantsInterval', 'AbCampaignReportDataVariantsVariant', 'AbcampaignCreate', 'AbcampaignStatus', 'AddExternalModel', 'AddExternalModelAddExternalModel', 'AddExternalModelInput', 'AddHFModel', 'AddHFModelImportHfModel', 'AddHFModelInput', 'AddModel', 'AddModelAddModel', 'AddModelAddModelBackbone', 'AddModelInput', 'AddRemoteEnv', 'AddRemoteEnvAddRemoteEnv', 'AnthropicProviderDataInput', 'ApiKeyCreate', 'ArtifactFilter', 'AsyncBaseClientOpenTelemetry', 'AsyncGQLClient', 'AttachModel', 'AttachModelToUseCase', 'AttachModelToUseCaseAttachModel', 'AuthProviderKind', 'AzureProviderDataInput', 'BaseClientOpenTelemetry', 'BaseModel', 'BillingCycle', 'CancelABCampaign', 'CancelJob', 'CancelJobCancelJob', 'CompletionComparisonFeedbackData', 'CompletionComparisonFeedbackDataModel', 'CompletionComparisonFilterInput', 'CompletionData', 'CompletionDataChatMessages', 'CompletionDataComparisonFeedbacks', 'CompletionDataComparisonFeedbacksMetric', 'CompletionDataComparisonFeedbacksOtherCompletion', 'CompletionDataComparisonFeedbacksPreferedCompletion', 'CompletionDataComparisonFeedbacksUsecase', 'CompletionDataDirectFeedbacks', 'CompletionDataDirectFeedbacksMetric', 'CompletionDataLabels', 'CompletionDataMetadata', 'CompletionDataMetadataUsage', 'CompletionDataModel', 'CompletionFeedbackFilterInput', 'CompletionGroupBy', 'CompletionLabelValue', 'CompletionSource', 'CompletionsByFilters', 'CompletionsById', 'ComputePoolCapability', 'CreateAbCampaign', 'CreateAbCampaignCreateAbCampaign', 'CreateCustomRecipe', 'CreateCustomRecipeCreateCustomRecipe', 'CreateGrader', 'CreateGraderCreateGrader', 'CreateJob', 'CreateJobCreateJob', 'CreateJudge', 'CreateJudgeCreateJudge', 'CreateMetric', 'CreateMetricCreateMetric', 'CreatePrebuiltJudge', 'CreatePrebuiltJudgeCreatePrebuiltJudge', 'CreateRecipeInput', 'CreateRole', 'CreateRoleCreateRole', 'CreateTeam', 'CreateTeamCreateTeam', 'CreateToolProviderInput', 'CreateUseCase', 'CreateUseCaseCreateUseCase', 'CreateUser', 'CreateUserCreateUser', 'CursorPageInput', 'CustomConfigInput', 'CustomRecipeData', 'CustomRecipeDataCreatedBy', 'CustomRecipeDataLabels', 'CustomRecipeFilterInput', 'DatasetCompletionQuery', 'DatasetCreate', 'DatasetCreateFromFilters', 'DatasetData', 'DatasetDataMetricsUsage', 'DatasetDataMetricsUsageMetric', 'DatasetKind', 'DatasetSource', 'DateBucketUnit', 'DeleteCustomRecipe', 'DeleteDataset', 'DeleteGrader', 'DeleteGraderDeleteGrader', 'DeleteJudge', 'DeleteJudgeDeleteJudge', 'DeleteUser', 'DeleteUserDeleteUser', 'DeployModel', 'DescribeAbCampaign', 'DescribeAbCampaignAbCampaign', 'DescribeAbCampaignAbCampaignReport', 'DescribeDataset', 'DescribeDatasetDataset', 'DescribeInteraction', 'DescribeInteractionCompletion', 'DescribeJob', 'DescribeJobJob', 'DescribeMetric', 'DescribeMetricAdmin', 'DescribeMetricAdminMetric', 'DescribeMetricMetric', 'DescribeModel', 'DescribeModelAdmin', 'DescribeModelAdminModel', 'DescribeModelAdminModelBackbone', 'DescribeModelModel', 'DescribeModelModelBackbone', 'DescribeUseCase', 'DescribeUseCaseUseCase', 'EmojiInput', 'ExternalModelProviderName', 'FeedbackAddInput', 'FeedbackFilterInput', 'FeedbackType', 'FeedbackUpdateInput', 'FromGroupsQuery', 'GQLClient', 'GetCustomRecipe', 'GetCustomRecipeCustomRecipe', 'GetGrader', 'GetGraderGrader', 'GetJudge', 'GetJudgeJudge', 'GlobalUsageFilterInput', 'GoogleProviderDataInput', 'GraderConfigInput', 'GraderCreateInput', 'GraderData', 'GraderDataGraderConfigCustomConfigOutput', 'GraderDataGraderConfigJudgeConfigOutput', 'GraderDataGraderConfigJudgeConfigOutputExamples', 'GraderDataGraderConfigJudgeConfigOutputExamplesInput', 'GraderDataGraderConfigJudgeConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutput', 'GraderDataGraderConfigPrebuiltConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria', 'GraderDataGraderConfigRemoteConfigOutput', 'GraderDataMetric', 'GraderDataUseCase', 'GraderTypeEnum', 'GraderUpdateInput', 'GraphQLClientError', 'GraphQLClientGraphQLError', 'GraphQLClientGraphQLMultiError', 'GraphQLClientHttpError', 'GraphQLClientInvalidResponseError', 'GroupSelection', 'GroupSelectionQuery', 'HarmonyGroupData', 'HarmonyGroupDataComputePool', 'HarmonyGroupDataOnlineModels', 'HarmonyStatus', 'JobArtifactFilter', 'JobArtifactKind', 'JobData', 'JobDataCreatedBy', 'JobDataDetails', 'JobDataDetailsArtifacts', 'JobDataRecipe', 'JobDataStages', 'JobDataStagesInfoBatchInferenceJobStageOutput', 'JobDataStagesInfoEvalJobStageOutput', 'JobDataStagesInfoTrainingJobStageOutput', 'JobDataUseCase', 'JobInput', 'JobKind', 'JobStageOutputData', 'JobStageOutputDataInfoBatchInferenceJobStageOutput', 'JobStageOutputDataInfoEvalJobStageOutput', 'JobStageOutputDataInfoTrainingJobStageOutput', 'JobStatus', 'JobStatusOutput', 'JudgeCapability', 'JudgeConfigInput', 'JudgeCreate', 'JudgeData', 'JudgeDataExamples', 'JudgeDataExamplesInput', 'JudgeDataMetric', 'JudgeDataModel', 'JudgeExampleInput', 'JudgeExampleInputTurnEntry', 'JudgeUpdate', 'LabelFilter', 'LabelInput', 'LinkMetric', 'LinkMetricLinkMetric', 'ListAbCampaigns', 'ListAbCampaignsAbCampaigns', 'ListCompletionsFilterInput', 'ListComputePools', 'ListComputePoolsComputePools', 'ListComputePoolsComputePoolsHarmonyGroups', 'ListCustomRecipes', 'ListCustomRecipesCustomRecipes', 'ListDatasets', 'ListDatasetsDatasets', 'ListGraders', 'ListGradersGraders', 'ListGroupedInteractions', 'ListGroupedInteractionsCompletionsGrouped', 'ListGroupedInteractionsCompletionsGroupedNodes', 'ListGroupedInteractionsCompletionsGroupedNodesCompletions', 'ListGroupedInteractionsCompletionsGroupedNodesCompletionsNodes', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStats', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStatsMetric', 'ListGroupedInteractionsCompletionsGroupedPageInfo', 'ListHarmonyGroups', 'ListHarmonyGroupsHarmonyGroups', 'ListInteractions', 'ListInteractionsCompletions', 'ListInteractionsCompletionsNodes', 'ListInteractionsCompletionsPageInfo', 'ListJobs', 'ListJobsFilterInput', 'ListJobsJobs', 'ListJobsJobsNodes', 'ListJobsJobsPageInfo', 'ListJudgeVersions', 'ListJudgeVersionsJudgeVersions', 'ListJudges', 'ListJudgesJudges', 'ListMetrics', 'ListMetricsMetrics', 'ListModels', 'ListModelsModels', 'ListModelsModelsBackbone', 'ListPermissions', 'ListRemoteEnvs', 'ListRemoteEnvsRemoteEnvs', 'ListRoles', 'ListRolesRoles', 'ListTeams', 'ListTeamsTeams', 'ListUseCases', 'ListUseCasesUseCases', 'ListUsers', 'ListUsersUsers', 'LoadDataset', 'LoadDatasetCreateDataset', 'LockGrader', 'LockGraderLockGrader', 'Me', 'MeMe', 'MeMeApiKeys', 'MetricAggregation', 'MetricCreate', 'MetricData', 'MetricDataAdmin', 'MetricDataAdminUseCases', 'MetricGetOrCreate', 'MetricKind', 'MetricLink', 'MetricScoringType', 'MetricTrendInput', 'MetricUnlink', 'MetricWithContextData', 'ModelComputeConfigInput', 'ModelData', 'ModelDataAdmin', 'ModelDataAdminUseCases', 'ModelDataComputeConfig', 'ModelFilter', 'ModelKindFilter', 'ModelOnline', 'ModelPlacementInput', 'ModelProviderDataInput', 'ModelServiceData', 'ModelServiceDataModel', 'ModelServiceDataModelBackbone', 'ModelServiceDisconnect', 'ModelServiceFilter', 'ModelserviceStatus', 'NvidiaProviderDataInput', 'OpenAIModel', 'OpenAIProviderDataInput', 'OrderPair', 'PrebuiltConfigInput', 'PrebuiltCriteriaKey', 'PrebuiltJudgeCreate', 'Protocol', 'ProviderName', 'RemoteConfigInput', 'RemoteEnvCreate', 'RemoteEnvData', 'RemoteEnvStatus', 'RemoveRemoteEnv', 'RemoveTeamMember', 'RemoveTeamMemberRemoveTeamMember', 'ResizePartitionInput', 'RoleCreate', 'SampleConfig', 'SelectionTypeInput', 'ShareUseCase', 'ShareUseCaseShareUseCase', 'SortDirection', 'SystemPromptTemplateCreate', 'SystemPromptTemplateUpdate', 'TeamCreate', 'TeamMemberRemove', 'TeamMemberSet', 'TerminateModel', 'TestRemoteEnv', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOffline', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOnline', 'TimeRange', 'TimeseriesInput', 'TimeseriesInterval', 'UnitConfigInput', 'UnitPosition', 'UnlinkMetric', 'UpdateCompletion', 'UpdateCustomRecipe', 'UpdateCustomRecipeUpdateCustomRecipe', 'UpdateGrader', 'UpdateGraderUpdateGrader', 'UpdateJudge', 'UpdateJudgeUpdateJudge', 'UpdateModel', 'UpdateModelComputeConfig', 'UpdateModelComputeConfigUpdateModelComputeConfig', 'UpdateModelService', 'UpdateModelUpdateModelService', 'UpdateRecipeInput', 'UpdateToolProviderInput', 'UpdateUser', 'UpdateUserSetTeamMember', 'UpdateUserSetTeamMemberRole', 'UpdateUserSetTeamMemberTeam', 'UpdateUserSetTeamMemberUser', 'Upload', 'UsageFilterInput', 'UsagePerUseCaseFilterInput', 'UseCaseCreate', 'UseCaseData', 'UseCaseDataMetrics', 'UseCaseDataModelServices', 'UseCaseDataShares', 'UseCaseDataSharesRole', 'UseCaseDataSharesTeam', 'UseCaseFilter', 'UseCaseMetadataInput', 'UseCaseSettingsInput', 'UseCaseShareInput', 'UseCaseShares', 'UseCaseUpdate', 'UserCreate', 'UserCreateTeamWithRole', 'UserData', 'UserDataTeams', 'UserDataTeamsRole', 'UserDataTeamsTeam', 'WidgetInput']
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
from pydantic import Field
|
|
2
2
|
from .base_model import BaseModel
|
|
3
|
+
from .fragments import JobData
|
|
3
4
|
|
|
4
5
|
class AddHFModel(BaseModel):
|
|
5
6
|
"""@public"""
|
|
6
|
-
import_hf_model:
|
|
7
|
+
import_hf_model: 'AddHFModelImportHfModel' = Field(alias='importHfModel')
|
|
8
|
+
|
|
9
|
+
class AddHFModelImportHfModel(JobData):
|
|
10
|
+
"""@public"""
|
|
11
|
+
pass
|
|
12
|
+
AddHFModel.model_rebuild()
|
|
@@ -30,6 +30,7 @@ from .deploy_model import DeployModel
|
|
|
30
30
|
from .describe_ab_campaign import DescribeAbCampaign
|
|
31
31
|
from .describe_dataset import DescribeDataset
|
|
32
32
|
from .describe_interaction import DescribeInteraction
|
|
33
|
+
from .describe_job import DescribeJob
|
|
33
34
|
from .describe_metric import DescribeMetric
|
|
34
35
|
from .describe_metric_admin import DescribeMetricAdmin
|
|
35
36
|
from .describe_model import DescribeModel
|
|
@@ -47,13 +48,13 @@ from .list_custom_recipes import ListCustomRecipes
|
|
|
47
48
|
from .list_datasets import ListDatasets
|
|
48
49
|
from .list_graders import ListGraders
|
|
49
50
|
from .list_grouped_interactions import ListGroupedInteractions
|
|
51
|
+
from .list_harmony_groups import ListHarmonyGroups
|
|
50
52
|
from .list_interactions import ListInteractions
|
|
51
53
|
from .list_jobs import ListJobs
|
|
52
54
|
from .list_judge_versions import ListJudgeVersions
|
|
53
55
|
from .list_judges import ListJudges
|
|
54
56
|
from .list_metrics import ListMetrics
|
|
55
57
|
from .list_models import ListModels
|
|
56
|
-
from .list_partitions import ListPartitions
|
|
57
58
|
from .list_permissions import ListPermissions
|
|
58
59
|
from .list_remote_envs import ListRemoteEnvs
|
|
59
60
|
from .list_roles import ListRoles
|
|
@@ -188,7 +189,7 @@ class AsyncGQLClient(AsyncBaseClientOpenTelemetry):
|
|
|
188
189
|
return DeleteDataset.model_validate(data)
|
|
189
190
|
|
|
190
191
|
async def add_hf_model(self, input: AddHFModelInput, **kwargs: Any) -> AddHFModel:
|
|
191
|
-
query = gql('\n mutation AddHFModel($input: AddHFModelInput!) {\n importHfModel(input: $input)\n }\n ')
|
|
192
|
+
query = gql('\n mutation AddHFModel($input: AddHFModelInput!) {\n importHfModel(input: $input) {\n ...JobData\n }\n }\n\n fragment CustomRecipeData on CustomRecipe {\n id\n key\n name\n content\n contentHash\n editable\n global\n builtin\n inputSchema\n jsonSchema\n description\n labels {\n key\n value\n }\n createdAt\n updatedAt\n createdBy {\n id\n name\n email\n }\n }\n\n fragment JobData on Job {\n id\n name\n status\n createdAt\n createdBy {\n id\n name\n }\n startedAt\n endedAt\n durationMs\n progress\n error\n kind\n stages {\n name\n status\n info {\n __typename\n ... on TrainingJobStageOutput {\n monitoringLink\n totalNumSamples\n processedNumSamples\n checkpoints\n }\n ... on EvalJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n ... on BatchInferenceJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n }\n }\n useCase {\n id\n key\n name\n }\n recipe {\n ...CustomRecipeData\n }\n details {\n args\n recipeHash\n artifacts {\n id\n name\n kind\n uri\n metadata\n createdAt\n }\n }\n }\n ')
|
|
192
193
|
variables: Dict[str, object] = {'input': input}
|
|
193
194
|
response = await self.execute(query=query, operation_name='AddHFModel', variables=variables, **kwargs)
|
|
194
195
|
data = self.get_data(response)
|
|
@@ -495,15 +496,15 @@ class AsyncGQLClient(AsyncBaseClientOpenTelemetry):
|
|
|
495
496
|
data = self.get_data(response)
|
|
496
497
|
return ListPermissions.model_validate(data)
|
|
497
498
|
|
|
498
|
-
async def
|
|
499
|
-
query = gql('\n query
|
|
499
|
+
async def list_harmony_groups(self, **kwargs: Any) -> ListHarmonyGroups:
|
|
500
|
+
query = gql('\n query ListHarmonyGroups {\n harmonyGroups {\n ...HarmonyGroupData\n }\n }\n\n fragment HarmonyGroupData on HarmonyGroup {\n id\n key\n computePool {\n key\n name\n }\n status\n url\n worldSize\n gpuTypes\n createdAt\n onlineModels {\n ...ModelData\n }\n }\n\n fragment ModelData on Model {\n id\n key\n name\n online\n isExternal\n providerName\n isAdapter\n isTraining\n createdAt\n kind\n size\n computeConfig {\n tp\n kvCacheLen\n maxSeqLen\n }\n }\n ')
|
|
500
501
|
variables: Dict[str, object] = {}
|
|
501
|
-
response = await self.execute(query=query, operation_name='
|
|
502
|
+
response = await self.execute(query=query, operation_name='ListHarmonyGroups', variables=variables, **kwargs)
|
|
502
503
|
data = self.get_data(response)
|
|
503
|
-
return
|
|
504
|
+
return ListHarmonyGroups.model_validate(data)
|
|
504
505
|
|
|
505
506
|
async def list_compute_pools(self, **kwargs: Any) -> ListComputePools:
|
|
506
|
-
query = gql('\n query ListComputePools {\n computePools {\n id\n key\n name\n createdAt\n capabilities\n
|
|
507
|
+
query = gql('\n query ListComputePools {\n computePools {\n id\n key\n name\n createdAt\n capabilities\n harmonyGroups {\n ...HarmonyGroupData\n }\n }\n }\n\n fragment HarmonyGroupData on HarmonyGroup {\n id\n key\n computePool {\n key\n name\n }\n status\n url\n worldSize\n gpuTypes\n createdAt\n onlineModels {\n ...ModelData\n }\n }\n\n fragment ModelData on Model {\n id\n key\n name\n online\n isExternal\n providerName\n isAdapter\n isTraining\n createdAt\n kind\n size\n computeConfig {\n tp\n kvCacheLen\n maxSeqLen\n }\n }\n ')
|
|
507
508
|
variables: Dict[str, object] = {}
|
|
508
509
|
response = await self.execute(query=query, operation_name='ListComputePools', variables=variables, **kwargs)
|
|
509
510
|
data = self.get_data(response)
|
|
@@ -572,6 +573,13 @@ class AsyncGQLClient(AsyncBaseClientOpenTelemetry):
|
|
|
572
573
|
data = self.get_data(response)
|
|
573
574
|
return ListJobs.model_validate(data)
|
|
574
575
|
|
|
576
|
+
async def describe_job(self, id: Any, **kwargs: Any) -> DescribeJob:
|
|
577
|
+
query = gql('\n query DescribeJob($id: UUID!) {\n job(id: $id) {\n ...JobData\n }\n }\n\n fragment CustomRecipeData on CustomRecipe {\n id\n key\n name\n content\n contentHash\n editable\n global\n builtin\n inputSchema\n jsonSchema\n description\n labels {\n key\n value\n }\n createdAt\n updatedAt\n createdBy {\n id\n name\n email\n }\n }\n\n fragment JobData on Job {\n id\n name\n status\n createdAt\n createdBy {\n id\n name\n }\n startedAt\n endedAt\n durationMs\n progress\n error\n kind\n stages {\n name\n status\n info {\n __typename\n ... on TrainingJobStageOutput {\n monitoringLink\n totalNumSamples\n processedNumSamples\n checkpoints\n }\n ... on EvalJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n ... on BatchInferenceJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n }\n }\n useCase {\n id\n key\n name\n }\n recipe {\n ...CustomRecipeData\n }\n details {\n args\n recipeHash\n artifacts {\n id\n name\n kind\n uri\n metadata\n createdAt\n }\n }\n }\n ')
|
|
578
|
+
variables: Dict[str, object] = {'id': id}
|
|
579
|
+
response = await self.execute(query=query, operation_name='DescribeJob', variables=variables, **kwargs)
|
|
580
|
+
data = self.get_data(response)
|
|
581
|
+
return DescribeJob.model_validate(data)
|
|
582
|
+
|
|
575
583
|
async def execute_custom_operation(self, *fields: GraphQLField, operation_type: OperationType, operation_name: str) -> Dict[str, Any]:
|
|
576
584
|
selections = self._build_selection_set(fields)
|
|
577
585
|
combined_variables = self._combine_variables(fields)
|
|
@@ -30,6 +30,7 @@ from .deploy_model import DeployModel
|
|
|
30
30
|
from .describe_ab_campaign import DescribeAbCampaign
|
|
31
31
|
from .describe_dataset import DescribeDataset
|
|
32
32
|
from .describe_interaction import DescribeInteraction
|
|
33
|
+
from .describe_job import DescribeJob
|
|
33
34
|
from .describe_metric import DescribeMetric
|
|
34
35
|
from .describe_metric_admin import DescribeMetricAdmin
|
|
35
36
|
from .describe_model import DescribeModel
|
|
@@ -47,13 +48,13 @@ from .list_custom_recipes import ListCustomRecipes
|
|
|
47
48
|
from .list_datasets import ListDatasets
|
|
48
49
|
from .list_graders import ListGraders
|
|
49
50
|
from .list_grouped_interactions import ListGroupedInteractions
|
|
51
|
+
from .list_harmony_groups import ListHarmonyGroups
|
|
50
52
|
from .list_interactions import ListInteractions
|
|
51
53
|
from .list_jobs import ListJobs
|
|
52
54
|
from .list_judge_versions import ListJudgeVersions
|
|
53
55
|
from .list_judges import ListJudges
|
|
54
56
|
from .list_metrics import ListMetrics
|
|
55
57
|
from .list_models import ListModels
|
|
56
|
-
from .list_partitions import ListPartitions
|
|
57
58
|
from .list_permissions import ListPermissions
|
|
58
59
|
from .list_remote_envs import ListRemoteEnvs
|
|
59
60
|
from .list_roles import ListRoles
|
|
@@ -188,7 +189,7 @@ class GQLClient(BaseClientOpenTelemetry):
|
|
|
188
189
|
return DeleteDataset.model_validate(data)
|
|
189
190
|
|
|
190
191
|
def add_hf_model(self, input: AddHFModelInput, **kwargs: Any) -> AddHFModel:
|
|
191
|
-
query = gql('\n mutation AddHFModel($input: AddHFModelInput!) {\n importHfModel(input: $input)\n }\n ')
|
|
192
|
+
query = gql('\n mutation AddHFModel($input: AddHFModelInput!) {\n importHfModel(input: $input) {\n ...JobData\n }\n }\n\n fragment CustomRecipeData on CustomRecipe {\n id\n key\n name\n content\n contentHash\n editable\n global\n builtin\n inputSchema\n jsonSchema\n description\n labels {\n key\n value\n }\n createdAt\n updatedAt\n createdBy {\n id\n name\n email\n }\n }\n\n fragment JobData on Job {\n id\n name\n status\n createdAt\n createdBy {\n id\n name\n }\n startedAt\n endedAt\n durationMs\n progress\n error\n kind\n stages {\n name\n status\n info {\n __typename\n ... on TrainingJobStageOutput {\n monitoringLink\n totalNumSamples\n processedNumSamples\n checkpoints\n }\n ... on EvalJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n ... on BatchInferenceJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n }\n }\n useCase {\n id\n key\n name\n }\n recipe {\n ...CustomRecipeData\n }\n details {\n args\n recipeHash\n artifacts {\n id\n name\n kind\n uri\n metadata\n createdAt\n }\n }\n }\n ')
|
|
192
193
|
variables: Dict[str, object] = {'input': input}
|
|
193
194
|
response = self.execute(query=query, operation_name='AddHFModel', variables=variables, **kwargs)
|
|
194
195
|
data = self.get_data(response)
|
|
@@ -495,15 +496,15 @@ class GQLClient(BaseClientOpenTelemetry):
|
|
|
495
496
|
data = self.get_data(response)
|
|
496
497
|
return ListPermissions.model_validate(data)
|
|
497
498
|
|
|
498
|
-
def
|
|
499
|
-
query = gql('\n query
|
|
499
|
+
def list_harmony_groups(self, **kwargs: Any) -> ListHarmonyGroups:
|
|
500
|
+
query = gql('\n query ListHarmonyGroups {\n harmonyGroups {\n ...HarmonyGroupData\n }\n }\n\n fragment HarmonyGroupData on HarmonyGroup {\n id\n key\n computePool {\n key\n name\n }\n status\n url\n worldSize\n gpuTypes\n createdAt\n onlineModels {\n ...ModelData\n }\n }\n\n fragment ModelData on Model {\n id\n key\n name\n online\n isExternal\n providerName\n isAdapter\n isTraining\n createdAt\n kind\n size\n computeConfig {\n tp\n kvCacheLen\n maxSeqLen\n }\n }\n ')
|
|
500
501
|
variables: Dict[str, object] = {}
|
|
501
|
-
response = self.execute(query=query, operation_name='
|
|
502
|
+
response = self.execute(query=query, operation_name='ListHarmonyGroups', variables=variables, **kwargs)
|
|
502
503
|
data = self.get_data(response)
|
|
503
|
-
return
|
|
504
|
+
return ListHarmonyGroups.model_validate(data)
|
|
504
505
|
|
|
505
506
|
def list_compute_pools(self, **kwargs: Any) -> ListComputePools:
|
|
506
|
-
query = gql('\n query ListComputePools {\n computePools {\n id\n key\n name\n createdAt\n capabilities\n
|
|
507
|
+
query = gql('\n query ListComputePools {\n computePools {\n id\n key\n name\n createdAt\n capabilities\n harmonyGroups {\n ...HarmonyGroupData\n }\n }\n }\n\n fragment HarmonyGroupData on HarmonyGroup {\n id\n key\n computePool {\n key\n name\n }\n status\n url\n worldSize\n gpuTypes\n createdAt\n onlineModels {\n ...ModelData\n }\n }\n\n fragment ModelData on Model {\n id\n key\n name\n online\n isExternal\n providerName\n isAdapter\n isTraining\n createdAt\n kind\n size\n computeConfig {\n tp\n kvCacheLen\n maxSeqLen\n }\n }\n ')
|
|
507
508
|
variables: Dict[str, object] = {}
|
|
508
509
|
response = self.execute(query=query, operation_name='ListComputePools', variables=variables, **kwargs)
|
|
509
510
|
data = self.get_data(response)
|
|
@@ -572,6 +573,13 @@ class GQLClient(BaseClientOpenTelemetry):
|
|
|
572
573
|
data = self.get_data(response)
|
|
573
574
|
return ListJobs.model_validate(data)
|
|
574
575
|
|
|
576
|
+
def describe_job(self, id: Any, **kwargs: Any) -> DescribeJob:
|
|
577
|
+
query = gql('\n query DescribeJob($id: UUID!) {\n job(id: $id) {\n ...JobData\n }\n }\n\n fragment CustomRecipeData on CustomRecipe {\n id\n key\n name\n content\n contentHash\n editable\n global\n builtin\n inputSchema\n jsonSchema\n description\n labels {\n key\n value\n }\n createdAt\n updatedAt\n createdBy {\n id\n name\n email\n }\n }\n\n fragment JobData on Job {\n id\n name\n status\n createdAt\n createdBy {\n id\n name\n }\n startedAt\n endedAt\n durationMs\n progress\n error\n kind\n stages {\n name\n status\n info {\n __typename\n ... on TrainingJobStageOutput {\n monitoringLink\n totalNumSamples\n processedNumSamples\n checkpoints\n }\n ... on EvalJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n ... on BatchInferenceJobStageOutput {\n totalNumSamples\n processedNumSamples\n }\n }\n }\n useCase {\n id\n key\n name\n }\n recipe {\n ...CustomRecipeData\n }\n details {\n args\n recipeHash\n artifacts {\n id\n name\n kind\n uri\n metadata\n createdAt\n }\n }\n }\n ')
|
|
578
|
+
variables: Dict[str, object] = {'id': id}
|
|
579
|
+
response = self.execute(query=query, operation_name='DescribeJob', variables=variables, **kwargs)
|
|
580
|
+
data = self.get_data(response)
|
|
581
|
+
return DescribeJob.model_validate(data)
|
|
582
|
+
|
|
575
583
|
def execute_custom_operation(self, *fields: GraphQLField, operation_type: OperationType, operation_name: str) -> Dict[str, Any]:
|
|
576
584
|
selections = self._build_selection_set(fields)
|
|
577
585
|
combined_variables = self._combine_variables(fields)
|