概述
Tableau 的 VizQL 数据服务(VDS)为开发者提供了对已发布 Tableau 数据源的编程访问,允许他们将业务语义扩展到任何自定义工作负载或应用,包括 AI 智能体。simple_datasource_qa 工具将 VDS 集成到 LangChain 框架中。本文档展示如何使用它来构建能够基于企业语义模型回答分析性问题的智能体。
关注 tableau-langchain 项目,更多工具即将推出!
设置
请确保您正在运行并可以访问:- Python 3.12.2 或更高版本
- 至少有 1 个已发布数据源的 Tableau Cloud 或 Server 环境
凭据
您可以显式声明环境变量,如本文档多处所示。但是,如果未提供这些参数,simple_datasource_qa 工具将尝试自动从环境变量中读取。
对于您选择查询的数据源,请确保在 Tableau 中更新了 VizqlDataApiAccess 权限,以允许 VDS API 通过 REST 访问该数据源。更多信息请参阅此处。
身份验证变量
您可以显式声明环境变量,如本文档多处所示。但是,如果未提供这些参数,simple_datasource_qa 工具将尝试自动从环境变量中读取。
对于您选择的数据源,请确保在 Tableau 中更新了 VizqlDataApiAccess 权限,以允许 VDS API 通过 REST 访问该数据源。更多信息请参阅此处。
实例化
initialize_simple_datasource_qa 初始化名为 simple_datasource_qa 的 LangGraph 工具,可用于对 Tableau 数据源进行分析性问答。
该初始化函数将:
- 使用 Tableau 的 connected-app 框架进行基于 JWT 的身份验证。所有必需变量必须在运行时或作为环境变量定义。
- 异步查询
datasource_luid变量指定目标数据源的字段元数据。 - 基于目标数据源的元数据,将自然语言问题转换为 VDS 查询数据源请求所需的 JSON 格式查询负载。
- 向 VDS 发送 POST 请求。
- 格式化并以结构化响应返回结果。
调用 - LangGraph 示例
首先,我们初始化所选的 LLM。然后,使用 LangGraph 智能体构造类定义智能体,并使用与目标数据源相关的查询调用它。将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时解答。

