大数跨境
0
0

如何使用 MySQL AI 构建应用程序?

如何使用 MySQL AI 构建应用程序? 爱可生开源社区
2025-12-16
1
导读:MCP + MySQL Studio + Python SDK

作者:Nipun Agarwal,Senior Vice President MySQL HeatWave

原文:https://blogs.oracle.com/mysql/building-applications-with-mysql-ai,December 8, 2025

爱可生开源社区翻译,本文约 3800 字,预计阅读需要 12 分钟。



我们近期发布了 MySQL AI[1], 它为本地部署的 MySQL 用户提供了预测性和生成性 AI 工作流程。MySQL AI 包含内置的 LLM 和嵌入模型(可在 CPU 上运行)、向量存储、语义搜索功能、自动化机器学习以及名为 MySQL Studio 的图形化控制台。自发布以来,各行各业的客户,特别是金融、制造、电信和公共部门的客户,都对 MySQL AI 表现出了浓厚的兴趣。

本文将概述了一些用例,以及 如何开始使用 MySQL AI 开发预测性和生成性 AI 应用程序

预测性人工智能应用利用自动化机器学习来实现,例如:

  • 金融欺诈检测
  • 库存监控和需求预测
  • 贷款违约或支付风险评估
  • 流数据或日志条目中的异常检测

生成式人工智能功能支持内容生成、摘要、翻译、文档语义搜索、聊天以及 NL2SQL、RAG 或其他 GenAI 应用场景。LLM 和嵌入模型在数据库内运行,并可通过简单易用的 API 进行访问。MySQL 现在可以安全地查询本地文件系统中的文档,所有处理都在数据库和您的环境中完成——数据不会离开您的基础架构。该系统运行在您现有的基础架构上,LLM 在 CPU 上运行,因此无需与专用向量数据库集成,也无需专用硬件/GPU。

MySQL AI 的应用案例

用户可以开发和运行应用程序,访问本地文件系统和 MySQL 数据库中的文档内容。其目标是分析数据、生成有用的响应,并执行诸如预测或生成之类的任务。

数据库内的 LLM 可以帮助您:

  • 为社交媒体帖子、博客文章和电子邮件营销活动等活动生成多种语言的内容。

  • 在保留关键信息的同时,生成简洁准确的文档、报告和日志摘要。例如,拥有数百、数千甚至更多 SKU 的电商网站,每个产品都有多条评论。用户可以利用 GenAI 的功能,快速总结、翻译甚至分析评论中的情感倾向。

  • 执行检索增强生成(RAG):轻松搜索私有文档或为特定业务应用生成上下文相关的新内容。使用向量相似性搜索存储和搜索专有文档,并利用相关的业务内容增强 LLM 提示——轻松安全地完成这些操作。这些技术使企业能够构建满足各种需求的聊天机器人,例如回答有关公司政策的问题,或帮助客户选择合适的培训课程。



图 1:MySQL AI 的应用案例

除了生成或总结内容之外,试想一下,如果能够预测例如是否应该向客户提供优惠价格以鼓励他们留存并防止流失,那该有多好。预测性人工智能就能实现这一点。

借助 MySQL AI,用户可以将预测性 AI 和生成性 AI 相结合,开发真正具有创新性的应用。他们可以利用预测性 AI 的日志分析功能来识别异常模式,从而预示即将发生的故障。例如,如果连接数不断增加、内存使用量不断上升或磁盘使用量不断攀升并接近容量上限,他们就能收到预警。这比传统的监控系统有了显著改进,传统系统只有在发生问题(例如磁盘故障或磁盘已满)后才会发出警报。而 MySQL AI 的优势在于能够在故障发生之前发出警告。

GenAI 部分会利用这些机器学习结果生成有用的响应。例如,如果系统检测到磁盘空间不足或实例上的连接数快速增加,GenAI 可以根据过去遇到的类似问题及其解决方法,提出具体的应对措施。

如何使用 MySQL AI?

MySQL AI 构建于 MySQL 企业版之上,提供机器学习/GenAI 功能。所有功能均通过 SQL 函数/存储过程和 REST 接口公开,并可从所有现有的 MySQL 客户端(例如流行的 MySQL Shell 或 Python 和 Java 连接器)中使用。

我们来看两个使用 SQL 函数和存储过程的例子。第一个例子概述了对文档执行 RAG 操作的步骤和命令。第二个例子展示了如何使用预测分析功能进行欺诈检测。

示例 1:文档检索增强生成

RAG 流程包括三个步骤:(i)将文档上传到 MySQL 可访问的文件系统位置,(ii)将文档导入向量存储,以及(iii)查询文档。

步骤 1:使用复制命令(例如 Ctrl+C)将文件复制到合适的位置,例如 /var/lib/mysql-files 文件夹。

sudo cp /home/john_doe/Olympics_2024.pdf /var/lib/mysql-files

步骤 2:将文档导入向量存储库,即提取片段并将它们及其嵌入向量和一些元数据一起存储,使用加载命令。

CALL sys.VECTOR_STORE_LOAD('file:///var/lib/mysql-files/2024_Summer_Olympics_Wikipedia.pdf', JSON_OBJECT("schema_name","mlcorpus","table_name","vector_store_data_1"))""");

上述命令将嵌入、分割和元数据加载并存储在 mlcorpus.vector_store_data_1 表(又称向量存储)中,以便在后续语义搜索中使用。

步骤 3:使用 ML_RAG 存储过程以自然语言查询文档。

CALL sys.ML_RAG("Where were the 2024 Summer Olympics held?", @output,  JSON_OBJECT("model_options",JSON_OBJECT("model_id","llama3.2-3b-instruct-v1"),"vector_store", JSON_ARRAY("mlcorpus.vector_store_data_1")));

SELECT JSON_PRETTY(@output);

// 这将输出答案:2024 年夏季奥运会在法国举行。
'The 2024 Summer Olympics were held in France.'

此 RAG 操作使最终用户能够访问知识库。了解更多该 示例信息[2]

示例 2:信用卡欺诈检测

信用卡欺诈对金融机构和个人都构成重大威胁,造成巨大的经济损失并损害信任。传统的基于规则的系统往往难以跟上欺诈者不断变化的策略,因此,基于机器学习的异常检测成为至关重要的工具。

以下示例基于一个公开数据集 ,Github 上有一个示例 notebook[3], 详细解释了所有步骤。

该示例使用 AutoML 管道的无监督异常检测功能,并依靠交易数据中固有的模式和结构来识别与正常情况的偏差。

步骤 1:使用 ML_TRAIN API 训练模型。由于这是无监督异常检测,我们将目标列名设置为 NULL,AutoML 将通过学习数据中固有的模式来构建模型。

SET @model = NULL;
CALL sys.ML_TRAIN('mlcorpus.creditcard_train'NULL, JSON_OBJECT('task''anomaly_detection''exclude_column_list', JSON_ARRAY('Class')), @model);

训练结束后生成的模型句柄存储在模型变量中。我们将使用此句柄在后续交互中引用该模型。

步骤 2:调用 ML_PREDICT_TABLE API,对上述模型在测试数据上生成预测结果。输出表包含一个额外的列,其中包含预测结果。

CALL sys.ML_PREDICT_TABLE('mlcorpus.creditcard_test''{model}''mlcorpus.creditcard_test_predictions'NULL);

SELECT Time, Amount, ml_results FROM creditcard_test_predictions;

Time     Amount  ml_results
74165.0   1.98   "predictions": {"is_anomaly": 0}, "probabilit...
94428.0   0.75   "predictions": {"is_anomaly": 0}, "probabilit...
63603.0   77.50   "predictions": {"is_anomaly": 0}, "probabilit...
131607.0  1.00   "predictions": {"is_anomaly": 0}, "probabilit...

开发应用程序

MySQL AI 为开发人员引入了新的工具,用于构建丰富的 AI/ML 应用程序,并将应用程序部署在本地或云端。

  1. 支持智能体人工智能的 MCP(模型上下文协议)服务器。
  2. MySQL Studio,这是一个全新的图形界面,为数据库管理和应用程序开发提供了一个直观、集成的环境。
  3. Python SDK。

支持诸如模型上下文协议之类的代理框架

模型上下文协议 (MCP) 是一种开放标准,可实现由大型语言模型驱动的应用程序与外部数据源或工具之间的无缝集成。MySQL MCP 服务器提供了一系列专用工具,可帮助您充分利用 MySQL HeatWave 和 MySQL AI 的全部功能。

用户应用程序(例如聊天机器人和集成开发环境)运行 MCP 客户端,这些客户端直接连接到 MCP 服务器。客户端内部的 LLM 充当协调器或决策者的角色。客户端通过标准的 MCP 接口与 MCP 服务器通信,并访问来自各种 MCP 工具的原始数据和处理后的信息(例如 RAG 的响应)。这些信息随后被反馈给客户端以获取上下文信息,客户端对其进行分析并决定下一步行动方案,旨在解决业务问题。

MCP 客户端服务器模型简化了 MySQL AI 在应用程序中的集成。它支持智能体数据驱动的应用程序开发、分析工作流和基础设施管理,从而促进 AI 驱动的数据管理。

MySQL AI 还提供了一系列内置工具,用于数据库连接管理和查询、预测性和生成性 AI 任务,以及向量存储的导入和使用。开发人员可以扩展这些工具,或为其应用程序添加新工具。以下列出部分工具:

类别
工具
描述
数据库连接管理

从 JSON/环境变量加载连接配置
从 JSON 文件或环境变量导入数据库配置
列出所有已配置的数据库连接
显示所有可用/预配置的数据库连接
验证连接并解决提供商模式
测试数据库连接并确定数据库提供程序模式
数据库操作
执行 SQL 查询
对连接的数据库运行 SQL 语句
GenAI 运营
使用 HeatWave GenAI 进行文本生成
使用 GenAI 生成或增强文本
向量存储摄取
创建/填充用于嵌入的向量列
在数据库列中生成并保存向量表示
从向量存储中检索增强生成
使用向量存储来提高 GenAI 结果
将对象存储中的文档加载到向量存储中
从对象存储中提取文件/对象以填充向量数据库

MySQL Studio

MySQL Studio 是一个全新的统一图形界面,旨在使数据库管理和 AI 集成变得简单高效,无论您是数据专业人士还是刚刚入门。

它包含一个 SQL 工作坊、一个用于查询存储在向量存储中的文档和 MySQL 数据库中数据的聊天界面,以及一个用于开发机器学习和生成式人工智能应用程序的交互式笔记本。这些笔记本与 Jupyter 兼容,允许开发人员导入现有笔记本以用于 MySQL AI 和 MySQL HeatWave,或共享和协作开发机器学习和生成式人工智能项目。

借助 SQL Workshop,您可以在直观的编辑器中编写、测试和运行 SQL 语句,从而简化您的工作流程。AI Chat 功能提供了一种对话式的方式来利用 MySQL AI 内置的高级 AI 功能,帮助您直接在 MySQL Studio 中使用这些功能。此外,通过集成的 Python 笔记本,您可以在一个无缝的环境中,使用 Python 和小部件探索数据、构建自定义应用程序并解锁强大的交互式功能。

图 2:AI 聊天——查询文件系统上的文档
图 2:AI 聊天——查询文件系统上的文档
图 3:交互式 Python 笔记本
图 3:交互式 Python 笔记本

Python SDK

Python SDK 通过简化数据摄取、自动化表生命周期管理以及提供与领先的 GenAI 和机器学习库互操作的组件,弥合了 MySQL AI 或 HeatWave 的集成差距。

对于生成式人工智能,该 SDK 提供了三个基于 MySQL 人工智能的 LangChain 组件:

  • MyLLM (生成模型)
  • MyEmbeddings (嵌入模型)
  • MyVectorStore (向量/文档存储)

这些功能可以集成到现有的 LangChain 管道中,也可以用于构建新的管道。

对于预测性 AI,SDK 引入了 MyModel ,它通过与 Scikit-Learn 兼容的组件提供对 MySQL AI 的 AutoML 的直接访问:

  • MyClassifier
  • MyAnomalyDetector
  • MyRegressor
  • MyGenericTransformer

这种灵活性使开发人员能够轻松地将 MySQL AI 集成到机器学习工作流程中。

核心应用场景包括:

  • 使用熟悉的 Python 和 Scikit-Learn 范式构建专用机器学习管道(例如,欺诈检测)
  • 检索增强生成(RAG)
  • LLM 应用与工具调用

凭借清晰、可组合的 API,该 SDK 可加快开发速度,并支持在新应用和现有应用中高级使用 MySQL HeatWave。

Key Benefits:  主要优势:

  • 将 MySQL HeatWave GenAI 和 ML 功能无缝集成到 Python 项目中
  • 自动化处理数据转换、导入和表生命周期任务,以最大限度地减少人工操作
  • 与 LangChain 和 Scikit-Learn 生态系统完全互操作

自然语言到 SQL

MySQL AI 允许用户使用自然语言查询数据库,使任何人 —— 无论是否具备技术背景 —— 都能轻松提取信息并获得洞见。这不仅能提高工作效率,还能帮助您从数据中挖掘有价值的信息。

当您使用自然语言提问时,系统会自动收集数据库结构中相关的部分,例如表名、列名及其关系。这些针对性信息会随您的问题一起发送给人工智能模型,使其更好地理解您的意图,并生成针对您数据的精准 SQL 查询。

在运行任何查询之前,系统会检查生成的 SQL 语句的准确性和一致性,并使用自动验证来减少错误。只有经过验证的查询才会执行,因此您可以获得可靠的结果,从而解答您最初的问题。

通过这种简化的多步骤流程,数据探索对所有用户来说都变得简单、直观且值得信赖 —— 无需具备 SQL 专业知识

概括

MySQL AI 提供集成、自动化且安全的机器学习 (ML) 和生成式人工智能 (AI) 功能。AutoML 简化了 ML 流程,帮助您构建、训练和解释 ML 模型,无需数据移动或额外成本。数据库内 LLM、内置向量存储和嵌入模型支持 GenAI、语义搜索和检索增强生成 (RAG),从而降低基础设施成本,且无需数据移动。

完全兼容的功能和 API 提供了在本地进行原型设计并迁移到云端的选项,从而享受完全托管服务、更高可扩展性和更好的性价比. 各个行业的客户正在使用 MySQL AI 构建和部署应用程序,我们鼓励您也尝试自己构建应用程序。

立即从 Oracle E-Delivery 获取试用版下载[4]

参考资料
[1] 

MySQL AI: https://blogs.oracle.com/mysql/announcing-mysql-ai

[2] 

示例1: https://github.com/oracle-samples/heatwave-ml/blob/main/python/mysqlai/rag_chat.ipynb

[3] 

示例2: https://github.com/oracle-samples/heatwave-ml/blob/main/python/mysqlai/fraud_detection_creditcard.ipynb

[4] 

Oracle E-Delivery 试用版: https://edelivery.oracle.com/




本文关键字:#MySQL #Vector #AI #翻译




《技术译文系列》

数据库只追求性能是不够的!
没有好的数据,人工智能就毫无用处
MySQL 和 MariaDB 版本管理的历史背景及差异
AI 如何与我的数据库对话?MySQL 和 Gemini
向量注入?AI 时代数据库新威胁:风险、数据库防护与最佳实践


✨ Github:https://github.com/actiontech/sqle

📚 文档:https://actiontech.github.io/sqle-docs/

💻 官网:https://opensource.actionsky.com/sqle/

👥 微信群:请添加小助手加入 ActionOpenSource

🔗 商业支持:https://www.actionsky.com/sqle


【声明】内容源于网络
0
0
爱可生开源社区
爱可生开源社区,提供稳定的MySQL企业级开源工具及服务,每年1024开源一款优良组件,并持续运营维护。
内容 1953
粉丝 0
爱可生开源社区 爱可生开源社区,提供稳定的MySQL企业级开源工具及服务,每年1024开源一款优良组件,并持续运营维护。
总阅读1.9k
粉丝0
内容2.0k