开源纯英语到SQL管道
不再有“人工智能公司”。现在每家公司都在做人工智能。两个很好的例子是 Snowflake 和 Uber。
这两个组织要么已经将纯英语到SQL管道的产品化,要么正在预告此类产品。
我想看看使用Hugging Face的smolagents库等开源工具构建类似的东西有多难。结果,我竟然在伦敦卢顿机场的出发大厅里构建了一个相当不错的MVP。
工具的诞生
目标很简单:让用户能够使用自然语言查询与结构化SQL数据库交互。用户无需编写复杂的SQL语句,只需用纯英语输入问题,工具就会生成并执行适当的SQL查询来检索相关数据。
该应用程序集成了多个开源组件:
- Gradio:提供一个简单直观的用户界面,用于与工具交互。
- SQLAlchemy:一个功能强大的工具包,用于处理SQL数据库交互。
- SmolAgents 和 Hugging Face Transformers:促进自然语言到SQL查询的转换。
- Pandas:确保高效的数据处理和显示。
工作原理
- 用户输入:用户输入自然语言问题。
- 查询生成:语言模型(Qwen2.5-Coder-32B-Instruct)根据预定义的数据库模式将输入转换为有效的SQL查询。
- 查询执行:使用SQLAlchemy对数据库执行生成的SQL。
- 结果显示:格式化输出并呈现给用户。
为了维护安全性,系统将查询限制为仅允许SELECT语句,从而防止对数据库进行意外修改。这些功能可以在保持相同安全态势的同时进行扩展和增强,通过本地部署专用的LLM实现。
开源的力量
可访问性与创新
开源人工智能最重要的优势之一是可访问性。专有的人工智能解决方案通常伴随着高昂的许可费用和受限的访问权限,这使得它们对许多开发者、研究人员和企业来说不切实际。开源替代方案提供了一个公平的竞争环境,允许任何人在此基础上进行创新和构建现有模型。
谁在乎你的模型能否进行8D数学运算。我需要它来编写SQL。
透明度与信任
通过开源软件,底层代码是公开可供审查的。这种透明度确保了安全性,防止了隐藏的偏见,并允许社区审查和改进现有框架。在人工智能领域,围绕偏见和公平的道德问题普遍存在,透明度对于构建值得信赖的系统至关重要。
这里没有灵丹妙药。这是人工智能101,利用公开的通用语言系统知识,为您或您的企业带来优势。
适应性与定制化
专有解决方案通常对定制和集成施加限制。开源人工智能允许开发者修改和调整模型以适应特定的用例。在我们的SQL查询接口中,能够调整和优化Hugging Face模型以生成SQL,对于提高准确性和性能至关重要。
这个项目已经启发了后续工作。
结论
这里开发的人工智能驱动的SQL查询接口是开源人工智能库力量的MVP证明。通过结合多种开源技术,我创建了一个直观且智能的工具,简化了数据库交互。
随着人工智能的不断发展,对透明度、协作和可访问性的需求只会增加。开源人工智能确保创新掌握在多数人手中,而非少数人手中,从而促进技术服务于所有人,而不仅仅是那些负担得起的人。
请在这里使用SqlAgent并提出改进或协作的建议:https://huggingface.co/spaces/ZennyKenny/sqlAgent