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

基于LangChain RAG的图书推荐系统:仅返回书名而非完整句问题

解决RAG图书推荐系统仅返回书名的问题

问题核心

当前使用google/flan-t5-base轻量模型搭建的RAG系统,因prompt指令约束不足、模型参数限制,导致仅返回书名,无法生成带描述的完整语句。

优化方案

1. 强化Prompt指令

调整prompt为更明确的分步要求,降低模型理解成本:

prompt_template = """
基于给定的图书上下文信息,完成以下任务:
1. 找出与《杀死一只知更鸟》题材、内容最相似的图书(排除自身)
2. 用完整句子输出该图书的全名
3. 详细描述两本书在题材、主题或核心内容上的相似之处

问题:{question}
上下文:{context}
"""
prompt = PromptTemplate(template=prompt_template, input_variables=["context", "question"])
  • 拆解任务为具体步骤,明确要求输出完整语句;
  • 限定输出内容的维度(题材、主题、内容),避免模型仅返回关键词。

2. 调整模型生成参数

适当增大输出长度限制,微调温度参数提升输出丰富度:

llm = HuggingFaceHub(
    repo_id="google/flan-t5-base",
    model_kwargs={
        "temperature": 0.7,  # 适度提高温度增加输出多样性
        "max_length": 800,
        "max_new_tokens": 300  # 增大生成token数,确保能容纳完整描述
    }
)

3. 额外优化建议

  • 检查texts中的图书数据是否包含完整的题材、描述信息,上下文信息缺失会导致模型无法生成有效描述;
  • 尝试替换chain_type="stuff"为"map_reduce",当检索到的上下文内容较多时,分块处理后再整合结果,提升输出质量;
  • 若flan-t5-base效果仍不理想,可尝试同系列更大模型(如google/flan-t5-large),但需注意资源消耗。

内容的提问来源于stack exchange,提问作者Mrunmayee Dhapre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:02:20