def _join_chunks()

in google/generativeai/types/generation_types.py [0:0]


def _join_chunks(chunks: Iterable[protos.GenerateContentResponse]):
    chunks = tuple(chunks)
    if "usage_metadata" in chunks[-1]:
        usage_metadata = chunks[-1].usage_metadata
    else:
        usage_metadata = None

    if "model_version" in chunks[-1]:
        model_version = chunks[-1].model_version
    else:
        model_version = None

    return protos.GenerateContentResponse(
        candidates=_join_candidate_lists(c.candidates for c in chunks),
        prompt_feedback=_join_prompt_feedbacks(c.prompt_feedback for c in chunks),
        usage_metadata=usage_metadata,
        model_version=model_version,
    )