利用 MindsDB 构建智能知识平台
🤖 代理中心
处理结构化数据(例如 CSV 或 JSON)通常意味着需要编写查询、管理模式和构建管道,才能回答一些简单的问题。如果想要让这些数据具有交互性,例如提出自然语言问题或基于数据构建 AI 代理,事情就会迅速变得复杂。通常,你需要编写代码、理解向量存储、管理嵌入以及将各种工具整合在一起。
这就是我遇到的问题。
我想要一种简单的方法来:
- 上传结构化数据
- 用自然语言将其转换为可查询的内容
- 构建一个能够讨论这些数据的AI代理
解决方案:MindsDB

这就是 MindsDB 的用武之地。
MindsDB 最近新增了对知识库 (KB) 的支持。现在,您可以将结构化数据导入知识库,使用嵌入模型(云端或本地),并在其基础上构建多步骤工作流或 AI 代理,而无需编写代码。
这个版本一发布就让我眼前一亮。我之前就用过 MindsDB 的 AI Table 功能开发过一个测验应用。它支持与学习逻辑模型 (LLM) 互动,所以我对这个平台很熟悉,也很信任它的方法。
有了知识库和智能体集成,我不再需要编写整个流程的代码。我只需在 MindsDB 图形用户界面中编写几个 SQL 查询语句,瞧——一个 AI 智能体就准备就绪了。
MindsDB哲学
我尤其欣赏 MindsDB 对数据和智能的思考方式。他们的理念是:
- 连接:连接来自数百个数据源的数据
- 统一:将 MindsDB 中来自多个(结构化和非结构化)数据源的数据统一起来,从而实现联合查询,就好像所有数据都位于单个数据库中一样。
- 响应:使用代理从统一数据中提供智能的、上下文感知的响应
深入了解 MindsDB 👉 MindsDB 文档
作为一名 Python 和 SQL 程序员,我觉得这款产品兼具实用性和强大功能。
关于 Agent Hub
Agent Hub 可处理结构化数据:CSV 和 JSON、知识库和 AI 代理。
特征:
- 用户可以上传结构化数据。
- 用户可以使用任何 OpenAI 兼容的 API 嵌入模型(云端/本地)或 Ollama 模型创建知识库并将数据导入其中。
- 用户可以查询/汇总知识库,并根据测试数据对其进行评估。
- 用户可以添加作业,将数据源中的数据导入知识库。
- 用户可以创建人工智能代理并与之聊天。
对于结构化数据,我需要一个数据库。我发现 MindsDB 有一个files数据库,非常适合存储用户上传的数据文件。
然后我创建了一个迷你版的MindsDB 包,其中包含了所有 MindsDB 逻辑,并使用 MindsDB Python SDK 和 SQL 查询来完成所有操作:
- 为每个用户创建一个项目
- 在文件名前加上用户名前缀
- 创建知识库
- 将数据摄取到知识库中
- 删除 KB
- 使用 AI 表查询和汇总知识库。
- 评估知识库
- 设置数据摄取作业
- 创建和使用人工智能代理
然后我用 Flask 写了一个简单的应用,它使用 SQLite 数据库和 SQLAlchemy 作为 ORM。我用了 HTML Jinja2 模板。没错,没有用前端框架。Python
真棒!
Agent Hub 是一个人工智能协作平台,旨在将您的数据转化为智能人工智能代理。
🤖 代理中心
笔记
Agent Hub 是一个人工智能协作平台,旨在将您的数据转化为智能 AI 代理。借助 Agent Hub,您可以创建定制化的 AI 代理、构建全面的知识库并无缝管理数据文件,从而轻松获取强大的洞察力并实现任务自动化。
🎬 项目展示
| 演示视频 |
博客文章 |
 |
 |
🌟 特点
代理中心功能介绍:
- AI 代理– 创建和管理根据您的特定需求量身定制的 AI 代理,以实现智能响应。
- 知识库– 从您的数据中构建全面的知识库,以实现高效的查询和洞察。
- 文件管理– 上传和整理您的文件,以便与人工智能流程无缝集成。
💻 安装
请按照以下步骤设置并运行代理中心:
-
使用 Docker 设置 MindsDB 和 Ollama(已提供 docker-compose.yml 文件):
docker-compose up -d
-
在 Ollama 容器中安装 nomic-embed-text:
docker exec ollama ollama pull nomic-embed-text
-
在 MindsDB 中创建知识库摘要模型并连接 Pgvector …
挑战
-
在使用 Ollama 的嵌入模型对知识库执行操作时,我遇到了 MindsDB 的一个问题。第一次尝试时会抛出“事件循环已关闭”错误。奇怪的是,第二次重复相同的操作却能正常工作。因此,我在应用程序中使用一个简单的try-catch重试机制解决了这个问题。
-
前端方面,我基本上是按照 Jinja2 模板的风格来写的。不过,这个想法是我的😜
构建这个系统相当容易,因为所有繁重的工作都由 MindsDB 完成。
我只需要从 Flask 后端触发正确的查询即可。
用例
- 上传结构化数据,例如日志、报告或导出文件
- 使用自然语言查询或汇总数据
- 创建基于您的数据训练的智能代理
最后想说的话
这只是一个最小可行产品(MVP),但它开启了很多可能性。
目前,MindsDB 支持 CSV 和 JSON 等结构化数据,但可以轻松扩展以处理其他格式,例如网页、PDF 或 Word 文档。MindsDB 的 Connect 层还可以轻松导入来自外部数据库和 API 的数据,因此其扩展和集成潜力是内置的。
我构建的只是一个起点:一种将原始结构化数据转化为智能信息的方法。它简单却功能强大。而且,由于 MindsDB 承担了繁重的处理工作,它的构建也出奇地容易。
如果您觉得这篇文章有用,请与您的朋友和社区分享,让更多人了解这篇文章。
关注我,获取更多类似内容!
Twitter | GitHub | YouTube

文章来源:https://dev.to/k0msenapati/building-a-smart-knowledge-platform-with-mindsdb-5anb