|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
15 | | -"""Minimal SDC Agents demo -- catalog search + data introspection. |
| 15 | +"""SDC Agents demo -- full data governance pipeline. |
16 | 16 |
|
17 | | -Composes CatalogToolset and IntrospectToolset into a single LlmAgent |
18 | | -that can discover published SDC4 schemas and introspect datasource |
19 | | -structure. |
| 17 | +Composes five SDC Agents toolsets into a single LlmAgent that can |
| 18 | +introspect datasources, discover matching catalog components, map |
| 19 | +columns to schemas, and assemble validated data models. |
20 | 20 |
|
21 | 21 | Prerequisites: |
22 | 22 | pip install google-adk-community[sdc-agents] |
|
31 | 31 | from google.adk_community.sdc_agents import ( |
32 | 32 | CatalogToolset, |
33 | 33 | IntrospectToolset, |
| 34 | + MappingToolset, |
| 35 | + AssemblyToolset, |
| 36 | + ValidationToolset, |
34 | 37 | SDCAgentsConfig, |
35 | 38 | ) |
36 | 39 |
|
|
53 | 56 | name="sdc_demo_agent", |
54 | 57 | model="gemini-2.0-flash", |
55 | 58 | description=( |
56 | | - "Discovers SDC4 schemas and introspects datasource structure." |
| 59 | + "Full data governance pipeline: introspect, discover, map," |
| 60 | + " and assemble SDC4 data models." |
57 | 61 | ), |
58 | 62 | instruction=( |
59 | | - "You help data engineers govern their data.\n" |
60 | | - "1. Use catalog tools to search for published SDC4 schemas\n" |
61 | | - "2. Use introspect tools to analyze datasource columns and types\n" |
62 | | - "3. Summarize findings clearly" |
| 63 | + "You help data engineers govern their data. Follow this workflow:\n" |
| 64 | + "1. Introspect the datasource to discover columns and types\n" |
| 65 | + "2. Search the SDC4 catalog for matching published schemas\n" |
| 66 | + "3. Discover catalog components that match the datasource structure\n" |
| 67 | + "4. Map unmatched columns to schema components by similarity\n" |
| 68 | + "5. Propose a cluster hierarchy for the data model\n" |
| 69 | + "6. Assemble the final data model via the Assembly API\n" |
| 70 | + "7. Validate the generated artifacts" |
63 | 71 | ), |
64 | 72 | tools=[ |
65 | | - CatalogToolset(config=config), |
66 | 73 | IntrospectToolset(config=config), |
| 74 | + CatalogToolset(config=config), |
| 75 | + MappingToolset(config=config), |
| 76 | + AssemblyToolset(config=config), |
| 77 | + ValidationToolset(config=config), |
67 | 78 | ], |
68 | 79 | ) |
0 commit comments