docs: simplify anonymized examples
Use clean generic names instead of repeated redaction placeholders.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -22,20 +22,20 @@ cortex_policies:
|
|||||||
|
|
||||||
# Access control: Who can query this semantic model
|
# Access control: Who can query this semantic model
|
||||||
access_control:
|
access_control:
|
||||||
default_role: "[REDACTED: SNOWFLAKE_ROLE]"
|
default_role: "quotation_analytics_user"
|
||||||
authorized_teams:
|
authorized_teams:
|
||||||
- name: "sales_team"
|
- name: "sales_team"
|
||||||
snowflake_role: "[REDACTED: SALES_ROLE]"
|
snowflake_role: "quotation_sales_user"
|
||||||
tables: ["sv_quotation", "sv_chatbot_quotation"]
|
tables: ["sv_quotation", "sv_chatbot_quotation"]
|
||||||
max_rows_returned: 100000
|
max_rows_returned: 100000
|
||||||
|
|
||||||
- name: "operations_team"
|
- name: "operations_team"
|
||||||
snowflake_role: "[REDACTED: OPS_ROLE]"
|
snowflake_role: "quotation_operations_user"
|
||||||
tables: ["sv_quotation", "sv_chatbot_quotation"]
|
tables: ["sv_quotation", "sv_chatbot_quotation"]
|
||||||
max_rows_returned: 500000
|
max_rows_returned: 500000
|
||||||
|
|
||||||
- name: "cortex_agent"
|
- name: "cortex_agent"
|
||||||
snowflake_role: "[REDACTED: CORTEX_AGENT_ROLE]"
|
snowflake_role: "quotation_cortex_agent"
|
||||||
tables: ["sv_chatbot_quotation"]
|
tables: ["sv_chatbot_quotation"]
|
||||||
max_rows_returned: 1000
|
max_rows_returned: 1000
|
||||||
allowed_functions: ["semantic_search", "similarity_score"]
|
allowed_functions: ["semantic_search", "similarity_score"]
|
||||||
@@ -59,7 +59,7 @@ cortex_policies:
|
|||||||
description: "Mask actual customer names in chatbot responses"
|
description: "Mask actual customer names in chatbot responses"
|
||||||
pattern: "customer_name|cliente_nome"
|
pattern: "customer_name|cliente_nome"
|
||||||
action: "mask_value"
|
action: "mask_value"
|
||||||
replacement: "[REDACTED: Customer Information]"
|
replacement: "[Customer information protected]"
|
||||||
exception: "Sales team in authorized_teams can see unmasked values"
|
exception: "Sales team in authorized_teams can see unmasked values"
|
||||||
|
|
||||||
- rule: "pii_scrubbing"
|
- rule: "pii_scrubbing"
|
||||||
@@ -97,7 +97,7 @@ cortex_policies:
|
|||||||
|
|
||||||
# Cost controls: Prevent runaway LLM usage
|
# Cost controls: Prevent runaway LLM usage
|
||||||
cost_controls:
|
cost_controls:
|
||||||
monthly_budget_usd: "[REDACTED: BUDGET]"
|
monthly_budget_usd: "configured in the deployment environment"
|
||||||
alert_threshold_pct: 80
|
alert_threshold_pct: 80
|
||||||
per_query_max_tokens: 2000
|
per_query_max_tokens: 2000
|
||||||
max_concurrent_queries: 10
|
max_concurrent_queries: 10
|
||||||
@@ -121,9 +121,9 @@ semantic_model_lineage:
|
|||||||
description: "How quotation data flows through transformations"
|
description: "How quotation data flows through transformations"
|
||||||
stages:
|
stages:
|
||||||
1_source:
|
1_source:
|
||||||
system: "[REDACTED: SAP_SYSTEM]"
|
system: "enterprise_erp_source"
|
||||||
frequency: "Daily batch 05:00 UTC"
|
frequency: "Daily batch 05:00 UTC"
|
||||||
tables: ["[REDACTED: SOURCE_QUOTE_TABLE]", "[REDACTED: SOURCE_DISCOUNT_TABLE]"]
|
tables: ["source_quotes", "source_discount_conditions"]
|
||||||
|
|
||||||
2_staging:
|
2_staging:
|
||||||
schema: "STAGING"
|
schema: "STAGING"
|
||||||
@@ -142,8 +142,8 @@ semantic_model_lineage:
|
|||||||
|
|
||||||
5_cortex_consumption:
|
5_cortex_consumption:
|
||||||
interface_1: "Snowflake Native App (BI)"
|
interface_1: "Snowflake Native App (BI)"
|
||||||
interface_2: "[REDACTED: SIEMENS_WORKSPACE]"
|
interface_2: "internal_chatbot_workspace"
|
||||||
llm_model: "[REDACTED: LLM_VERSION]"
|
llm_model: "managed_cortex_model"
|
||||||
prompt_template: |
|
prompt_template: |
|
||||||
You are a sales support assistant. Answer quote questions using only
|
You are a sales support assistant. Answer quote questions using only
|
||||||
the data provided. If discount exceeds policy, flag for human review.
|
the data provided. If discount exceeds policy, flag for human review.
|
||||||
|
|||||||
@@ -9,17 +9,17 @@
|
|||||||
|
|
||||||
with source_quotes as (
|
with source_quotes as (
|
||||||
select
|
select
|
||||||
[REDACTED: quote_id column],
|
quote_id,
|
||||||
[REDACTED: line_item column],
|
line_item,
|
||||||
[REDACTED: customer_id column],
|
customer_id,
|
||||||
[REDACTED: material_id column],
|
material_id,
|
||||||
[REDACTED: quantity column],
|
quantity,
|
||||||
[REDACTED: net_value column],
|
net_value,
|
||||||
[REDACTED: quote_date column],
|
quote_date,
|
||||||
[REDACTED: sales_person_id column],
|
sales_person_id,
|
||||||
[REDACTED: source_timestamp column]
|
source_timestamp
|
||||||
from [REDACTED: SOURCE_SCHEMA].[REDACTED: QUOTE_TABLE]
|
from source_quotes
|
||||||
where [REDACTED: date_partition] >= dateadd(day, -1, current_date())
|
where quote_date >= dateadd(day, -1, current_date())
|
||||||
),
|
),
|
||||||
|
|
||||||
enrich_product_portfolio as (
|
enrich_product_portfolio as (
|
||||||
@@ -34,9 +34,9 @@ enrich_product_portfolio as (
|
|||||||
sq.sales_person_id,
|
sq.sales_person_id,
|
||||||
/* Product portfolio classification */
|
/* Product portfolio classification */
|
||||||
case
|
case
|
||||||
when sq.material_id like '[REDACTED: pattern 1]%' then 'data-integration'
|
when sq.material_id like 'DI-%' then 'data-integration'
|
||||||
when sq.material_id like '[REDACTED: pattern 2]%' then 'automation'
|
when sq.material_id like 'AU-%' then 'automation'
|
||||||
when sq.material_id like '[REDACTED: pattern 3]%' then 'connectivity'
|
when sq.material_id like 'CO-%' then 'connectivity'
|
||||||
else 'other'
|
else 'other'
|
||||||
end as portfolio_code,
|
end as portfolio_code,
|
||||||
pm.portfolio_name,
|
pm.portfolio_name,
|
||||||
@@ -109,5 +109,3 @@ select
|
|||||||
sales_person_id,
|
sales_person_id,
|
||||||
current_timestamp() as dbt_loaded_at
|
current_timestamp() as dbt_loaded_at
|
||||||
from governance_flags
|
from governance_flags
|
||||||
|
|
||||||
-- ponytail: materialized as table for chatbot + BI queries (not incremental yet; append-only refresh if needed later)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user