这一档模型的参数意味着什么
SparkDesk 8K 上下文这一档模型,其上下文长度为 8000 token,这决定了单次请求中可供模型处理的总信息量上限。引用上限同样为 8000 token,这意味着用于填充引用内容的 token 预算是 8000。段落条数由检索侧的返回条数决定,两者是不同的量。单次最大输出未标注,通常表示模型会根据上下文和请求生成尽可能长的回复,但会受到整体上下文长度的隐性限制。该档模型不支持图片输入和工具调用,因此基于这些功能的 RAG 链路无法直接使用。
配 OceanBase 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OCEANBASE_URL | jdbc:mysql://<host>:<port>/<database>?user=<user>&password=<password> | 连接到 OceanBase 数据库实例的 JDBC URL 格式,确保正确指向目标数据库和认证信息。 |
ef_construction | 100-200 | 构建 HNSW 索引时,控制图的连接性,更高的值通常带来更好的召回质量,但索引构建时间更长。 |
m | 16 | HNSW 索引中,每个节点的最大连接数,影响召回性能和内存占用,16 是一个常用的平衡值。 |
recall_num | 3-5 | 向量检索时,从 OceanBase 返回的初始向量条数,用于下游重排序或直接作为引用内容。 |
segment_length | 500-800 字符 | 文本切片时,每个段落的理想长度,兼顾语义完整性和模型上下文预算。 |
这两者互相约束的地方
SparkDesk 8K 上下文模型与 OceanBase 向量库的配合,核心在于如何有效利用模型的上下文预算。召回条数与每段长度的乘积必须小于或等于模型的上下文预算 8000 token。引用上限按 token 计,向量库返回的按条数计,谁先触顶取决于每段内容的平均 token 长度。如果每段内容较短,可能在达到引用上限的 token 数之前,就已经返回了大量段落;反之,若每段内容较长,则可能在返回少量段落后,引用上限的 token 数就已用尽。索引参数 ef_construction 和 m 调大之后,OceanBase 的召回质量会提升,这意味着模型能获得更相关的上下文,从而提高回答质量,但同时可能增加索引构建和查询的延迟。
容易做错的三处
- RAG 响应中引用内容为空:原因在于向量库检索返回的条数过少,或者检索结果与模型输入格式不兼容。
- 模型返回
Context window exceeded错误:原因在于召回的段落总 token 数加上用户输入和系统指令,超过了 8000 token 的上下文长度。 - 检索结果与用户问题不相关:原因在于向量索引参数
ef_construction或m设置过低,导致召回精度不足,或文本切片粒度不当。
怎么确认配好了
- 执行一次完整的 RAG 流程,检查 FastGPT 控制台的「引用内容」区域,确认 OceanBase 返回了预期数量且内容相关的段落。
- 监控 FastGPT 发送给 SparkDesk 模型的 API 请求负载,确保
messages字段的总 token 数在 8000 token 上限内。 - 通过 FastGPT 的检索测试功能,针对不同类型的用户问题,验证 OceanBase 向量库的召回结果,评估其相关性是否达到业务要求。
- 在 FastGPT 知识库管理页面,检查知识库分段的平均字符长度,确保其与预期
segment_length配置相符。