llama_index [问题]:有没有办法将Node后处理器集成到函数调用代理中?

vhmi4jdf  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(59)

问题验证

  • 我已在文档和Discord中寻找答案。

问题

大家好,
有人成功地将Node Postprocessor集成到Function Calling Agent中了吗?
我研究了文档和源代码。似乎Node Postprocessor仅适用于Query Engine。

yx2lnoni

yx2lnoni1#

@ryann-sportsbet 你好!我在这里帮助你解决bug、问题以及成为贡献者。让我们一起解决这个谜题吧!🤖
是的,将Node后处理器纳入Function Calling Agent(查询引擎)是可能的。以下是如何将SimilarityPostprocessor添加到RetrieverQueryEngine的示例:

from llama_index.core import VectorStoreIndex, get_response_synthesizer
from llama_index.core.retrievers import VectorIndexRetriever
from llama_index.core.query_engine import RetrieverQueryEngine
from llama_index.core.postprocessor import SimilarityPostprocessor

# build index
index = VectorStoreIndex.from_documents(documents)

# configure retriever
retriever = VectorIndexRetriever(
    index=index,
    similarity_top_k=10,
)

# configure response synthesizer
response_synthesizer = get_response_synthesizer()

# assemble query engine
query_engine = RetrieverQueryEngine(
    retriever=retriever,
    response_synthesizer=response_synthesizer,
    node_postprocessors=[SimilarityPostprocessor(similarity_cutoff=0.7)],
)

# query
response = query_engine.query("What did the author do growing up?")
print(response)

此示例演示了成功地将SimilarityPostprocessor纳入RetrieverQueryEngine1(https://github.com/run-llama/llama_index/blob/main/docs/docs/understanding/querying/querying.md)。

  • 要继续与Dosu交流,请提及@dosu。*
xjreopfe

xjreopfe2#

你给代理的工具是什么?如果是查询引擎,你可以在那里提供节点后处理器。如果它是其他东西,只需创建一个 FunctionTool 并在其中调用所需的处理程序。

相关问题