Visual Studio Code 扩展中的 Azure Cosmos DB 查询顾问

Azure Cosmos DB查询顾问使用 AI 来帮助你编写和了解查询,而无需离开编辑器。 从自然语言提示生成 SQL 查询,或在Visual Studio Code查询编辑器中直接获取现有查询的纯语言解释。

此功能的作用

Azure Cosmos DB 查询顾问可帮助你根据自然语言提示生成 Azure Cosmos DB SQL 查询,并直接在 Visual Studio Code 查询编辑器中解释现有查询。

Prerequisites

  • Visual Studio Code 1.103 或更高版本。
  • Azure Cosmos DB扩展
  • Visual Studio Code 中已提供 GitHub Copilot 和 GitHub Copilot Chat。
  • 访问使用 NoSQL API 或本地模拟器设置的Azure Cosmos DB帐户。

从自然语言生成查询

  1. 右键单击资源树中的Azure Cosmos DB容器,然后选择“打开查询编辑器”。

    显示 Azure Cosmos DB 扩展中某个容器的上下文菜单的屏幕截图,其中“打开查询编辑器”选项已突出显示。

  2. 在查询编辑器工具栏中,选择 “AI”(预览) 按钮,然后选择“ 生成查询”。

    显示“查询顾问”下拉菜单的屏幕截图,其中显示了“生成查询”、“解释查询”和“帮助”选项。

  3. 输入描述要生成的查询的自然语言提示,然后按 Enter 进行确认。

    显示“生成 Cosmos DB 查询”输入框的屏幕截图,其中提供了一个示例提示来查找前 100 个 JavaScript 开发人员。

  4. 生成的查询将插入编辑器中,自动执行,结果显示在表视图中。 聊天面板提供生成的查询的说明。

    显示生成的查询的屏幕截图,其中显示了表视图中的结果和聊天面板中的查询说明。

示例提示:

Find the top 100 JavaScript developers.
Return top 20 users with the highest loyaltyPoints.
Show products where inventoryCount is less than 10.

说明现有查询

  1. 在编辑器中打开查询后,选择 “AI”(预览) 按钮,然后选择“ 解释查询”。

    显示“查询顾问”下拉列表的屏幕截图,其中“解释查询”在生成的查询上高亮显示。

  2. “聊天”面板随即打开,其中包含查询逻辑的详细说明,包括筛选器、投影、排序和限制。

优化生成的输出

如果第一个查询接近但不完全准确,请使用后续提示词进一步优化,例如:

Keep the filters, return only id and status, and add ORDER BY c._ts DESC.

最佳结果来自以下提示:

  • 预期字段。
  • 精确筛选条件。
  • 排序和分页要求。

验证正确性和性能

  1. 根据容器架构确认字段名称和值类型。
  2. 验证大型容器的分区键假设。
  3. 在表、JSON 或树视图中检查查询结果。
  4. 如果迭代期间 RU 消耗量较高,则使用更窄的筛选器重新运行。

已知的限制

  • 生成的查询可能需要对复杂架构进行手动优化。
  • 架构采样和查询历史记录可能会影响后续建议。
  • 在测试类似生产的数据之前,验证 AI 助手与组织策略的使用情况。

故障排除

  • 如果生成失败,请确认已在查询编辑器中选中容器上下文。
  • 如果结果与意向不匹配,请使用显式字段和筛选器重写提示。
  • 如果查询输出为空,请进行测试 SELECT TOP 10 * FROM c 以检查可用数据。