这一档模型的参数意味着什么
InternLM 32K 上下文模型档位,包含 internlm2-pro-chat 和 internlm3-8b-instruct。上下文长度为 32000 标识着模型单次处理文本的最大令牌数,这直接决定了可以输入多少召回内容。引用上限 32000 意味着在知识库检索场景中,模型能够处理的引用段落总令牌数上限。单次最大输出未标注,通常表示模型可以根据输入长度和内部逻辑灵活生成较长回答。工具调用为 true,表明该档模型支持 Function Calling,可以与外部工具集成以扩展能力。图片输入为 false,则表示模型不具备多模态图像理解能力。
配 OceanBase 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OCEANBASE_URL | ob_user:ob_password@tcp(ob_host:ob_port)/ob_database | 标准 MySQL 协议连接字符串,用于建立与 OceanBase 数据库的连接。 |
ef_construction | 100–200 | HNSW 索引构建参数,影响索引质量和构建速度,数值越大,搜索精度越高但索引构建时间越长。 |
m | 16 | HNSW 索引参数,控制每个节点的最大邻居数,影响召回率和内存消耗。 |
top_k | 32 | 向量检索返回的相似向量数量,直接影响模型可引用的段落数量。 |
chunk_overlap | 128 字符 | 文本切片时相邻块的重叠部分,确保语义完整性,避免上下文丢失。 |
max_tokens_per_chunk | 800–1200 字符 | 单个文本块的最大令牌数,平衡召回粒度和模型输入限制。 |
这两者互相约束的地方
这一档模型上下文长度为 32000,是核心约束。知识库召回时,召回条数与每段文本长度的乘积必须小于此值,以确保所有召回内容能被模型完全接收。引用上限 32000 令牌,与模型的上下文长度协同工作,共同限制了模型在生成回复时可引用的知识库内容总量。在 OceanBase 中,top_k 参数决定了向量库返回的段落数量,这个值不应超过模型引用上限的实际需求,避免不必要的计算资源浪费。当 OceanBase 的索引参数 ef_construction 或 m 调大时,向量检索的精度通常会提升,这可能导致召回的段落质量更高,但同时也会增加索引构建的时间和查询延迟。高质量的召回能更好地利用模型的上下文处理能力,提供更准确的回答。
容易做错的三处
- 日志显示
Error 1045 (28000): Access denied for user...:连接 OceanBase 时用户名或密码错误。 - 界面上知识库问答返回结果为空或不相关:
top_k设置过小,导致召回的有效段落不足,或者向量索引质量ef_construction过低。 - 模型回答频繁截断且提示
Context window exceeded:召回的文本总长度超过了 32000 的上下文限制。
怎么确认配好了
- 在 FastGPT 知识库管理界面上传文档,观察向量嵌入和索引构建是否成功,没有报错信息。
- 使用 FastGPT 的知识库测试功能,输入测试问题,检查返回的召回段落数量与
top_k设置是否一致。 - 通过 FastGPT 的调试模式,观察模型实际接收的输入令牌数,确认其未超过 32000 上下文限制。
- 在 OceanBase 数据库中,通过
SHOW CREATE TABLE命令检查向量表的索引定义,确认ef_construction和m参数是否按预期配置。