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

LlamaIndex/GPTIndex中如何控制查询返回的响应数量

LlamaIndex/GPTIndex中如何控制查询返回的响应数量

嘿,这个问题很好解决!你现在每次查询都得到2个响应,本质是因为LlamaIndex默认的检索逻辑只会从索引里选出最相关的2个文档,生成的回答自然也围绕这两个内容展开。要调整返回的响应/相关内容数量,分两种常见场景来处理:


场景1:想基于更多相关文档生成更全面的单个回答

这种情况直接修改as_query_engine()的similarity_top_k参数就行,它控制检索阶段返回的最相似文档数量,默认值是2,你改成需要的数字(比如5)就可以:

def ask_question(index, query):
    # 设置similarity_top_k为你想要的数量,这里示例设为5
    query_engine = index.as_query_engine(similarity_top_k=5)
    response = query_engine.query(query)
    return response

修改后,查询引擎会先找出最相关的5个文档,再基于这些内容生成回答,你会看到回答里包含更多来自不同文档的参考信息。


场景2:想生成多个独立的不同回答

如果你的需求是得到多个针对同一问题的独立回答(而不是基于更多文档的单个回答),可以用MultiQueryQueryEngine,它会自动生成多个不同角度的查询,然后返回对应的多个独立结果:

from llama_index.query_engine import MultiQueryQueryEngine

def ask_question(index, query):
    # 创建MultiQueryQueryEngine,设置生成的查询/回答数量,示例设为3
    query_engine = MultiQueryQueryEngine.from_defaults(
        query_engine=index.as_query_engine(),
        num_queries=3
    )
    response = query_engine.query(query)
    return response

这样调用后,你会得到3个不同的回答,每个回答从不同的文档或角度来回应你的问题。

备注:内容来源于stack exchange,提问作者piedpiper

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:43:12