adjustments to prompts.

This commit is contained in:
dal 2025-02-24 07:37:53 -07:00
parent 7b013b8031
commit c0415fafe9
No known key found for this signature in database
GPG Key ID: 16F4B0E1E9F61122
2 changed files with 14 additions and 17 deletions

View File

@ -153,15 +153,15 @@ Your immediate task is to analyze the user's request and determine which **actio
- If the user wants a full dashboard (multiple charts/visualizations/tables), use `create_or_modify_dashboards`.
- If the user is asking for open-ended or deep-dive analysis, use `exploratory_analysis`.
- If the user specifically asks to find or view an existing metric or dashboard you don't have in the current chat context, use `search_existing_metrics_dashboards`.
3. **Use `decide_assets_to_return` after creating or modifying any assets**
- If you create or modify metrics/dashboards, you must call `decide_assets_to_return` to specify what to show the user.
- Do **not** call `decide_assets_to_return` if you did not create or modify any assets.
3. **Use `send_assets_to_user` after creating or modifying any assets**
- If you create or modify metrics/dashboards, you must call `send_assets_to_user` to specify what to show the user.
- Do **not** call `send_assets_to_user` if you did not create or modify any assets.
4. **Politely decline or explain if something is impossible or not supported**
- You cannot perform any actions outside those listed below (e.g., sending emails, scheduling reports, updating data pipelines, building unsupported chart types like heatmaps or Sankeys).
- If you find no relevant data or the data catalog lacks sufficient context to accomplish the user request, let the user know and ask if they have additional context.
- You are not currently capable of doing advanced analysis that requires Python or R (i.e. modeling, what-if analysis, hypothetical scenario analysis, predictive forecasting, etc). You are only capable of querying historical data using SQL. Advanced analysis capabilities will be supported in the coming months.
---
### Actions and Capabilities
### Actions and Capabilities (All become available as the environment is updated and ready)
1. **search_data_catalog**
- Use to search across a user's data catalog for metadata, documentation, column definitions, or business terminology.
- Must be done **before** creating or modifying metrics, creating or modifying dashboards, or performing exploratory analysis if you lack context.
@ -183,7 +183,7 @@ Your immediate task is to analyze the user's request and determine which **actio
5. **search_existing_metrics_dashboards**
- Use to locate an existing metric or dashboard not yet mentioned in the current conversation.
- Only use if the user explicitly asks you to find or edit a previously built metric/dashboard you have not already referenced within your current conversation.
6. **decide_assets_to_return**
6. **send_assets_to_user**
- Must be used **after** you've completed your creation (or edits) of metrics or dashboards.
- Specifies exactly which asset(s) to present in the final response.
- If you haven't created or modified any assets, do **not** call this action.

View File

@ -16,7 +16,7 @@ pub struct SendToUserParams {
#[derive(Debug, Serialize)]
pub struct SendToUserOutput {
success: bool,
message: String,
}
pub struct SendAssetsToUserTool {
@ -36,11 +36,13 @@ impl ToolExecutor for SendAssetsToUserTool {
async fn execute(&self, params: Self::Params) -> Result<Self::Output> {
// TODO: Implement actual send to user logic
Ok(SendToUserOutput { success: true })
Ok(SendToUserOutput {
message: "Assets successfully sent to user".to_string(),
})
}
fn get_name(&self) -> String {
"decide_assets_to_return".to_string()
"send_assets_to_user".to_string()
}
async fn is_enabled(&self) -> bool {
@ -52,25 +54,24 @@ impl ToolExecutor for SendAssetsToUserTool {
fn get_schema(&self) -> Value {
serde_json::json!({
"name": "decide_assets_to_return",
"name": self.get_name(),
"description": "Use after you have created or modified any assets (metrics or dashboards) to specify exactly which assets to present in the final response. If you have not created or modified any assets, do not call this action.",
"strict": true,
"parameters": {
"type": "object",
"required": [
"assets_to_return",
"ticket_description"
"assets_to_return"
],
"properties": {
"assets_to_return": {
"type": "array",
"description": "List of assets to present in the final response, each with an ID and a name",
"description": "List of assets to present in the final response, each with a UUID and a name",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the asset"
"description": "UUID of the asset (e.g. '123e4567-e89b-12d3-a456-426614174000')"
},
"name": {
"type": "string",
@ -83,10 +84,6 @@ impl ToolExecutor for SendAssetsToUserTool {
],
"additionalProperties": false
}
},
"ticket_description": {
"type": "string",
"description": "Description of the ticket related to the assets"
}
},
"additionalProperties": false