File: ml_samples_capability_host.py

package info (click to toggle)
python-azure 20250603%2Bgit-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 851,724 kB
  • sloc: python: 7,362,925; ansic: 804; javascript: 287; makefile: 195; sh: 145; xml: 109
file content (185 lines) | stat: -rw-r--r-- 6,860 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# coding: utf-8

# -------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------

"""
FILE: ml_samples_capability_host.py
DESCRIPTION:
    These samples configures some operations of the capability host
USAGE:
    python ml_samples_capability_host.py

"""

import os


class CapabilityHostConfigurationOptions(object):
    def ml_capability_host_config(self):

        # [START load_capability_host]
        from azure.ai.ml import load_capability_host

        capability_host = load_capability_host(
            source="./sdk/ml/azure-ai-ml/tests/test_configs/workspace/ai_workspaces/test_capability_host_hub.yml"
        )
        # [END load_capability_host]

        # [START capability_host_object_create]
        from azure.ai.ml.constants._workspace import CapabilityHostKind
        from azure.ai.ml.entities._workspace._ai_workspaces.capability_host import CapabilityHost

        # CapabilityHost in Hub workspace. For Hub workspace, only name and description are required.
        capability_host = CapabilityHost(
            name="test-capability-host",
            description="some description",
            capability_host_kind=CapabilityHostKind.AGENTS,
        )

        # CapabilityHost in Project workspace
        capability_host = CapabilityHost(
            name="test-capability-host",
            description="some description",
            capability_host_kind=CapabilityHostKind.AGENTS,
            ai_services_connections=["connection1"],
            storage_connections=["projectname/workspaceblobstore"],
            vector_store_connections=["connection1"],
            thread_storage_connections=["connection1"],
        )
        # [END capability_host_object_create]

        # [START capability_host_begin_create_or_update_operation]
        from azure.ai.ml import MLClient
        from azure.ai.ml.constants._workspace import CapabilityHostKind
        from azure.ai.ml.entities._workspace._ai_workspaces.capability_host import CapabilityHost
        from azure.identity import DefaultAzureCredential

        subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
        resource_group = os.environ["RESOURCE_GROUP_NAME"]
        hub_name = "test-hub"
        project_name = "test-project"

        # Create a CapabilityHost in Hub
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=hub_name,
        )
        capability_host = CapabilityHost(
            name="test-capability-host",
            description="some description",
            capability_host_kind=CapabilityHostKind.AGENTS,
        )
        result = ml_client.capability_hosts.begin_create_or_update(capability_host).result()

        # Create a CapabilityHost in Project
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=project_name,
        )
        capability_host = CapabilityHost(
            name="test-capability-host",
            description="some description",
            capability_host_kind=CapabilityHostKind.AGENTS,
            ai_services_connections=["connection1"],
            storage_connections=["projectname/workspaceblobstore"],
            vector_store_connections=["connection1"],
        )
        result = ml_client.capability_hosts.begin_create_or_update(capability_host).result()
        # [END capability_host_begin_create_or_update_operation]

        # [START capability_host_get_operation]
        from azure.ai.ml import MLClient
        from azure.identity import DefaultAzureCredential

        subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
        resource_group = os.environ["RESOURCE_GROUP_NAME"]
        hub_name = "test-hub"
        project_name = "test-project"

        # Get CapabilityHost created in Hub
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=hub_name,
        )
        capability_host = ml_client.capability_hosts.get(name="test-capability-host")

        # Get CapabilityHost created in Project
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=project_name,
        )
        capability_host = ml_client.capability_hosts.get(name="test-capability-host")
        # [END capability_host_get_operation]

        # [START capability_host_delete_operation]
        from azure.ai.ml import MLClient
        from azure.identity import DefaultAzureCredential

        subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
        resource_group = os.environ["RESOURCE_GROUP_NAME"]
        hub_name = "test-hub"
        project_name = "test-project"

        # Delete CapabilityHost created in Hub
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=hub_name,
        )
        capability_host = ml_client.capability_hosts.begin_delete(name="test-capability-host")

        # Delete CapabilityHost created in Project
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=project_name,
        )
        capability_host = ml_client.capability_hosts.begin_delete(name="test-capability-host")
        # [END capability_host_delete_operation]

        # [START capability_host_list_operation]
        from azure.ai.ml import MLClient
        from azure.identity import DefaultAzureCredential

        subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
        resource_group = os.environ["RESOURCE_GROUP_NAME"]
        hub_name = "test-hub"
        project_name = "test-project"

        # List CapabilityHosts created in Hub
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=hub_name,
        )
        capability_hosts = ml_client.capability_hosts.list()  # type:ignore

        # List CapabilityHosts created in Project
        ml_client = MLClient(
            DefaultAzureCredential(),
            subscription_id,
            resource_group,
            workspace_name=project_name,
        )
        capability_hosts = ml_client.capability_hosts.list()  # type:ignore
        # [END capability_host_list_operation]


if __name__ == "__main__":
    sample = CapabilityHostConfigurationOptions()
    sample.ml_capability_host_config()