AI 的数据准备 — 概述

本页提供一个最小可运行的 RAG 示例,帮助你在 5 分钟内跑通"文档入库 → 向量化 → 检索"的完整链路。更完整的方案选型见 AI 的数据准备

前置条件

  • 已有云器 Lakehouse 工作空间
  • 已配置 AI Gateway(用于调用 Embedding 模型)

5 分钟跑通 RAG 最小示例

第 1 步:建表

CREATE TABLE knowledge_base ( id BIGINT, title STRING, content STRING, embedding VECTOR(1536) -- 维度与你使用的 Embedding 模型一致 );

第 2 步:写入数据并向量化

INSERT INTO knowledge_base (id, title, content, embedding) VALUES (1, '向量索引介绍', '向量索引用于存储和检索高维向量,支持近似最近邻搜索。', AI_EMBEDDING('endpoint:my_embedding', '向量索引用于存储和检索高维向量,支持近似最近邻搜索。')), (2, '全文检索介绍', '全文检索基于倒排索引,支持中英文分词和 BM25 相关性排序。', AI_EMBEDDING('endpoint:my_embedding', '全文检索基于倒排索引,支持中英文分词和 BM25 相关性排序。')), (3, 'RAG 架构说明', 'RAG 将检索和生成结合,先召回相关文档,再由 LLM 生成回答。', AI_EMBEDDING('endpoint:my_embedding', 'RAG 将检索和生成结合,先召回相关文档,再由 LLM 生成回答。'));

第 3 步:创建向量索引

CREATE VECTOR INDEX idx_embedding ON TABLE knowledge_base (embedding) PROPERTIES ("scalar.type" = "f32", "distance.function" = "cosine_distance");

第 4 步:语义检索

-- 找与用户问题最相关的 3 条文档 SELECT id, title, content, cosine_distance(embedding, AI_EMBEDDING('endpoint:my_embedding', '什么是向量检索')) AS distance FROM knowledge_base ORDER BY distance ASC LIMIT 3;

第 5 步:生成回答(RAG)

-- 将召回的文档拼接为上下文,调用 LLM 生成回答 -- endpoint:my_embedding / endpoint:my_llm 替换为你在 AI Gateway 配置的端点名 WITH context AS ( SELECT CONCAT_WS('\n', COLLECT_LIST(content)) AS ctx FROM ( SELECT content FROM knowledge_base ORDER BY cosine_distance(embedding, AI_EMBEDDING('endpoint:my_embedding', '什么是向量检索')) ASC LIMIT 3 ) ) SELECT AI_COMPLETE( 'endpoint:my_llm', CONCAT('根据以下资料回答问题:\n', ctx, '\n\n问题:什么是向量检索?') ) AS answer FROM context;

下一步

目标文档
了解向量索引的完整配置选项向量检索
加入全文检索提升召回质量混合检索最佳实践
在同一张表上做向量 + 结构化过滤多模数据检索
了解 AI_EMBEDDING、AI_COMPLETE 的完整参数AI 函数概述
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询