模型指南官方文档4 分钟阅读模型组合页

ChatGLM 16K 上下文 这一档模型配 PostgreSQL(pgvector) 的配置口径

`glm-4v-plus` 模型拥有 16000 的上下文长度,表明它单次请求能处理的总令牌数。引用上限 12000 意味着在 RAG 场景中,知识库召回的内容最大不能超过这个限制。图片输入 `true` 开启了多模态能力,允许在对话中注入图像信息。单次最大输出未标注,通常表示模型会根据输入和上下文

这一档模型的参数意味着什么

glm-4v-plus 模型拥有 16000 的上下文长度,表明它单次请求能处理的总令牌数。引用上限 12000 意味着在 RAG 场景中,知识库召回的内容最大不能超过这个限制。图片输入 true 开启了多模态能力,允许在对话中注入图像信息。单次最大输出未标注,通常表示模型会根据输入和上下文动态生成回复,但受限于总上下文长度。工具调用 false 则说明此模型版本不直接支持通过模型决策来调用外部工具,需要外部 Agent 框架进行编排。这些参数共同构成了模型在工程实践中的能力边界和资源需求。

配 PostgreSQL(pgvector) 要定哪些

配置项建议取法这样取的依据
PG_URLpostgresql://user:password@host:port/databaseFastGPT 连接 PostgreSQL 数据库的标准格式,确保网络可达。
ef_construction64HNSW 索引构建参数,影响索引质量和构建速度。64 在查询性能和索引大小之间取得平衡,适合中等规模数据集。
ef_search32HNSW 索引查询参数,影响查询召回率。32 通常能提供良好的召回性能,且不过度增加查询时间。
m32HNSW 索引的邻居数量参数,影响索引的内存占用和查询精度。32 是 pgvector 默认值,在多数场景下表现良好。
vector_ip_opstrue使用内积距离计算向量相似度,适用于大多数嵌入模型,与 pgvector 的默认行为保持一致。
召回条数5–8 条结合模型引用上限和单条知识长度,避免一次性召回过多冗余信息。

这两者互相约束的地方

glm-4v-plus 模型的 16000 上下文长度和 12000 的引用上限,直接限制了从 pgvector 召回并传递给模型的内容总量。知识库召回的条数乘以每条知识的平均长度,必须严格控制在 12000 令牌的引用上限之内,否则模型会因输入过长而截断或报错。同时,pgvector 的 ef_search 参数决定了向量检索的召回条数,这个参数设置得过小可能导致高质量知识被遗漏,过大则会增加查询时间,并可能超出模型的引用上限。当 ef_search 调大时,pgvector 会在 HNSW 图中探索更多邻居节点以提高召回率,但这会增加查询延迟,并可能向模型提交更多冗余信息,消耗模型的上下文预算。因此,需要权衡召回质量与模型处理能力,确保两者协同工作。

容易做错的三处

  • 知识库问答时模型回复“抱歉,我无法回答这个问题”,原因可能是 pgvector 召回的向量与问题相关性不足或召回条数过少。
  • FastGPT 日志中出现“输入内容过长,已截断”的警告,原因是 pgvector 召回的知识内容总长度超过了 glm-4v-plus 的引用上限。
  • 查询等待时间过长,甚至出现超时错误,原因可能是 pgvector 的 ef_search 参数设置过大,导致索引查询效率低下。

怎么确认配好了

  • 对典型问题进行多轮对话测试,观察模型回答是否准确、流畅,并能有效引用知识库内容。
  • 检查 FastGPT 的日志输出,确认没有出现“输入内容过长”或“上下文超出”等相关错误信息。
  • 在 pgvector 数据库中执行 EXPLAIN ANALYZE 命令,分析向量查询语句的执行计划和耗时,确保查询效率在可接受范围内。
  • 通过 FastGPT 界面查看每次召回的知识条数和内容,确保其符合预期,且总长度未超出模型引用上限。

参考资料