这一档模型的参数意味着什么
这一档模型,如 glm-4.1v-thinking-flashx 和 glm-4.1v-thinking-flash,具备 64000 的上下文长度,决定了单次交互中可处理的总输入信息量。引用上限为 60000 token,这是模型在生成回答时可以参考的检索内容的总预算。这意味着模型会根据这个上限,智能截取或合并检索到的段落。单次最大输出虽然未明确标注,但通常会根据模型能力和应用场景动态调整。图片输入功能的存在允许模型处理视觉信息,而工具调用能力的缺失则表明其不直接支持通过外部工具扩展能力。
配 PostgreSQL(pgvector) 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
PG_URL | postgresql://user:password@host:port/database | 数据库连接的通用格式,确保 FastGPT 能正确连接。 |
ef_construction | 64 或 128 | 构建 HNSW 索引时,邻居节点的数量,影响索引质量与构建时间。 |
ef_search | 32 或 64 | 查询 HNSW 索引时,搜索范围的大小,影响召回率与查询速度。 |
m | 16 或 32 | HNSW 索引中每层最大连接数,影响索引大小和搜索效率。 |
vector_ip_ops | true | 启用内积距离计算,适用于某些嵌入模型。 |
max_connections | 100 或 200 | PostgreSQL 数据库的最大连接数,确保并发请求处理能力。 |
这两者互相约束的地方
模型 64000 的上下文预算是总容量,它需要容纳用户提问、系统提示、以及从向量库召回的引用内容。当从 PostgreSQL(pgvector)召回多条段落时,这些段落的总长度不应超过上下文预算。引用上限 60000 token 是模型在生成回答时,对引用内容本身可以使用的 token 预算。向量库返回的是固定数量的段落,而这些段落的总 token 数才是真正受引用上限约束的部分。因此,引用上限与向量库返回的段落数量之间没有直接的「条数」对应关系,而是由每段内容的实际 token 长度决定。调整 PostgreSQL(pgvector)的索引参数,如增大 ef_construction 和 ef_search,可以提升向量检索的精度和召回率,这意味着模型能获得更相关、更全面的引用内容,从而在相同的引用上限内,提升回答的质量。
容易做错的三处
- 日志中出现
connection refused错误:原因在于PG_URL配置的数据库地址、端口或认证信息不正确,导致 FastGPT 无法建立与 PostgreSQL 的连接。 - 检索结果数量远低于预期:原因可能是向量检索参数
ef_search设置过小,导致 HNSW 索引在查询时搜索范围不足,未能召回足够的相关段落。 - 模型回答内容与期望的引用信息关联度低:原因在于向量数据库中的数据质量不高,或者向量化模型与检索模型不匹配,导致语义相似度计算不准确。
怎么确认配好了
- 在 FastGPT 界面执行一次知识库问答,检查模型回答是否清晰引用了知识库中的内容,并查看日志中是否有 PostgreSQL 相关的查询记录。
- 通过 PostgreSQL 数据库监控工具,观察
pg_stat_activity表,确认 FastGPT 正在向数据库发送查询请求,并且连接池活跃。 - 使用
EXPLAIN ANALYZE命令对 PostgreSQL 数据库中的向量查询进行分析,确认 HNSW 索引正在被有效利用,并且查询耗时在可接受范围内。 - 在 FastGPT 的管理后台,查看知识库的召回日志,确认每次查询返回的段落数量符合预期,并且这些段落的内容与用户提问高度相关。