fix: 修复【应用编排】多路召回设置了引用分段5个,但是实际还是引用了3个
This commit is contained in:
parent
2d8422292c
commit
264a7309f7
@ -47,14 +47,15 @@ class BaseRerankerNode(IRerankerNode):
|
|||||||
def execute(self, question, reranker_setting, reranker_list, reranker_model_id,
|
def execute(self, question, reranker_setting, reranker_list, reranker_model_id,
|
||||||
**kwargs) -> NodeResult:
|
**kwargs) -> NodeResult:
|
||||||
documents = merge_reranker_list(reranker_list)
|
documents = merge_reranker_list(reranker_list)
|
||||||
|
top_n = reranker_setting.get('top_n', 3)
|
||||||
self.context['document_list'] = documents
|
self.context['document_list'] = documents
|
||||||
self.context['question'] = question
|
self.context['question'] = question
|
||||||
reranker_model = get_model_instance_by_model_user_id(reranker_model_id,
|
reranker_model = get_model_instance_by_model_user_id(reranker_model_id,
|
||||||
self.flow_params_serializer.data.get('user_id'))
|
self.flow_params_serializer.data.get('user_id'),
|
||||||
|
top_n=top_n)
|
||||||
result = reranker_model.compress_documents(
|
result = reranker_model.compress_documents(
|
||||||
[Document(page_content=document) for document in documents if document is not None and len(document) > 0],
|
[Document(page_content=document) for document in documents if document is not None and len(document) > 0],
|
||||||
question)
|
question)
|
||||||
top_n = reranker_setting.get('top_n', 3)
|
|
||||||
similarity = reranker_setting.get('similarity', 0.6)
|
similarity = reranker_setting.get('similarity', 0.6)
|
||||||
max_paragraph_char_number = reranker_setting.get('max_paragraph_char_number', 5000)
|
max_paragraph_char_number = reranker_setting.get('max_paragraph_char_number', 5000)
|
||||||
r = filter_result(result, max_paragraph_char_number, top_n, similarity)
|
r = filter_result(result, max_paragraph_char_number, top_n, similarity)
|
||||||
|
|||||||
@ -26,7 +26,7 @@ class XInferenceReranker(MaxKBBaseModel, BaseDocumentCompressor):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def new_instance(model_type, model_name, model_credential: Dict[str, object], **model_kwargs):
|
def new_instance(model_type, model_name, model_credential: Dict[str, object], **model_kwargs):
|
||||||
return XInferenceReranker(server_url=model_credential.get('server_url'), model_uid=model_name,
|
return XInferenceReranker(server_url=model_credential.get('server_url'), model_uid=model_name,
|
||||||
api_key=model_credential.get('api_key'))
|
api_key=model_credential.get('api_key'), top_n=model_kwargs.get('top_n', 3))
|
||||||
|
|
||||||
top_n: Optional[int] = 3
|
top_n: Optional[int] = 3
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user