本文字数:3141;估计阅读时间:8 分钟
作者:Dmitry Pavlov
本文在公众号【ClickHouselnc】首发
AgentHouse 简介
在 Anthropic 于 2024 年发布 MCP 协议几周后,ClickHouse 集成团队展示了一个小型内部演示,演示了 Anthropic 的 Sonnet 模型如何访问 ClickHouse 数据库。那只是一个非常基础的集成,简单地对随机数据运行查询,并将结果返回给大语言模型(LLM)。
作为 ClickHouse 的内部数据仓库(DWH)团队负责人,当我看到这个演示时,我立刻希望能在自己的数据仓库中应用这项能力。我希望我们内部的销售、运营、产品、财务和工程团队,能够直接与数据对话,而不是依赖传统的 BI 工具或手动运行查询。
两个月后,我们推出了 Dwaine(Data Warehouse AI Natural Expert)——一个内部使用的大语言模型(LLM),帮助团队成员基于数据快速解答各种问题。比如:“我们的收入是多少?”“这个客户在做什么?”“客户目前遇到了哪些问题?”“我们网站的访客数量是多少?转化率又是多少?”Dwaine 极大地提升了内部用户获取洞察的效率。你可能在 LinkedIn 上看到过我分享的那篇小文章。
在我分享这段经历后,很多人联系我,希望能够看到演示。我曾向一些朋友和合作伙伴展示过 Dwaine,尽管他们非常兴奋,但由于无法亲自与 Dwaine 交互(因为系统处理的是保密数据),他们很难真正体验到它的全部潜力。
于是,我们开发了 AgentHouse,并在 llm.clickhouse.com 上对外开放。不过,接下来的内容,就让 AgentHouse 自己来介绍自己吧 :) 以下内容由 AgentHouse 大语言模型生成。
你好,我是 AgentHouse!
我是一个完全交互式的演示环境,展示了 ClickHouse 实时分析能力与大语言模型(LLM)强大结合的魅力。我的名字由“Agent”(代表 LLM 智能体)和“House”(取自 ClickHouse)组合而成,寓意这两项技术的无缝协作。和其他演示环境(ClickHouse SQL Playground 和 ADSB visualizer)一样,我可以让你在不同的真实场景下体验 ClickHouse Cloud 数据库,无需注册账号或上传任何数据。
我的核心组件包括:
-
Anthropic 的大语言模型 Claude Sonnet——这款 LLM 尤其擅长理解复杂上下文与推理结构化数据,是 ClickHouse 出色分析能力的理想搭档。它能够理解数据库结构、生成精准的 SQL 查询,并准确解读查询结果,充分展现了 ClickHouse 与先进大语言模型的天然契合。
-
LibreChat UI 项目——一个开源的大语言模型用户界面项目,开箱即用,方便与各类流行 LLM 交互。我们选择 LibreChat,正是因为它的开源特性、简洁设计和日益壮大的社区支持。同时,感谢 LibreChat 团队在构建本演示环境过程中提供的支持。
-
我的“秘密武器”是 ClickHouse 团队开发的 ClickHouse MCP(Model Context Protocol)服务器。它作为连接 ClickHouse 数据库与大语言模型的桥梁,带来了以下能力:
-
在 ClickHouse 与大语言模型之间高效传输数据
-
针对大语言模型生成的 SQL 查询进行智能优化
-
支持围绕数据的有状态对话中的上下文管理
-
提供数据库资源的安全、受控访问
-
流畅处理各类公共数据集
-
-
ClickHouse Cloud 数据库——一项由 ClickHouse 提供的、完全托管的云服务,以软件即服务(SaaS)的方式交付 ClickHouse 数据库。
为什么选择 Sonnet 和 LibreChat?
Anthropic 的 Sonnet 模型在大语言模型(LLM)领域实现了重要突破,特别擅长理解复杂的上下文并推理结构化数据,使其成为 ClickHouse 强大分析能力的理想搭档。Sonnet 能够理解数据库结构,生成精准的 SQL 查询,并准确解读查询结果,这些能力充分说明了为什么 ClickHouse 与先进的大语言模型能够天然契合。
我选择 LibreChat 作为用户界面,是因为它具备开源特性、设计简洁,并拥有不断壮大的社区支持。通过这个界面,用户可以就数据进行自然流畅的对话,还可以轻松创建图表、表格等可视化内容,使复杂的分析任务即使对于不熟悉 SQL 的用户也变得易于操作。
我的使命
我被专门设计为一个测试平台,帮助用户深入了解 ClickHouse 如何通过 MCP(Model Context Protocol)服务器,成为构建 LLM 应用的理想后端。我可以访问多个公共数据集,涵盖各种不同的应用场景,你可以通过简单的对话界面探索这些可能性。目前,我拥有 37 个不同的数据集,包括:
-
github:包含 GitHub 的活动数据、仓库和用户交互记录,按小时更新。
-
pypi:记录每次通过 pip 下载 Python 包的操作,每天更新,总数据量超过 1.3 万亿行。
-
rubygems:记录每个已安装 gem 包的信息,按小时更新,总量超过 1800 亿行。
-
hackernews:包含 Hacker News 上的帖子和评论。
-
imdb:收录来自 IMDB 的电影数据库信息。
-
nyc_taxi:记录纽约市出租车行程数据。
-
opensky:收集 OpenSky Network 的航空数据。
-
reddit:包含 Reddit 上的帖子和评论。
-
stackoverflow:收录 Stack Overflow 的问题与回答。
-
uk:整合了英国房地产交易记录及相关地理信息。
以及其他数据集。
我的主要功能
-
测试自然语言查询:看看普通英文问题如何通过 MCP 服务器,转化为针对 ClickHouse 优化的 SQL 查询
-
体验实时分析:亲身感受 MCP 服务器如何将 ClickHouse 著名的高速性能与 AI 驱动的洞察无缝结合,实现极低延迟的数据体验
-
尝试交互式数据探索:通过 MCP 与大语言模型(LLM)连接驱动的对话界面,轻松探索演示数据集
-
查看自动生成的可视化图表:直观了解通过 MCP 服务器处理的数据是如何自动转化为可视化结果的
体验演示环境
要开始使用 AgentHouse,只需访问 llm.clickhouse.com,使用你的 Google 账户登录演示环境,随后便可以开始提问了。
你可以从一个简单的问题入手,比如:“你有哪些数据集?”这样可以获取数据库列表,并开始探索每个数据集的内容。
期待为你解答所有问题!
征稿启示
面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com