You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PromptTemplate嵌入字符串失败:related_info无法正常嵌入求助

解决ConversationChain中related_info无法嵌入PromptTemplate的问题

以下是针对性的排查和解决步骤:

  • 检查PromptTemplate的变量定义与占位符匹配度
    确保模板文本中使用的占位符{related_info}与input_variables列表中的名称完全一致(包括大小写),示例代码如下:

    from langchain.prompts import PromptTemplate
    
    prompt_template = """
    参考信息:
    {related_info}
    
    过往对话:
    {chat_history}
    
    用户提问:{input}
    请基于上述内容回答。
    """
    PROMPT = PromptTemplate(
        input_variables=["chat_history", "related_info", "input"],
        template=prompt_template
    )
    
  • 验证Chroma检索结果的有效性
    检索完成后立即打印related_info的内容,确认其不为空、不是None,且已转换为可嵌入的字符串格式:

    # 假设chroma_retriever是已初始化的检索器
    related_docs = chroma_retriever.get_relevant_documents(user_input)
    # 将Document对象列表转换为字符串
    related_info_str = "\n".join([doc.page_content for doc in related_docs])
    print("检索到的相关信息:", related_info_str)
    

    如果结果为空,需检查Chroma数据库是否正确存入数据、检索query是否合理,或调整向量匹配的相似度阈值。

  • 确认ConversationChain与自定义Prompt的绑定
    初始化Chain时必须传入自定义的PROMPT,而非使用默认模板,同时开启verbose模式以便查看完整提示词:

    from langchain.chains import ConversationChain
    from langchain.llms import OpenAI
    
    llm = OpenAI(temperature=0)
    conversation_chain = ConversationChain(
        llm=llm,
        prompt=PROMPT,
        verbose=True  # 开启后可在控制台查看拼接后的完整提示词
    )
    
  • 检查predict方法的参数传递
    调用predict时,参数名必须与PromptTemplate的input_variables严格匹配,不能出现拼写错误或漏传:

    response = conversation_chain.predict(
        chat_history="过往对话内容",
        related_info=related_info_str,
        input=user_input
    )
    
  • 排查内存组件的干扰
    如果使用了内存组件(如ConversationBufferMemory),确保内存不会覆盖related_info参数:

    from langchain.memory import ConversationBufferMemory
    
    memory = ConversationBufferMemory(
        input_key="input",
        memory_key="chat_history"
        # 不要将related_info加入内存管理的键列表
    )
    conversation_chain = ConversationChain(
        llm=llm,
        prompt=PROMPT,
        memory=memory,
        verbose=True
    )
    

内容的提问来源于stack exchange,提问作者Nao COMATSU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 18:57:15