一位通过 Ollama(配合 FastAPI 和 Qdrant)部署 Llama 3.1:8b-instruct-q4_K_M 以用于西班牙语语音和 WhatsApp 代理的开发人员,发现了三个与模型在多轮对话中如何处理注入上下文相关的问题。
- 在对话中途插入第二条系统消息导致模型响应了注入的指令,而不是静默吸收它,从而导致对话历史丢失;将所有动态上下文移至初始系统消息解决了此问题。
- 当检索到的 RAG 块是长段落或非结构化段落时,模型有时会拒绝回答,将参考资料视为用户的问题而非实际查询。
- 将对话历史限制为最后六条消息导致在较长调用中出现“失忆”;将 num_ctx 提高到 4096 并将窗口扩大到 16 轮修复了此问题。
作者正在寻求确认,这些行为是否是 Llama 3.1 指令微调或 Ollama 聊天模板的已知限制,特别是关于处理多个系统角色和长上下文块的情况。