0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-10 21:51:49 +08:00
discourse/plugins/discourse-data-explorer/config/locales/server.en.yml
Natalie Tay 5fd5946b1c
FEATURE: Add query examples for Data Explorer AI (#41288)
Data Explorer's AI query generator produces valid SQL while still
missing the intent behind community/reporting prompts. Existing schema
lookup tells the agent what columns exist, but not how Discourse queries
are usually written or which defaults matter for public activity,
regular members, PMs, staged users, and restricted categories.

This PR adds a `find_queries` tool that lets the agent look up visible
saved queries and bundled defaults before writing SQL. Those queries are
used as examples for patterns, joins, params, and filters, while the
agent still validates the generated SQL with `run_sql`.

The prompt and tool flow are also tightened so the agent submits the
exact SQL that passed validation and handles Data Explorer params more
reliably, especially plural optional filters.

```text
User prompt in Data Explorer
  "active users from jan to mar?"
        |
        v
AiQueryGenerator starts with system prompt
        |
        v
LLM call #1
  decides to call find_queries
        |
        v
find_queries(search: "active users")
  searches visible saved queries + bundled default queries
  returns matching examples with:
  - name / description
  - params
  - truncated SQL
        |
        v
LLM call #2
  uses examples to choose relevant tables
        |
        v
schema(tables: "users,posts,user_visits")
  returns real DB columns for requested tables
        |
        v
LLM call #3
  writes SQL using schema + examples
        |
        v
run_sql(sql: "...")
  runs the generated query
  returns rows/columns or errors
        |
        v
LLM call #4
  sees run_sql success
        |
        v
submit_query(name:, description:, sql:)
  submits the exact SQL from the successful run_sql call
        |
        v
Data Explorer receives final generated query
```
2026-07-01 15:07:28 +08:00

69 lines
2.7 KiB
YAML
Vendored

en:
site_settings:
data_explorer_enabled: "Enable data explorer"
data_explorer_ai_queries_enabled: "Enable AI query generation in Data Explorer"
discourse_ai:
ai_bot:
agents:
ai_query_generator:
name: "Data Explorer Query Generator"
description: "Generates SQL queries for Data Explorer from natural language"
tool_help:
find_queries: "Finds existing Data Explorer queries that may be useful examples"
run_sql: "Runs a SQL query and returns results"
submit_query: "Submits the final generated query"
tool_summary:
find_queries: "Finding example queries"
run_sql: "Running SQL query"
submit_query: "Submitting generated query"
tool_description:
find_queries: "Found example queries for %{search}"
run_sql: "Ran SQL query"
submit_query: "Submitted generated query %{name}"
discourse_data_explorer:
ai:
error_agent_not_configured: "AI agent is not configured. Please check the AI features settings."
error_no_sql_returned: "AI did not return a valid SQL query. Please try again or write the query manually."
errors:
tool_not_allowed: "You are not allowed to use this tool"
discourse_workflows:
sql_action:
no_query_selected: "No query selected."
no_sql_provided: "No SQL query provided."
discourse_automation:
scriptables:
recurring_data_explorer_result_pm:
title: Schedule a PM with Data Explorer results
description: Get scheduled reports sent to your messages
no_csv_allowed: "When using `attach_csv` field, `csv` must be added to the list of authorized extensions in the site settings."
recurring_data_explorer_result_topic:
title: Schedule a post in a topic with Data Explorer results
description: Get scheduled reports posted to a specific topic
data_explorer:
admin_dashboard_label: "Data Explorer"
report_generator:
private_message:
title: "Scheduled report for %{query_name}"
body: |
Hi %{recipient_name}, your Data Explorer report is ready.
Query name:
%{query_name}
Here are the results:
%{table}
<a href='%{base_url}/admin/plugins/discourse-data-explorer/queries/%{query_id}'>View query in Data Explorer</a>
Report created at %{created_at} (%{timezone})
post:
body: |
### Scheduled report for %{query_name}
Here are the results:
%{table}
<a href='%{base_url}/admin/plugins/discourse-data-explorer/queries/%{query_id}'>View query in Data Explorer</a>
Report created at %{created_at} (%{timezone})
upload_appendix: "Appendix: [%{filename}|attachment](%{short_url})"