dataherald简介
dataherald是一个为企业级关系数据问答而构建的自然语言到SQL引擎。它允许您从数据库设置API,以纯英语回答问题。您可以使用dataherald来:
- 允许业务用户无需通过数据分析师即可从数据仓库获得洞察
- 在SaaS应用程序中启用生产数据库的问答功能
- 从专有数据创建ChatGPT插件
dataherald的主要特点包括:
- 开源项目,代码托管在GitHub上
- 基于LangChain构建,利用LangSmith进行可观察性
- 提供托管API服务
- 支持添加业务上下文,创建训练数据并针对特定模式微调LLM
- 提供UI界面用于监控性能和配置引擎
核心组件
dataherald包含4个主要组件:
- Engine: 核心的自然语言到SQL引擎
- Enterprise: 添加身份验证、组织和用户管理等业务逻辑的应用API层
- Admin-console: 提供GUI用于配置和可观察性的前端组件
- Slackbot: 允许Slack用户与dataherald交互的聊天机器人
学习资源
官方文档
- dataherald ReadTheDocs:详细的官方文档,包含安装指南、API参考等
代码仓库
- GitHub仓库:项目源代码,包含详细的README
博客文章
- How Dataherald Makes Natural Language to SQL Easy:深入介绍dataherald的工作原理
社区支持
- Discord社区:与其他开发者交流,获取支持
快速上手
-
克隆代码仓库:
git clone https://github.com/Dataherald/dataherald.git
-
设置环境变量:参考各服务目录中的
.env.example
文件创建.env
文件 -
运行服务:
sh docker-run.sh
核心概念
dataherald使用两种LangChain代理:
- RAG代理:用于没有大量样本数据的场景,依赖少量提示
- 使用LLM作为工具的高级代理:需要对每个表至少10个黄金SQL样本,通过API调用进行微调
结语
dataherald是一个强大而灵活的自然语言到SQL工具,无论您是想为内部业务用户提供自助数据访问,还是在SaaS应用中嵌入对话式数据查询功能,都可以尝试使用dataherald。通过本文提供的学习资源,您可以快速上手并深入了解这个开源项目。如果您在使用过程中遇到任何问题,欢迎加入Discord社区寻求帮助!