这一档模型的参数意味着什么
OpenAI 128K 上下文这一档模型,包含 gpt-4o-mini 和 gpt-4o。其 128000 的上下文长度决定了单次请求中模型可以处理的最大输入文本量,包括用户提问、历史对话和知识库召回内容。60000 的引用上限意味着模型在生成回复时,可以参考的知识库段落总token量上限。图片输入能力允许模型直接处理图像信息,拓展了多模态应用场景。工具调用能力则使得模型能够根据指令执行外部函数或 API,实现更复杂的自动化流程。
配 OceanBase 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OCEANBASE_URL | mysql://user:pass@host:port/database | OceanBase 基于 MySQL 协议兼容,此 URL 用于建立数据库连接。 |
ef_construction | 64 | HNSW 索引构建参数,影响索引质量和构建时间。此值在查询性能与索引大小间取得平衡。 |
m | 16 | HNSW 索引参数,控制每个节点的最大邻居数量。此值有助于在召回精度和内存消耗间平衡。 |
| 召回条数 | 10-20 条 | 结合模型引用上限与单段长度,避免超出上下文预算。 |
| 单段长度 | 800-1200 字符 | 经验值,便于模型理解单段语义,同时控制总Token数。 |
| 索引类型 | HNSW | HNSW 在高维向量搜索中表现出良好的性能和召回率。 |
这两者互相约束的地方
模型上下文长度与 OceanBase 的召回策略存在紧密关联。召回条数与每段长度的乘积必须小于模型的上下文预算,否则过多的召回内容将被截断或导致模型无法处理。例如,若召回 20 条,每条 1000 字符,总计 20000 字符,远低于 128000 的上下文长度,留有充足空间给用户输入和历史对话。引用上限 60000 token 是模型可以实际引用的知识库内容上限,即使 OceanBase 返回的召回条数很多,模型也只会处理不超过此上限的部分。向量库的 ef_construction 和 m 参数调大,通常能提升召回精度,但也可能增加查询延迟。对于 gpt-4o 这类对实时性有一定要求的模型,需要在精度和延迟之间找到一个平衡点。SEEKDB 与 OceanBase 共用一套控制器,配置口径保持一致,在配置时可参考 OceanBase 的参数。
容易做错的三处
OCEANBASE_URL连接失败:日志显示Can't connect to MySQL server。原因可能是 URL 格式错误、端口不正确或数据库服务未启动。- 召回结果为空:RAG 链返回的知识库引用为空。原因可能是向量索引未正确构建,或查询向量与知识库向量距离过大,导致召回条数不足。
- 引用内容超出上限:模型报错
Context window exceeded。原因通常是召回条数过多或单段长度过长,导致知识库内容总Token数超出模型引用上限 60000。
怎么确认配好了
- 检查
OCEANBASE_URL连接状态:通过 FastGPT 管理界面或日志查看数据库连接是否成功建立。 - 执行一次 RAG 查询:观察 FastGPT 返回的回复中是否包含知识库引用,并核对引用内容与原始知识库段落是否一致。
- 逐步增加召回条数与单段长度:在确保回复质量的前提下,通过多次测试,找到在模型上下文预算内的最大有效召回配置。
- 监控查询延迟:在生产环境中,观察向量搜索的平均响应时间,确保其在可接受范围内,避免影响用户体验。