_reduce_tokens_below_limit() — langchain Function Reference
Architecture documentation for the _reduce_tokens_below_limit() function in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 0ec6d3c8_c314_4625_083f_9ddc0dfb409c["_reduce_tokens_below_limit()"] 1c559a69_197e_d647_5f47_79dc8fa4a648["ConversationalRetrievalChain"] 0ec6d3c8_c314_4625_083f_9ddc0dfb409c -->|defined in| 1c559a69_197e_d647_5f47_79dc8fa4a648 8e932862_cc2c_8a91_ae17_87d023efcca7["_get_docs()"] 8e932862_cc2c_8a91_ae17_87d023efcca7 -->|calls| 0ec6d3c8_c314_4625_083f_9ddc0dfb409c a4ebed9c_c61f_770b_661e_da8b990ad251["_aget_docs()"] a4ebed9c_c61f_770b_661e_da8b990ad251 -->|calls| 0ec6d3c8_c314_4625_083f_9ddc0dfb409c style 0ec6d3c8_c314_4625_083f_9ddc0dfb409c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain/langchain_classic/chains/conversational_retrieval/base.py lines 389–405
def _reduce_tokens_below_limit(self, docs: list[Document]) -> list[Document]:
num_docs = len(docs)
if self.max_tokens_limit and isinstance(
self.combine_docs_chain,
StuffDocumentsChain,
):
tokens = [
self.combine_docs_chain.llm_chain._get_num_tokens(doc.page_content) # noqa: SLF001
for doc in docs
]
token_count = sum(tokens[:num_docs])
while token_count > self.max_tokens_limit:
num_docs -= 1
token_count -= tokens[num_docs]
return docs[:num_docs]
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does _reduce_tokens_below_limit() do?
_reduce_tokens_below_limit() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/chains/conversational_retrieval/base.py.
Where is _reduce_tokens_below_limit() defined?
_reduce_tokens_below_limit() is defined in libs/langchain/langchain_classic/chains/conversational_retrieval/base.py at line 389.
What calls _reduce_tokens_below_limit()?
_reduce_tokens_below_limit() is called by 2 function(s): _aget_docs, _get_docs.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free