置中間件(一)SummarizationMiddleware和HumanInTheLoopMiddleware)
文章目錄1 模型初始化2 SummarizationMiddleware中間件2.1 參數(shù)說明2.1.1 參數(shù)1:model—用于摘要的模型2.1.2 參數(shù)2:trigger—摘要觸發(fā)條件2.1.3 參數(shù)3:keep—摘要時保留的原始消息2.1.4 參數(shù)4:token_counter—統(tǒng)計token數(shù)量的函數(shù)2.1.5 參數(shù)5:summary_prompt—摘要時的自定義提示詞2.1.6 參數(shù)6:trim_token_to_summarize—摘要時歷史消息的最大token數(shù)2.2 示例一(測試trigger和keep參數(shù))2.3 示例二(測試summary_prompt參數(shù))3 HumanInTheLoopMiddleware中間件3.1 參數(shù)說明3.1.1 參數(shù)1:interrupt_on—工具名和中斷策略的映射3.1.2 參數(shù)2:description_prefix—自定義中斷描述3.2 舉例3.2.1舉例過程1(調(diào)用前中斷)3.2.2 舉例過程2(指明工具調(diào)用請求決策)SummarizationMiddleware中間件,對歷史消息列表進行摘要總結(jié) ,達到壓縮上下文的效果。HumanInTheLoopMiddleware(人在環(huán)中間件、人工審核中間件)在工具調(diào)用前中斷Agent運行,等待用戶對工具調(diào)用請求決策。1 模型初始化from langchain_openaiimportChatOpenAI from dotenvimportload_dotenvimportos load_dotenv(override=True)#通過ChatOpenAI 連接模型API_KEY=os.getenv("API_KEY")BASE_URL