DeepSeek横空出世,以较低的成本提供了行业领先的模型能力,震撼了全球AI市场。凭借强大的推理能力和宽松的开源可商用条件,DeepSeek迅速成为开发者和企业用户的热门选择。
然而,部署一个高性能的推理模型往往涉及繁琐的配置和优化,需要 Python 编码、容器、推理框架、机器学习等专业知识,这让不少人望而却步。
别担心!今天,我们就来介绍如何在Oracle Database 23ai上轻松使用DeepSeek模型,体验推理模型的“Aha moment”。
AI 数据流简介
在Oracle Database 23ai中,基于APEX低代码开发构建的AI数据流,无需移动你的数据,以AI为中心,Bring AI to your Data,在数据库内即可实现文档加载、切片、向量化处理、向量数据存储、向量检索等功能,实现以AI中为心的基础架构,简化AI应用的开发。
主要优势
Bring AI to Your Data:现有业务数据和AI的数据存储在不同的数据库中,造成数据同步的时效性问题和安全风险,数据库内置AI 数据流可以原地对企业结构化和非结构化数据进行向量处理,无需额外引入新的架构和技术,实现AI基础架构就绪,从而在应用开发中实现AI Design-In。
确保安全性和可用性:Oracle通过将AI数据流内置到企业数据库中,可以利用Oracle数据库企业版现有的高可用性架构、高安全性架构,简化数据管理,确保AI应用安全性。
AI融合查询:数据库内置AI能力,极大降低了AI的使用门槛。让现有业务数据和AI数据融合,实现AI向量查询和业务数据精确查询的关联,大大提升了AI查询的精度。
简单来说,它的核心目标就是:用最少的步骤,高效使用AI 模型,让开发者更专注于模型应用,而非环境配置。
AI 数据流Step-by-Step
基于APEX低代码构建的AI数据流,分别是:“模型导入”、“文档加载”、“文本切片”,“向量化”和“向量检索”,无需额外操作和技术,全部在数据库内部实现,不需要将数据移出数据库给第三方AI服务商或者接口,确保数据安全。
AI数据流第一步:加载AI模型到数据库内,23ai 允许 ONNX 标准的支持,将预训练好的转向量Embedding 模型直接加载到数据库中。
AI数据流第二步:加载文档,将企业内部文档比如规章制度、产品说明书等存储为PDF、DOC、JSON、XML、HTML等非结构化文档数据中提取文本,使用UTL_TO_TEXT函数包转换为文本数据。
AI数据流第三步:文本切片,即将第二步加载的文档中的文本语料拆分为文本块:使用UTL_TO_CHUNKS函数,将大型纯文本文档拆分为较小的文本块,可根据实时应用调整。块可以是单词、句子或段落。单个文档可以拆分为多个块,每个块都转换为一个向量。
BY : 指定拆分数据的模式,即通过计算字符、单词或词汇标记的数量来拆分
MAX : 指定每个块的最大大小限制
SPLIT : 指定当输入文本达到最大大小限制时在何处拆分
OVERLAP : 指定该区块应包含的前面文本的数量
LANGUAGE : 指定输入数据的语言
NORMALIZE : 自动预处理或后处理文档转换为文本时可能出现的问题
AI数据流第四步:向量化,这一步将文本数据转换为数值向量的过程。使用嵌入模型对上一步切片的小块生成向量数据,并存储在向量数据库中。
AI数据流第五步:向量检索,在向量知识库中寻找答案的步骤:
用同样的嵌入模型对问题进行向量化:将问题转化为向量表示。
向量查询:选择希望检索的向量数量,最接近的前 TopK 向量和Vector Distance,这决定了用于回答问题的上下文范围。
查找和问题向量最相似的上下文向量。
将返回的向量嵌入对应的文本块:将返回可读的上下文内容。
开启DeepSeek之旅!
当涉及到高效利用大模型处理复杂的信息查询与内容生成任务时,在数据库内直接调用诸如 DeepSeek、Cohere 等前沿大语言模型 API。这一操作不仅能够充分发挥大语言模型强大的自然语言处理能力,还能巧妙地结合向量知识库中的查询结果,从而精准地生成相应回答。
向量知识库作为一种存储和管理高维向量数据的工具,其优势在于能够快速检索和匹配与输入查询相关的信息。当用户提出问题后,系统首先在向量知识库中进行查询,找到与之最为匹配的向量数据。这些数据包含了丰富的文本信息、语义特征等。紧接着,数据库便会调用 DeepSeek、Cohere 等大语言模型 API。通过将向量知识库的查询结果作为输入之一,大语言模型能够基于此生成更加贴合用户需求、内容丰富且准确的回答。
在实际操作过程中,通过 DBMS_VECTOR_CHAIN.UTL_TO_GENERATE_TEXT 函数来便捷地访问 AI 模型。确保能够顺利地将用户给定的提示或图像准确无误地传递给 AI 模型,并接收模型返回的文本响应。例如,当用户提供一段简短描述作为提示时,该函数会将此提示连同相关的配置信息一同发送给选定的大语言模型,模型经过分析与处理后,生成详细的的文本内容,最终呈现给用户。
其他可配置选项包括:
定义AI的访问端点
调用 UTL_TO_GENERATE 函数,在数据库内访问AI模型
推理 API 格式等
体验推理模型
在 “AI Chat” 步骤页选择已部署的 DeepSeek,可直接在界面上进行模型测试。
DeepSeek AI 生成的步骤:
在向量知识库中查找和问题向量最相似的上下文向量。
将返回的向量查询结果,提供给DeepSeek 模型进行AI回答。
已为部署的模型构建了 HTTPS 端点,可通过调用 https://xxx.xxx.com/v1/chat/completions 在生产环境下集成至客户自己的应用。
避坑指南
1. APEX无法直接访问HTTP端点?
通过API Gateway服务创建HTTPS端点。
2. 504 Gateway Timeout 怎么办?
API Gateway服务里调整Timeout 设置。
3. 部署DeepSeek模型后,如何连接?
DeepSeek兼容OpenAI的API格式,因此可以使用openai-api-compatible的形式访问。
结语
在Oracle Database 23ai 以AI为中心的开发架构中,构建基于APEX 低代码的 AI 数据流,这使得引入和应用AI能力变得更加简单。同时,该数据平台具备了AI就绪的特性,可以轻松地接入DeepSeek等各种LLM模型,实现AI的应用设计,赋予应用更强大的智能。
编辑:小炒肉