展开本页目录
开始前准备什么
- 自己的 apizt Key,具备目标 Embedding 型号权限,不能用 Chat 型号代替。
- Python 3 或自己的服务端应用,首次使用虚构短文本。
- 如果接已有向量库,先记录模型、维度、距离规则和分块版本。
- 核对向量型号
- 发送短文本
- 按 index 对齐
- 检查向量维度
- 重放中文检索
2026-10-23 核验材料;实际执行范围、结果与限制见下方记录。
补充:原有练习资料与下载
3 条虚构商店规则与 3 个有答案查询,来源 ID 固定。
六段批量输入、准确型号与 float 编码;不含 Key。
原始响应的六个 1536 维数组和 usage,可离线重放。
检查 index、有限值、维度、余弦与固定来源,不调用 API。
重放命令、迁移清单、实际验证边界与费用字段。
先验向量,再验检索;历史实测与今日重放分开
今天重放原2026-10-08保存的真实网关响应,本机all-minilm模型下载未就绪,不把下载占位文件当作新推理结果。
· 既有真实apizt响应的今日离线重放;没有今日Embedding推理。
已取得下列真实结果;仍有内容质量或功能范围需要按本页检查项复核。
- 运行环境
- node v24.14.0;ollama 0.40.9;openai 7.43.0;ai 7.0.130;@ai-sdk/openai-compatible 3.0.65
1. 保留原始请求与响应
练习包保留原日期的六段中文输入、1536维向量与检查器。今天重放不产生新网关调用。
bashpython3 replay-historical.py embedding historical-request.json historical-response.json historical-fixture.json2. 确认历史响应与输入对应
检查input顺序、data[].index和六个向量;本次不更换模型、不调用Embedding端点。
3. 重算维度与相似度
检查1536维、有限值、输入索引,再用原三条问题逐一重算余弦排名。
4. 保留今日推理未完成的边界
all-minilm下载未就绪;模型文件预分配不代表可加载。今日没有本地或网关Embedding生成结果。
5. 把失败与费用未知也保留下来
下载结果含真实排名和执行范围;不把三个练习命中称为通用准确率,不以显示零金额证明免费。
这次实际得到什么
- 历史网关响应重放:exit 0,6个×1536维,三个命中=True
- 今日本地模型结果:{"state": "未就绪"}
使用这份结果时注意
- 本批获授权使用既有测试Key,OpenAI SDK两次最小探针均HTTP429:当前测试Key分组上游饱和,随后停止。不能据此声称全站不可用;本地成功不能当作apizt上游或实扣成功。
- 只验既有1536维中文样本,三个固定查询命中不代表通用检索准确率。
- 没有进行新网关计费请求或后台账单核查。
2026-10-25 资料复核与操作补充
继续操作前,核对当前配置与执行范围
现有固定样本适合检查向量格式和来源映射。扩展自己的知识库时,可继续测试型号精确筛选与ACL预过滤;这些是检索/应用任务,不替代Embedding接口权限和维度验收。
原记录范围:原记录包含既有apizt向量响应的离线重放,具体日期见原回执;本轮未发起新的Embedding推理。 下列相邻实验各有自己的日期、模型和产物,不替代本篇客户端或协议的原生验收。
三条规则,三个不同问法
资料全部是虚构商店规则,只验接口与来源映射。问题没有照抄文档句子,用于检查不同中文表达能否对应相关资料;样本里没有无答案问题,因此不能证明拒答、事实回答或真实业务准确率。
| 来源 ID | 固定资料 | 测试问题 |
|---|---|---|
| shipping | 普通订单付款后两个工作日内发货;周末不处理 | 我周五晚上付款,什么时候寄出? |
| returns | 未拆封商品签收七天内可申请退货,先联系客服 | 没开封的东西收到三天了能退吗? |
| invoice | 订单完成后在订单页申请电子发票,填抬头和邮箱 | 发票在哪里申请? |
- 来源 ID
- shipping
- 固定资料
- 普通订单付款后两个工作日内发货;周末不处理
- 测试问题
- 我周五晚上付款,什么时候寄出?
- 来源 ID
- returns
- 固定资料
- 未拆封商品签收七天内可申请退货,先联系客服
- 测试问题
- 没开封的东西收到三天了能退吗?
- 来源 ID
- invoice
- 固定资料
- 订单完成后在订单页申请电子发票,填抬头和邮箱
- 测试问题
- 发票在哪里申请?
Embedding 使用独立路径和型号
Chat 连通不等于 Embedding 权限已验证,目录声明也不能替代实际请求。OpenAI 官方提供部分模型的 dimensions 参数,但本次未发送或测试该字段,不据此承诺 apizt 的全部渠道能缩维。首次用默认维度,查完真实返回再建索引。
| 字段 | 本次实际请求 | 边界 |
|---|---|---|
| URL | https://api.apizt.com/v1/embeddings | 不是 /chat/completions |
| model | text-embedding-3-small | 只证明此型号的本次请求 |
| input | 文档 3 段 + 查询 3 段,字符串数组 | 短文本批量,不是最大批量测试 |
| encoding_format | float | 实际返回数值数组;未测 base64 |
| dimensions | 没有发送 | 1536 是本次默认输出;缩维透传未测 |
| Authorization | Bearer 后接自己的 Key | 只留在应用服务端的运行环境 |
- 字段
- URL
- 本次实际请求
- https://api.apizt.com/v1/embeddings
- 边界
- 不是 /chat/completions
- 字段
- model
- 本次实际请求
- text-embedding-3-small
- 边界
- 只证明此型号的本次请求
- 字段
- input
- 本次实际请求
- 文档 3 段 + 查询 3 段,字符串数组
- 边界
- 短文本批量,不是最大批量测试
- 字段
- encoding_format
- 本次实际请求
- float
- 边界
- 实际返回数值数组;未测 base64
- 字段
- dimensions
- 本次实际请求
- 没有发送
- 边界
- 1536 是本次默认输出;缩维透传未测
- 字段
- Authorization
- 本次实际请求
- Bearer 后接自己的 Key
- 边界
- 只留在应用服务端的运行环境
最小单条请求结构 · 需用自己的 Key 执行
{
"model": "text-embedding-3-small",
"input": ["演示商店电子发票在订单完成后从订单页面申请。"],
"encoding_format": "float"
}先检查返回,再让向量进入索引
下载检查器发现错模型、重复 index、维度变化、NaN 或零向量会停止。文档片段应同时保存原文和来源标识,后面生成答案时仍要核对引用是否支持结论。向量检索只找相关资料,不生成答案。
- data 数量必须与 input 数量一致,data[].index 必须唯一且覆盖全部原始位置。
- 按 index 还原输入顺序,不能假定返回数组顺序就是来源顺序。
- 每个 embedding 非空,维度一致,数值有限且不是零向量。
- 来源 ID 来自本地文档映射,不由向量或 Chat 模型重建。
- 同一索引的文档向量与查询向量采用同一模型、维度和文本处理规则。
实际结果:六个向量,三个问题正确命中
实际请求于 2026-10-08 发出,HTTP 200,接口响应耗时约 6.08 秒;该耗时只是一条记录,不能用于通用性能比较。usage 为 prompt_tokens=139、total_tokens=139。后台已按测试令牌、型号、完成时间与输入 token 匹配费用记录,费用列显示 USD 0.000000(六位小数)。金额低于显示精度,精确金额未确认,因此 billed_usd 保留 null;显示为零不代表免费。
公开记录包含请求、响应、维度和费用匹配边界;该结果只覆盖本次请求,没有证明所有令牌分组、长文、多语言或框架部署均可用。
| 问题 | 首位来源 | 本地余弦 | 固定样本验收 |
|---|---|---|---|
| 周五晚上付款什么时候寄出 | shipping | 0.504198 | 通过 |
| 未开封签收三天能否退货 | returns | 0.573919 | 通过 |
| 发票在哪里申请 | invoice | 0.540021 | 通过 |
- 问题
- 周五晚上付款什么时候寄出
- 首位来源
- shipping
- 本地余弦
- 0.504198
- 固定样本验收
- 通过
- 问题
- 未开封签收三天能否退货
- 首位来源
- returns
- 本地余弦
- 0.573919
- 固定样本验收
- 通过
- 问题
- 发票在哪里申请
- 首位来源
- invoice
- 本地余弦
- 0.540021
- 固定样本验收
- 通过
下载后重放,不产生新请求
检查器使用 Python 标准库,读取已保存的真实向量,输出各问题全部来源排名。没有 Key、网络访问或再次付费调用。排序结果验证固定三问;要评估自己的知识库,需要加入同义、无答案、相近文档和否定条件等独立样本。
四个文件放到同一目录后执行
python3 check-retrieval.py embedding \
embedding-request.json embedding-response.json knowledge-fixture.json换模型或维度,用新索引重新验收
同维度不等于同向量空间。换模型、渠道处理或文本前缀后,先在新索引重建并抽样比较,旧索引保留到回归通过;不要截断数组来凑数据库维度。最大输入、批量和并发依据目标服务实际限制,短文本成功不代表长文或全部参数可用。
| 记录 | 为什么要保留 | 迁移时处理 |
|---|---|---|
| model / dimension / encoding | 确定向量空间与存储结构 | 新模型重新生成文档与查询向量 |
| distance / normalization | 确定相似度计算规则 | 查询与文档采用一致规则 |
| chunk / prefix / text revision | 确定输入处理方式 | 资料变化后更新对应片段 |
| source_id / source text | 检索与引用能回查 | 保留原文和稳定来源 |
- 记录
- model / dimension / encoding
- 为什么要保留
- 确定向量空间与存储结构
- 迁移时处理
- 新模型重新生成文档与查询向量
- 记录
- distance / normalization
- 为什么要保留
- 确定相似度计算规则
- 迁移时处理
- 查询与文档采用一致规则
- 记录
- chunk / prefix / text revision
- 为什么要保留
- 确定输入处理方式
- 迁移时处理
- 资料变化后更新对应片段
- 记录
- source_id / source text
- 为什么要保留
- 检索与引用能回查
- 迁移时处理
- 保留原文和稳定来源
怎样确认已经完成
- 自己的令牌能调用准确 Embedding 型号与路径。
- 返回 index 完整、数值有限、维度与新索引一致。
- 固定来源三问重放通过,并补自己的无答案测试。
- 文档和查询使用同一向量空间及处理规则。
- API usage 与实际账单分开回查。
常见问题
Embedding 型号可以像 Chat 一样返回文字答案吗?
它返回数值向量,用来检索相关资料。生成答案需要另一个 Chat 请求,并把检索片段与来源带入上下文。
本次 1536 维能代表全部型号吗?
不能。它是 text-embedding-3-small 的这次默认输出;其他型号、缩维或原生协议需分别验证。
下载重放还会扣费吗?
离线检查器只读取已保存文件,不调用 API。你另外执行新的向量请求才会产生相应实际用量。
