Skip to content

iter_retrieve async

iter_retrieve(
    knowledge_base_id: KnowledgeBaseIdentifier,
    retrieval_query: KnowledgeBaseQuery,
    *,
    config_overrides: Optional[AsyncBedrockAgentRuntimeClientConfig] = None,
    retrieval_configuration: Optional[KnowledgeBaseRetrievalConfiguration] = None,
    guardrail_configuration: Optional[GuardrailConfiguration] = None,
    next_token: Optional[NextToken] = None,
    user_context: Optional[UserContext] = None,
) -> AsyncIterator[KnowledgeBaseRetrievalResult]
Source code in docs_src/capo_bedrock_agent_runtime/_services/async_bedrock_agent_runtime.py
async def iter_retrieve(
    self,
    knowledge_base_id: "capo_bedrock_agent_runtime.types.knowledge_base_identifier.KnowledgeBaseIdentifier",
    retrieval_query: "capo_bedrock_agent_runtime.types.knowledge_base_query.KnowledgeBaseQuery",
    *,
    config_overrides: Optional[AsyncBedrockAgentRuntimeClientConfig] = None,
    retrieval_configuration: Optional[
        "capo_bedrock_agent_runtime.types.knowledge_base_retrieval_configuration.KnowledgeBaseRetrievalConfiguration"
    ] = None,
    guardrail_configuration: Optional[
        "capo_bedrock_agent_runtime.types.guardrail_configuration.GuardrailConfiguration"
    ] = None,
    next_token: Optional[
        "capo_bedrock_agent_runtime.types.next_token.NextToken"
    ] = None,
    user_context: Optional[
        "capo_bedrock_agent_runtime.types.user_context.UserContext"
    ] = None,
) -> "AsyncIterator[capo_bedrock_agent_runtime.types.knowledge_base_retrieval_result.KnowledgeBaseRetrievalResult]":
    _token = next_token
    while True:
        _response = await self.retrieve(
            knowledge_base_id,
            retrieval_query,
            config_overrides=config_overrides,
            retrieval_configuration=retrieval_configuration,
            guardrail_configuration=guardrail_configuration,
            next_token=_token,
            user_context=user_context,
        )
        _page = _resolve_path(_response, ("retrieval_results",))
        for _item in _page or []:
            yield _item
        _token = _resolve_path(_response, ("next_token",))
        if not _token:
            break