Cube Cloud AI API 实用指南:用自然语言快速查询多维数据集

作者:API传播员 · 2025-10-17 · 阅读时间:4分钟

Cube的AI(Claude模型或BYO-LLM的集成,快速开发自然语言功能。以下是关于如何使用Cube AI API实用指南


为什么选择语义层?

语义层是实现LLM(大语言模型)可靠访问数据的基础。通过Cube最新发布的AI API,用户可以将Cube的通用语义层与AI结合使用。这一API通过REST接口请求用户所需数据,而不是直接生成原始SQL。

语义层作为LLM和数据之间的中间件,能够有效减少生成原始SQL时可能出现的错误或幻觉。它为LLM提供了上下文,并限制了其回答问题的范围。语义层中的对象(如实体、维度和度量)相当于语言中的名词、形容词和定量描述,LLM可以基于这些定义回答问题,而无需依赖其训练时的全部知识。

此外,语义层还充当了一个为查询数据设计的特殊知识图。Cube的语义层通过受约束的API输入,减少了技术性错误的可能性。最终,Cube会将这些请求编译为高效的原始SQL,利用其强大的编译器完成连接、聚合和过滤操作。


为生成式AI准备多维数据集数据模型

在使用Cube AI API时,现有的Cube Cloud视图可以直接使用,但可能需要进行一些调整。以下是为生成式AI优化数据模型的最佳实践:

  1. 使用清晰、标准的名称

    确保字段名称通俗易懂。例如,将“客户”命名为“Customer”,而不是使用内部缩写如“CustAcctNm”。

  2. 添加详细描述

    为每个字段提供清晰的描述。如果需要,可以通过元标签添加更多细节供AI API使用,例如字段的同义词、缩写或特定值的含义。

  3. 确保成员名称唯一

    对于类似类型的字段(如时间戳),明确其用途。例如,“order_timestamp”表示订单发出时间,而“shipped_timestamp”表示订单发货时间。

通过这些调整,即使是外部数据工程师也能快速理解数据模型,从而确保其适用于AI API。


使用Postman测试AI API

完成视图构建并启用AI API后,您可以使用Postman等工具测试API请求。以下是具体操作步骤:

  1. 打开Postman,点击左上角的“导入”按钮或按下Command+O

  2. 粘贴以下示例请求并按回车键:

    -H "内容类型:应用程序/json" \
    -H "授权:Bearer EXAMPLE-API-TOKEN" \
    --数据 '{
       "消息": [
           {
               "角色": "用户",
               "内容": "我们在哪些城市的销售额最高?"
           }
       ]
    }' \
    https://YOUR_CUBE_API/cubejs-api/v1/ai/query/completions
  3. YOUR_CUBE_API替换为您的Cube Cloud API地址,并将EXAMPLE-API-TOKEN替换为有效的JWT令牌

  4. 修改请求正文中的问题,使其与您的数据集和视图相关。

  5. 点击“运行”按钮,查看响应结果。

响应中将返回由AI生成的多维数据集查询。您可以将该查询复制到Cube的REST API加载端点中运行,也可以在请求主体中添加"runQuery": true以直接运行查询。

例如,您可以询问“销售额最高的城市”。API会返回一个按城市分列的总金额查询结果,并按降序排列前10位。运行查询后,您可以看到具体的销售数据。


总结

Cube Cloud的AI 聊天机器人,Cube AI API都能帮助您快速实现目标,节省时间和成本。

原文链接: https://cube.dev/blog/a-practical-guide-to-getting-started-with-cubes-ai-api