用途:在 Azure SQL Database(兼容级别 170)内直接完成文本切分与嵌入向量生成,无需把数据搬到应用层。四个对象中 AI_GENERATE_CHUNKS 与 CREATE EXTERNAL MODEL 不走网络,AI_GENERATE_EMBEDDINGS 和它依赖的 sp_invoke_external_rest_endpoint 会发起外部调用。容器与云端均可运行。
主要能力与用法:AI_GENERATE_CHUNKS 仅需兼容级别 170,chunk_type 只支持 FIXED 关键字,chunk_size 按字符计并以空格切分,overlap 是 chunk_size 的百分比(0–50),须设 enable_chunk_set_id=1 才能用 CROSS APPLY 保留来源。CREATE DATABASE SCOPED CREDENTIAL 的名称即匹配键,必须是被调 URL 的前缀且同域、无查询串;托管标识需在 SECRET 中给 resourceid。CREATE EXTERNAL MODEL 的 MODEL_TYPE 只有 EMBEDDINGS;API_FORMAT 必填,取值为 Azure OpenAI、OpenAI、Ollama、ONNX Runtime;PARAMETERS 可设 dimensions 与 sql_rest_options.retry_count(0–10)。向量列 float32 上限 1998 维,故 text-embedding-3-large 默认 3072 维需用 dimensions 降到 1536。权限上调用者需 EXECUTE ON EXTERNAL MODEL。
限制:云端只允许白名单域名,容器不校验该规则;容器不支持托管标识与私有地址、私有证书。NULL 输入报错而非返回 NULL,返回维度必须与目标列一致。每行一次 HTTP 往返且不并行,需按批循环。并发受资源调控器限制(约 10%、上限 150)。模型与其使用的凭据需先删模型才能删凭据。CREATE EXTERNAL MODEL 与使用它的 AI_GENERATE_EMBEDDINGS 不能同批执行。官方示例中的本地 Ollama 场景不适用于容器内调用。